[RESOLU] inscription.php - problème de redirection

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] inscription.php - problème de redirection

Re: inscription.php - problème de redirection

par Hyoshiko » 28 mai 2019, 13:53

Tu ne renseignes toujours pas la variable $_SESSION. :mrgreen:
J'ai également édité mon post précédent.
Oui je viens de re-modifier ahah :roll:
ça marche nickel mille mercis ! :mrgreen:
Je passe le sujet en résolu !

Re: inscription.php - problème de redirection

par Saian » 28 mai 2019, 13:51

Tu ne renseignes toujours pas la variable $_SESSION. :mrgreen:
J'ai également édité mon post précédent. Le petit exit après l'affichage de l'erreur, sinon t'auras pas le temps de la voir avant la redirection. Et le remplissage de la variable $_SESSION qui ne va pas se faire tout seul.

Re: inscription.php - problème de redirection

par Hyoshiko » 28 mai 2019, 13:44

Je viens de voir la modification de ton message et j'ai apporté les modifications donc j'ai remplacé ma function insert (); par celle que tu me proposes et j'ai rajouté du coup la function getError(); et remplacé l'enregistrement sur bdd par ta proposition ce qui donne :

Code : Tout sélectionner

... function __construct($host = null, $name = null, $user = null, $pass = null){ if($host != null){ $this->host = $host; $this->name = $name; $this->user = $user; $this->pass = $pass; } try{ $this->connexion = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->name, $this->user, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES UTF8', PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING)); }catch (PDOException $e){ echo 'Erreur : Impossible de se connecter à la BDD !'; die(); } } public function query($sql, $data = array()){ $req = $this->connexion->prepare($sql); $req->execute($data); return $req; } public function insert($sql, $data = array()){ $req = $this->connexion->prepare($sql); $req->execute($data); return $req->execute($data) ? $this->connexion->lastInsertId() : false; } public function getError() { return $this->connexion->errorInfo()[2]; } // Faire une connexion à votre fonction $DB = new connexionDB(); ?>

Code : Tout sélectionner

... // Vérification du mot de passe if(empty($mdp)) { $valid = false; $er_mdp = "Le mot de passe ne peut pas être vide"; }elseif($mdp != $confmdp){ $valid = false; $er_mdp = "La confirmation du mot de passe ne correspond pas"; } // Si toutes les conditions sont remplies alors on fait le traitement if($valid){ $mdp = crypt($mdp,'$6$rounds=5000$macleapersonnaliseretagardersecret$'); $date_creation_compte = date('Y-m-d H:i:s'); // On insert nos données dans la table utilisateur $id = $DB->insert('INSERT INTO utilisateur (nom, prenom, tel, mail, mdp, date_creation_compte) VALUES ( ?, ?, ?, ?, ?, ?)', array($nom, $prenom, $tel, $mail, $mdp, $date_creation_compte)); if (!$id) { echo 'Insert error : '.$DB->getError(); } header('Location: index.php'); exit; } } } ?>

Re: inscription.php - problème de redirection

par Saian » 28 mai 2019, 13:36

J'ai édité mon message précédent pour te proposer une petite gestion d'erreur.
Pour tes modifications qui ne fonctionnent pas, peux tu me montrer la modification que tu as apporté ? et éventuellement aussi le if qui conditionne l'affichage des boutons.

Parce qu'à priori il n'y pas de raison que ce code ne fonctionne pas :
if($valid){
  $mdp = crypt($mdp,'$6$rounds=5000$macleapersonnaliseretagardersecret$');
  $date_creation_compte = date('Y-m-d H:i:s');

  // On insert nos données dans la table utilisateur
  $id = $DB->insert('INSERT INTO utilisateur (nom, prenom, tel, mail, mdp, date_creation_compte) VALUES 
                    ( ?, ?, ?, ?, ?, ?)',
    array($nom, $prenom, $tel, $mail, $mdp, $date_creation_compte));

  if (!$id) {
    echo 'Insert error : '.$DB->getError();
    exit;
  }

  $_SESSION['id'] = $id;
  $_SESSION['nom'] = $nom;
  $_SESSION['prenom'] = $prenom;
  $_SESSION['tel'] = $tel;
  $_SESSION['mail'] = $mail;

  header('Location: index.php');
  exit;
}

Re: inscription.php - problème de redirection

par Hyoshiko » 28 mai 2019, 13:31

J'ai lu la doc PHP du coup et testé le bout de code mais ça me fait la même chose. Le truc que je comprends pas c'est que quand je tente de me connecter la redirection est nickel ... x_x je mets mon fichier connexion php si ça peut éclaircir quelque chose.

Code : Tout sélectionner

<?php session_start(); include('bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD // S'il y a une session alors on ne retourne plus sur cette page if (isset($_SESSION['id'])){ header('Location: index.php'); exit; } // Si la variable "$_Post" contient des informations alors on les traitre if(!empty($_POST)){ extract($_POST); $valid = true; if (isset($_POST['connexion'])){ $mail = htmlentities(strtolower(trim($mail))); $mdp = trim($mdp); if(empty($mail)){ // Vérification qu'il y ait bien un mail de renseigné $valid = false; $er_mail = "Il faut mettre un mail"; } if(empty($mdp)){ // Vérification qu'il y ait bien un mot de passe de renseigné $valid = false; $er_mdp = "Il faut mettre un mot de passe"; } // On fait une requête pour savoir si le couple mail / mot de passe existe bien car le mail est unique ! $req = $DB->query("SELECT * FROM utilisateur WHERE mail = ? AND mdp = ?", array($mail, crypt($mdp, '$6$rounds=5000$macleapersonnaliseretagardersecret$'))); // array($mail, crypt($mdp, "VOTRE CLÉ UNIQUE DE CRYPTAGE DU MOT DE PASSE"))); $req = $req->fetch(); // Si on a pas de résultat alors c'est qu'il n'y a pas d'utilisateur correspondant au couple mail / mot de passe if (!isset($req['id'])){ $valid = false; $er_mail = "Le mail ou le mot de passe est incorrecte"; }elseif($req['n_mdp'] == 1){ // On remet à zéro la demande de nouveau mot de passe s'il y a bien un couple mail / mot de passe $DB->insert("UPDATE utilisateur SET n_mdp = 0 WHERE id = ?", array($req['id'])); } // S'il y a un résultat alors on va charger la SESSION de l'utilisateur en utilisateur les variables $_SESSION if ($valid){ $_SESSION['id'] = $req['id']; // id de l'utilisateur unique pour les requêtes futures $_SESSION['nom'] = $req['nom']; $_SESSION['prenom'] = $req['prenom']; $_SESSION['tel'] = $req['tel']; $_SESSION['mail'] = $req['mail']; header('Location: index.php'); exit; } } } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!--===============================================================================================--> <link rel="icon" type="image/png" href="images/icons/favicon.ico"/> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="vendor/bootstrap/css/bootstrap.min.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="fonts/font-awesome-4.7.0/css/font-awesome.min.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="fonts/Linearicons-Free-v1.0.0/icon-font.min.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="vendor/animate/animate.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="vendor/css-hamburgers/hamburgers.min.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="vendor/animsition/css/animsition.min.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="vendor/select2/select2.min.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="vendor/daterangepicker/daterangepicker.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="css/util.css"> <link rel="stylesheet" type="text/css" href="css/main.css"> <!--===============================================================================================--> </head> <body> <div class="limiter"> <div class="container-login100"> <div class="wrap-login100"> <div class="login100-form-title" style="background-image: url(images/bg-01.jpg);"> <span class="login100-form-title-1"> Connectez-vous </span> </div> <form method ="post" class="login100-form validate-form"> <?php if (isset($er_mail)){ ?> <div><?= $er_mail ?></div> <?php } ?> <div class="wrap-input100 validate-input m-b-26" data-validate="Username is required"> <span class="label-input100">Adresse mail:*</span> <input class="input100" type="text" name="mail" placeholder="Entrez votre adresse" value="<?php if(isset($mail)){ echo $mail; }?>" required autofocus> <span class="focus-input100"></span></div> <?php if (isset($er_mdp)){ ?> <div><?= $er_mdp ?></div> <?php } ?> <div class="wrap-input100 validate-input m-b-18" data-validate = "Password is required"> <span class="label-input100">Mot de Passe:*</span> <input class="input100" type="password" name="mdp" placeholder="Enter password" name="mdp" value="<?php if(isset($mdp)){ echo $mdp; }?>" required> <span class="focus-input100"></span> </div> <div class="flex-sb-m w-full p-b-30"> <div class="contact100-form-checkbox"> <input class="input-checkbox100" id="ckb1" type="checkbox" name="remember-me"> <label class="label-checkbox100" for="ckb1"> Remember me </label> </div> <!--Mot de pas oublié à changer de place ---> <div class="container"> <?php if(!isset($_SESSION['id'])){ ?> <a href="motdepasse.php" class="txt1"> Mot de passe oublié ?</a></p> <?php } ?> </div> </div> <div class="container-login100-form-btn"> <button class="login100-form-btn"type="submit" name="connexion">Se connecter</button> </div> </form> </div> </div> </div> <!--===============================================================================================--> <script src="vendor/jquery/jquery-3.2.1.min.js"></script> <!--===============================================================================================--> <script src="vendor/animsition/js/animsition.min.js"></script> <!--===============================================================================================--> <script src="vendor/bootstrap/js/popper.js"></script> <script src="vendor/bootstrap/js/bootstrap.min.js"></script> <!--===============================================================================================--> <script src="vendor/select2/select2.min.js"></script> <!--===============================================================================================--> <script src="vendor/daterangepicker/moment.min.js"></script> <script src="vendor/daterangepicker/daterangepicker.js"></script> <!--===============================================================================================--> <script src="vendor/countdowntime/countdowntime.js"></script> <!--===============================================================================================--> <script src="js/main.js"></script> </body> </html>

Re: inscription.php - problème de redirection

par Saian » 28 mai 2019, 13:19

Ok, ta classe connexionDB utilise PDO et dans PDO tu as la méthode lastInsertId.
https://www.php.net/manual/fr/pdo.lastinsertid.php

Tu peux donc modifier la class connexionDB et pour rester simple je ferais ça :
public function insert($sql, $data = array()){
  $req = $this->connexion->prepare($sql);
  $req->execute($data);
  return $this->connexion->lastInsertId();
}

$id = $DB->insert('INSERT INTO utilisateur (nom, prenom, tel, mail, mdp, date_creation_compte) VALUES 
                    ( ?, ?, ?, ?, ?, ?)', 
                    array($nom, $prenom, $tel, $mail, $mdp, $date_creation_compte));

EDIT : tu pourrais même faire un peu de gestion d'erreur :
public function insert($sql, $data = array()){
  $req = $this->connexion->prepare($sql);
  $req->execute($data);
  return $req->execute($data) ? $this->connexion->lastInsertId() : false;
}

public function getError() {
  return $this->connexion->errorInfo()[2];
}

$id = $DB->insert('INSERT INTO utilisateur (nom, prenom, tel, mail, mdp, date_creation_compte) VALUES 
                    ( ?, ?, ?, ?, ?, ?)', 
                    array($nom, $prenom, $tel, $mail, $mdp, $date_creation_compte));

if (!$id) {
  echo 'Insert error : '.$DB->getError();
  exit();
}

Re: inscription.php - problème de redirection

par Hyoshiko » 28 mai 2019, 13:06

l'id est auto_incrémenté je sais pas comment je pourrais le récupérer x_x
$DB est ma variable de connexion à ma bdd ($DB= new conectionDB(); ).
J'ai créer un fichier à part pour la bdd, je sais pas si c'est ce que tu voulais savoir.

PS : j'ai modifié les identifiants pour le partage.

Code : Tout sélectionner

<?php // Déclaration d'une nouvelle classe class connexionDB { private $host = 'localhost'; // nom de l'host private $name = 'nomdelabase'; // nom de la base de donnée private $user = 'monutilisateur'; // utilisateur private $pass = 'motdepasse'; // mot de passe //private $pass = ''; // Ne rien mettre si on est sous windows private $connexion; function __construct($host = null, $name = null, $user = null, $pass = null){ if($host != null){ $this->host = $host; $this->name = $name; $this->user = $user; $this->pass = $pass; } try{ $this->connexion = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->name, $this->user, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES UTF8', PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING)); }catch (PDOException $e){ echo 'Erreur : Impossible de se connecter à la BDD !'; die(); } } public function query($sql, $data = array()){ $req = $this->connexion->prepare($sql); $req->execute($data); return $req; } public function insert($sql, $data = array()){ $req = $this->connexion->prepare($sql); $req->execute($data); } } // Faire une connexion à votre fonction $DB = new connexionDB(); ?>

Re: inscription.php - problème de redirection

par Saian » 28 mai 2019, 12:48

Oui sauf qu'au lieu de récupérer les informations dans $req qui n'existe pas, tu les récupères depuis les variables où elles sont. Tu as déjà nom, prenom, tel et mail, il te reste à voir comment récupérer l'id de la ligne nouvellement insérée. Mais la comme ça avec $DB->insert() je ne vois pas quelle API tu utilises (cette méthode n'existe pas par défaut ni dans PDO ni dans mysqli) et je ne saurais donc te dire comment récupérer cet id sans plus d'informations.

Re: inscription.php - problème de redirection

par Hyoshiko » 28 mai 2019, 12:45

Si tu regardes le script de connexion tu verras qu'après avoir vérifié le login et le mot de passe, l'id utilisateur doit être poussé dans $_SESSION['id'].
Tu dois faire la même chose lors de l'inscription, après avoir insérer l'utilisateur dans la base de données, récupère l'id de la ligne nouvellement insérée et pousse le dans $_SESSION['id'].

Quelque chose comme ça ?

Code : Tout sélectionner

<?php if ($valid){ $_SESSION['id'] = $req['id']; // id de l'utilisateur unique pour les requêtes futures $_SESSION['nom'] = $req['nom']; $_SESSION['prenom'] = $req['prenom']; $_SESSION['tel'] = $req['tel']; $_SESSION['mail'] = $req['mail']; header('Location: index.php'); exit; } ?>

Re: inscription.php - problème de redirection

par Saian » 28 mai 2019, 12:24

Si tu regardes le script de connexion tu verras qu'après avoir vérifié le login et le mot de passe, l'id utilisateur doit être poussé dans $_SESSION['id'].
Tu dois faire la même chose lors de l'inscription, après avoir insérer l'utilisateur dans la base de données, récupère l'id de la ligne nouvellement insérée et pousse le dans $_SESSION['id'].

Re: inscription.php - problème de redirection

par Hyoshiko » 28 mai 2019, 12:18

Salut, tu as simplement oublié de définir $_SESSION['id'] suite à l'inscription.
Je suis désolé j'ai suivi un tuto pour le code je vois pas où je dois définir cela :oops: ...

Re: inscription.php - problème de redirection

par Saian » 28 mai 2019, 12:12

Salut, tu as simplement oublié de définir $_SESSION['id'] suite à l'inscription.

inscription.php - problème de redirection

par Hyoshiko » 28 mai 2019, 11:09

Bonjour,

je fais appel à vous car depuis hier j'essaye de résoudre un problème de redirection que j'ai avec ma page inscription.php.
Je suis en train de créer un site avec un espace membre et une bdd.

Lorsqu'un nouveau membre veut s'enregistrer il passe par l'inscription.php une fois validé il est redirigé sur la home (index.php) où s'affiche les boutons, mon profil et déconnexion et une fois déconnectés inscription et connexion.

Mais voilà quand quelqu'un s'inscrit, il est bien enregistré dans la bdd et redirigé sur index.php mais les boutons sont inchangés (toujours inscription et connexion). j'ai tenté de changé la page de redirection et du coup ça me redirige même pas sur la page changée...

je vois pas ce que j'ai fait comme erreur :oops:
Si vous aviez quelques pistes ça serait génial

PS : je travaille sur WAMP

Code : Tout sélectionner

<?php session_start(); include('bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD if (isset($_SESSION['id'])){ // S'il y a une session alors on ne retourne plus sur cette page header('Location: index.php'); exit; } // Si la variable "$_Post" contient des informations alors on les traitres if(!empty($_POST)){ extract($_POST); $valid = true; // On se place sur le bon formulaire grâce au "name" de la balise "input" if (isset($_POST['inscription'])){ $nom = htmlentities(trim($nom)); // On récupère le nom $prenom = htmlentities(trim($prenom)); // on récupère le prénom $tel = htmlentities(trim($tel)); // On récupère le telephone $mail = htmlentities(strtolower(trim($mail))); // On récupère le mail $mdp = trim($mdp); // On récupère le mot de passe $confmdp = trim($confmdp); // On récupère la confirmation du mot de passe // Vérification du nom if(empty($nom)){ $valid = false; $er_nom = ("Le nom d' utilisateur ne peut pas être vide"); } // Vérification du prénom if(empty($prenom)){ $valid = false; $er_prenom = ("Le prenom d' utilisateur ne peut pas être vide"); } // Vérification du telephone if(empty($tel)) { $valid = false; $er_tel = "Veuillez saisir votre numéro de téléphone"; } // Vérification du mail if(empty($mail)){ $valid = false; $er_mail = "Le mail ne peut pas être vide"; // On vérifit que le mail est dans le bon format }elseif(!preg_match('/^[a-z0-9\-_.]+@[a-z]+\.[a-z]{2,3}$/i', $mail)){ $valid = false; $er_mail = "Le mail n'est pas valide"; }else{ // On vérifit que le mail est disponible $req_mail = $DB->query("SELECT mail FROM utilisateur WHERE mail = ?", array($mail)); $req_mail = $req_mail->fetch(); if ($req_mail['mail'] <> ""){ $valid = false; $er_mail = "Ce mail existe déjà"; } } // Vérification du mot de passe if(empty($mdp)) { $valid = false; $er_mdp = "Le mot de passe ne peut pas être vide"; }elseif($mdp != $confmdp){ $valid = false; $er_mdp = "La confirmation du mot de passe ne correspond pas"; } // Si toutes les conditions sont remplies alors on fait le traitement if($valid){ $mdp = crypt($mdp,'$6$rounds=5000$macleapersonnaliseretagardersecret$'); $date_creation_compte = date('Y-m-d H:i:s'); // On insert nos données dans la table utilisateur $DB->insert('INSERT INTO utilisateur (nom, prenom, tel, mail, mdp, date_creation_compte) VALUES ( ?, ?, ?, ?, ?, ?)', array($nom, $prenom, $tel, $mail, $mdp, $date_creation_compte)); header('Location: index.php'); exit; } } } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!--===============================================================================================--> <link rel="icon" type="image/png" href="images/icons/favicon.ico"/> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="vendor/bootstrap/css/bootstrap.min.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="fonts/font-awesome-4.7.0/css/font-awesome.min.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="fonts/Linearicons-Free-v1.0.0/icon-font.min.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="vendor/animate/animate.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="vendor/css-hamburgers/hamburgers.min.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="vendor/animsition/css/animsition.min.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="vendor/select2/select2.min.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="vendor/daterangepicker/daterangepicker.css"> <!--===============================================================================================--> <link rel="stylesheet" type="text/css" href="css/util.css"> <link rel="stylesheet" type="text/css" href="css/main.css"> <!--===============================================================================================--> <title>Inscription</title> </head> <body> <div class="limiter"> <div class="container-login100"> <div class="wrap-login100"> <div class="login100-form-title" style="background-image: url(images/bg-01.jpg);"> <span class="login100-form-title-1"> Inscrivez-vous </span> </div> <form method="post" class="login100-form validate-form"> <?php if (isset($er_nom)){ // S'il y a une erreur sur le nom alors on affiche ?> <div><?= $er_nom ?></div> <?php } ?> <div class="wrap-input100 validate-input m-b-26" data-validate="Veuillez entrer votre nom"> <span class="label-input100">Nom:*</span> <input class="input100" type="text" name="nom" placeholder="Votre nom" value="<?php if(isset($nom)){ echo $nom; }?>" required autofocus> <span class="focus-input100"></span></div> <?php if (isset($er_prenom)){ ?> <div><?= $er_prenom ?></div> <?php } ?> <div class="wrap-input100 validate-input m-b-18" data-validate = "Veuillez entrer votre prénom"> <span class="label-input100">Prénom:* </span> <input class="input100" type="text" name="prenom" placeholder="Votre prénom" value="<?php if(isset($prenom)){ echo $prenom; }?>" required > <span class="focus-input100"></span> </div> <?php if (isset($er_tel)){ ?> <div><?= $er_tel ?></div> <?php } ?> <div class="wrap-input100 validate-input m-b-18" data-validate = "Veuillez entrer votre Téléphone"> <span class="label-input100">Téléphone:* </span> <input class="input100" type="tel" name="tel" placeholder="telephone" pattern="[0-9]{10}" value="<?php if(isset($tel)){ echo $tel; }?>" required> <span class="focus-input100"></span> </div> <?php if (isset($er_mail)){ ?> <div><?= $er_mail ?></div> <?php } ?> <div class="wrap-input100 validate-input m-b-26" data-validate="Adresse mail requise"> <span class="label-input100">Adresse mail:*</span> <input class="input100" type="email" name="mail" placeholder="Entrez votre adresse" value="<?php if(isset($mail)){ echo $mail; }?>" required > <span class="focus-input100"></span></div> <?php if (isset($er_mdp)){ ?> <div><?= $er_mdp ?></div> <?php } ?> <div class="wrap-input100 validate-input m-b-18" data-validate = "Mot de passe requis"> <span class="label-input100">Mot de Passe:*</span> <input class="input100" type="password" name="mdp" placeholder="Enter password" value="<?php if(isset($mdp)){ echo $mdp; }?>" required> <span class="focus-input100"></span> </div> <div class="wrap-input100 validate-input m-b-18" data-validate = "Confirmation requise"> <span class="label-input100">Confirmation:* </span> <input type="password" class ="input100" placeholder="Confirmer le mot de passe" name="confmdp" required> <span class="focus-input100"></span> </div> <br><br><br> <div class="container-login100-form-btn"> <button type="submit" class="login100-form-btn" name="inscription">Envoyer</button> </div> </form> </div> </div> </div> <!--===============================================================================================--> <script src="vendor/jquery/jquery-3.2.1.min.js"></script> <!--===============================================================================================--> <script src="vendor/animsition/js/animsition.min.js"></script> <!--===============================================================================================--> <script src="vendor/bootstrap/js/popper.js"></script> <script src="vendor/bootstrap/js/bootstrap.min.js"></script> <!--===============================================================================================--> <script src="vendor/select2/select2.min.js"></script> <!--===============================================================================================--> <script src="vendor/daterangepicker/moment.min.js"></script> <script src="vendor/daterangepicker/daterangepicker.js"></script> <!--===============================================================================================--> <script src="vendor/countdowntime/countdowntime.js"></script> <!--===============================================================================================--> <script src="js/main.js"></script> </body> </html>