Codage pour base de données qui ne fonctionne pas

Fermé
sarah21091999 Messages postés 50 Date d'inscription jeudi 17 mai 2018 Statut Membre Dernière intervention 24 mai 2018 - 24 mai 2018 à 22:24
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 25 mai 2018 à 18:21
Bonjour, je ne comprends pas pourquoi mon codage ne fonctionne pas

<?php
mysql_connect("localhost", "root","root");
    mysql_select_db("tourisme");
 
session_start();// À placer obligatoirement avant tout code html

$_SESSION['connect']=0; //initialise la variable 'connect'
  
if (isset($_POST['password']) AND isset($_POST['login'])) // Si les variables existent
{
        $password=$_POST['password'];
        $login=$_POST['login'];//On récupère les données envoyées par la méthode POST du formulaire d'identification
}
  
else // Les variables n'existent pas encore
{
        $password="";
        $login="";// On crée des variables $mot_de_passe  et $login vides
}
  
 $req = mysql_query("SELECT password FROM agent WHERE login= '$login'");
$result = mysql_fetch_array($req);
?>
 
 <?php
if ( $result['password'] != NULL && $result['password'] == $password)
// Si le mot de passe et le login sont bons (valable pour 1 utilisateur ou plus). J'ai mis plusieurs identifiants et mots de passe.
  
{
        $_SESSION['connect']=1; // Change la valeur de la variable connect. C'est elle qui nous permettra de savoir s'il y eu identification.
        $_SESSION['login']=$login;// Permet de récupérer le login afin de personnaliser la navigation
// On affiche la page cachée.
 
?>
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title>FORMULAIRE</title>
  <style>
   h1{text-align:center;}
  </style>
 </head>
   <body text="#29088A">
     <form method="post" action="inscriptionvalidee.php">
      <div style="text-align:center">
        <p>
          <img src="nevers.png" alt="photo nevers" width="500" height="650" hspace="16" align="left"> 
        </p>
		<font size="6">
        <U><h1>FORMULAIRE</h1></U>
		</font>
		<font size="5">
		<p align="center">
              <label>Code Agent</label> : 
              <input type="text" name="agent" onkeyup="calcul(this)" id="code" value="" /> 
		</p>
        <p align="center">
            <label>Nom Client</label> : 
            <input type="text"  name="nom" value="" require/>
            <p align="center">
              <label>Prénom Client</label> : 
              <input type="text" name="prenom" value="" /> 
            </p>
            <p align="center">
              <label>Age Client</label> : 
              <input type=radio name="age12" id='agem12' onclick="verifAge(this.value);" value='-12'> -12 ans 
              <input type=radio name="age12" id='agep12' onclick="verifAge(this.value);" value='+12'> +12 ans 
            </p>
          </font>
        </p>
		<font size="5">
		<p align="center">
              <label>Code Voyage</label> : 
              <input type="text" name="voy" onkeyup="prix(this);" id="voyage" value="" /> 
		</p>
        <br>
        <span style="text-align:center" id="zone_prix" >
		<font size ="5">
          <label>Prix</label> : 
          <input type="text" name="prix" onkeyup="verifPrix(this);" id="prix" value='' > € <span style='background-color:#ffff66;' id='reduc' style='display:none' >-50%</span>
		  </br>
		  <br>
          <label>Prix Final </label> 
          <input type="text" name="prixfinal" readonly id="prixfinal" value='' /> €
        </span>
		</font>
		</br>
        
       </form>
        <p align="center">
		<br>
          <input type="submit" value="Inscription" style="height:35px; background-color:#29088A; color:white"  ></a>
        </p>
		<font size="5">
		<p align="center">
              <label>Valeur Commission</label> : 
              <input type="text" name="commission" id="vcommission" value="" /> 
		</p>
		</font>
      </div>
    <script type="text/javascript">
      /**
      // Affiche la zone réduc en fonction de l'age selectionné
      */
      function verifAge(age){
        var reduc = document.getElementById('reduc');
        var prix = document.getElementById('prix');
        reduc.style.display =  age == '-12' ? 'inline' : 'none';   
        verifPrix(prix);
      }
      
      /*
      // Fait le calcul du prix en fonction de l'age coché
      */
      function verifPrix(elm){
        var prix = elm;
        var prixval = elm.value;
        var agem12 = document.getElementById('agem12');
        var agep12 = document.getElementById('agep12');
        var prixfinal = document.getElementById('prixfinal');
        var age = agem12.checked ? '-12' : (agep12.checked ? '+12' : '');
        if(age == '-12'){
           console.log('ancien prix : ' + prixval);
           var prixreduc = parseFloat(prixval) * 0.5;
           console.log('Nouveau prix : ' + prixreduc);
           prixfinal.value = prixreduc;
		   
        }else if(age == '+12'){
           prixfinal.value = prixval;
        }else{
           //si aucune case n'est cochée...
           prixfinal.value = prixval;
		   
        }
      }
	  function calcul(){
  var code = document.getElementById('code');
  var prixfinal = document.getElementById('prixfinal');
  var vcommission = document.getElementById('vcommission');

  var codeval = code.value;
  switch(codeval){
    case "JT": // si JT
      vcommission.value = prixfinal.value * 0.10;
      break;
    case "LB":  //si LB
      vcommission.value = prixfinal.value * 0.08;
	  break;
    case "MM":  //si MM
      vcommission.value = prixfinal.value * 0.08;
	  break;
    case "RA":  //si RA
      vcommission.value = prixfinal.value * 0.10;
      break;
    default: // Si aucun des deux
      vcommission.value = 0;
      break;
  }
}

function prix(){
  var voyage = document.getElementById('voyage');
  var prix = document.getElementById('prix');
  

  var voyageval = voyage.value;
  switch(voyageval){
    case "AFR01": 
      prix.value = 2340;
      break;
    case "ECO01":  
      prix.value = 550;
	  break;
    
    default: // Si aucun des deux
      prix.value = 0;
      break;
  }
}
    </script>
  </body> 
</html>

<?php
}
  
else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>
 <html>

   <head>
   
      <title>Création d'un formulaire de connexion en HTML</title>
      
   </head>
   
   <body text="#29088A">
      <font size="6">
	  
	  <fieldset style="background-color:#E6E6E6; height:450; width:500; margin:auto;">
      <legend><h2><p align="center"><span style="border:1px solid black; padding-left:4px; padding-right:4px" >Connexion au site</span></h2></legend>
	  </font>
   </p>
   
 
      <form action="connexionbd" method="post">
	  <font size="4">
         
         <p align="center"><label for="login"><strong>Nom d'utilisateur</strong></label>
               <td><input type="text" name="login" id="login"/></td>
			   </p>
               
            <p align="center"><label for="pass"><strong>Mot de passe</strong></label>
               <td><input type="password" name="passe" id="password"/></td>
               </p>
           </font>
         <font size="5">
         <p align="center">
		<br>
          <input type="submit" value="Se connecter" style="height:45px; background-color:#29088A; color:white" ></a>
        </p>
		</form>
		<form action="formulairenouveaucompte.php" method="post">
		  <p align="center">
		
          <input type="submit" value="Pre-inscription client" style="height:45px; background-color:#29088A; color:white" ></a>
        </p>
      </font>
	  </fieldset>
      
	</form>
</body>
</html>


 
<?php
  
} // Fin du else
  
// Fin du code
?>
A voir également:

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
24 mai 2018 à 22:29
1 - L'extension mysql est OBSOLETE
Tu dois passer à PDO ou mysqli
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

2 -Tu dois afficher les erreurs PHP et écrire correctement ton code:
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code


3- Ton code php se trouvant dans la même page que ton formulaire.... tu dois mettre la balise action de ton form à vide
 <form action="connexionbd" method="post">

A modifier en
 <form action="" method="post">


4 - Dans ton second html.. tu as oublié le DOCTYPE ainsi que le charset utf8


5 - Plutôt que de mettre deux HTML dans un seul fichier .... place les dans des fichiers différents et fais plutôt des redirection vers les fichiers

0
sarah21091999 Messages postés 50 Date d'inscription jeudi 17 mai 2018 Statut Membre Dernière intervention 24 mai 2018
24 mai 2018 à 22:48
je dois refaite toute ma base de données dans mysqli ?? je ne connais pas ca... on m'a seulement donne celui avec uwamp...
0
sarah21091999 Messages postés 50 Date d'inscription jeudi 17 mai 2018 Statut Membre Dernière intervention 24 mai 2018
24 mai 2018 à 22:56
comme ca ?

<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

mysql_connect("localhost", "root","root");
    mysql_select_db("tourisme");
 
session_start();// À placer obligatoirement avant tout code html

$_SESSION['connect']=0; //initialise la variable 'connect'
  
if (isset($_POST['password']) AND isset($_POST['login'])) // Si les variables existent
{
        $password=$_POST['password'];
        $login=$_POST['login'];//On récupère les données envoyées par la méthode POST du formulaire d'identification
}
  
else // Les variables n'existent pas encore
{
        $password="";
        $login="";// On crée des variables $mot_de_passe  et $login vides
}
  
 $req = mysql_query("SELECT password FROM agent WHERE login= '$login'");
$result = mysql_fetch_array($req);
?>
 
 <?php
if ( $result['password'] != NULL && $result['password'] == $password)
// Si le mot de passe et le login sont bons (valable pour 1 utilisateur ou plus). J'ai mis plusieurs identifiants et mots de passe.
  
{
        $_SESSION['connect']=1; // Change la valeur de la variable connect. C'est elle qui nous permettra de savoir s'il y eu identification.
        $_SESSION['login']=$login;// Permet de récupérer le login afin de personnaliser la navigation
// On affiche la page cachée.
 
?>
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title>FORMULAIRE</title>
  <style>
   h1{text-align:center;}
  </style>
 </head>
   <body text="#29088A">
     <form method="post" action="inscriptionvalidee.php">
      <div style="text-align:center">
        <p>
          <img src="nevers.png" alt="photo nevers" width="500" height="650" hspace="16" align="left"> 
        </p>
		<font size="6">
        <U><h1>FORMULAIRE</h1></U>
		</font>
		<font size="5">
		<p align="center">
              <label>Code Agent</label> : 
              <input type="text" name="agent" onkeyup="calcul(this)" id="code" value="" /> 
		</p>
        <p align="center">
            <label>Nom Client</label> : 
            <input type="text"  name="nom" value="" require/>
            <p align="center">
              <label>Prénom Client</label> : 
              <input type="text" name="prenom" value="" /> 
            </p>
            <p align="center">
              <label>Age Client</label> : 
              <input type=radio name="age12" id='agem12' onclick="verifAge(this.value);" value='-12'> -12 ans 
              <input type=radio name="age12" id='agep12' onclick="verifAge(this.value);" value='+12'> +12 ans 
            </p>
          </font>
        </p>
		<font size="5">
		<p align="center">
              <label>Code Voyage</label> : 
              <input type="text" name="voy" onkeyup="prix(this);" id="voyage" value="" /> 
		</p>
        <br>
        <span style="text-align:center" id="zone_prix" >
		<font size ="5">
          <label>Prix</label> : 
          <input type="text" name="prix" onkeyup="verifPrix(this);" id="prix" value='' > € <span style='background-color:#ffff66;' id='reduc' style='display:none' >-50%</span>
		  </br>
		  <br>
          <label>Prix Final </label> 
          <input type="text" name="prixfinal" readonly id="prixfinal" value='' /> €
        </span>
		</font>
		</br>
        
       </form>
        <p align="center">
		<br>
          <input type="submit" value="Inscription" style="height:35px; background-color:#29088A; color:white"  ></a>
        </p>
		<font size="5">
		<p align="center">
              <label>Valeur Commission</label> : 
              <input type="text" name="commission" id="vcommission" value="" /> 
		</p>
		</font>
      </div>
    <script type="text/javascript">
      /**
      // Affiche la zone réduc en fonction de l'age selectionné
      */
      function verifAge(age){
        var reduc = document.getElementById('reduc');
        var prix = document.getElementById('prix');
        reduc.style.display =  age == '-12' ? 'inline' : 'none';   
        verifPrix(prix);
      }
      
      /*
      // Fait le calcul du prix en fonction de l'age coché
      */
      function verifPrix(elm){
        var prix = elm;
        var prixval = elm.value;
        var agem12 = document.getElementById('agem12');
        var agep12 = document.getElementById('agep12');
        var prixfinal = document.getElementById('prixfinal');
        var age = agem12.checked ? '-12' : (agep12.checked ? '+12' : '');
        if(age == '-12'){
           console.log('ancien prix : ' + prixval);
           var prixreduc = parseFloat(prixval) * 0.5;
           console.log('Nouveau prix : ' + prixreduc);
           prixfinal.value = prixreduc;
		   
        }else if(age == '+12'){
           prixfinal.value = prixval;
        }else{
           //si aucune case n'est cochée...
           prixfinal.value = prixval;
		   
        }
      }
	  function calcul(){
  var code = document.getElementById('code');
  var prixfinal = document.getElementById('prixfinal');
  var vcommission = document.getElementById('vcommission');

  var codeval = code.value;
  switch(codeval){
    case "JT": // si JT
      vcommission.value = prixfinal.value * 0.10;
      break;
    case "LB":  //si LB
      vcommission.value = prixfinal.value * 0.08;
	  break;
    case "MM":  //si MM
      vcommission.value = prixfinal.value * 0.08;
	  break;
    case "RA":  //si RA
      vcommission.value = prixfinal.value * 0.10;
      break;
    default: // Si aucun des deux
      vcommission.value = 0;
      break;
  }
}

function prix(){
  var voyage = document.getElementById('voyage');
  var prix = document.getElementById('prix');
  

  var voyageval = voyage.value;
  switch(voyageval){
    case "AFR01": 
      prix.value = 2340;
      break;
    case "ECO01":  
      prix.value = 550;
	  break;
    
    default: // Si aucun des deux
      prix.value = 0;
      break;
  }
}
    </script>
  </body> 
</html>

<?php
}
  
else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>
<!DOCTYPE html>
<html lang="fr">
	
		<meta charset="UTF-8">


   <head>
   
      <title>Création d'un formulaire de connexion en HTML</title>
      
   </head>
   
   <body text="#29088A">
      <font size="6">
	  
	  <fieldset style="background-color:#E6E6E6; height:450; width:500; margin:auto;">
      <legend><h2><p align="center"><span style="border:1px solid black; padding-left:4px; padding-right:4px" >Connexion au site</span></h2></legend>
	  </font>
   </p>
   
 
      <form action="" method="post">
	  <font size="4">
         
         <p align="center"><label for="login"><strong>Nom d'utilisateur</strong></label>
               <td><input type="text" name="login" id="login"/></td>
			   </p>
               
            <p align="center"><label for="pass"><strong>Mot de passe</strong></label>
               <td><input type="password" name="passe" id="password"/></td>
               </p>
           </font>
         <font size="5">
         <p align="center">
		<br>
          <input type="submit" value="Se connecter" style="height:45px; background-color:#29088A; color:white" ></a>
        </p>
		</form>
		<form action="formulairenouveaucompte.php" method="post">
		  <p align="center">
		
          <input type="submit" value="Pre-inscription client" style="height:45px; background-color:#29088A; color:white" ></a>
        </p>
      </font>
	  </fieldset>
      
	</form>
</body>
</html>


 
<?php
  
} // Fin du else
  
// Fin du code
?>
0
sarah21091999 Messages postés 50 Date d'inscription jeudi 17 mai 2018 Statut Membre Dernière intervention 24 mai 2018
24 mai 2018 à 22:59
je ne sais pas comment faire des redirections, ou alors je n'ai pas compris ..
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
24 mai 2018 à 23:00
Ne confond pas la BASE DE DONNEES qui est : MYSQL (c'est un SGBD )
et l'extension PHP qui permet de connecter ton code php à ta bdd

L'extension mysql sont les lignes de commande de type : mysql_*
comme :
mysql_connect
mysql_select_db
mysql_query


Tu ne dois modifier que les lignes de code en les remplaçant par du PDO ou du mysqli
(il ne suffit pas d'ajouter un "i" ... regarde bien la syntaxe à utiliser pour chaque instruction. )

Par exemple, pour la connexion à la bdd:
$con = mysqli_connect("localhost","root","root","tourisme");

// Check connection error
if (mysqli_connect_errno())  {
   echo "Failed to connect to MySQL: " . mysqli_connect_error();
   exit();
}

// faire une requête
// Perform a query, check for error
$sql = "SELECT password FROM agent WHERE login= '$login' ":
$result= mysqli_query($con, $sql);
if (!$result) {
   echo("Erreur dans la requete : " . mysqli_error($con));
}

// on récupère la première ligne retournée par la requête
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);

$password = $row['password'];

mysqli_close($con);

//--- le reste de ton code -- //

0
sarah21091999 Messages postés 50 Date d'inscription jeudi 17 mai 2018 Statut Membre Dernière intervention 24 mai 2018
24 mai 2018 à 23:07
ohlolo je comprend rien du tout la ....
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
24 mai 2018 à 23:05
J'ajoute juste que l'extension mysql est obsolète
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
24 mai 2018 à 23:12
Tu peux le rajouter.... mais c'était déjà dit

1 - L'extension mysql est OBSOLETE
Tu dois passer à PDO ou mysqli
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
Modifié le 25 mai 2018 à 18:21
Dsl, j'avais pas vu, il était 23h, on va dire que c'était la fatigue. :)
0