Codage pour base de données qui ne fonctionne pas

sarah21091999 Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -  
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
je ne sais pas comment faire des redirections, ou alors je n'ai pas compris ..
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention  
 
ohlolo je comprend rien du tout la ....
0
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
J'ajoute juste que l'extension mysql est obsolète
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Dsl, j'avais pas vu, il était 23h, on va dire que c'était la fatigue. :)
0