Depaner moi

BIBATA - Modifié par @karamel le 9/02/2017 à 15:32
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 10 févr. 2017 à 19:38
Bonjour, j essai de concevoir un site web pour une ecole mais je suis bloquee au niveau de l insertion d un eleve dans la base de donnee. s il vous plait aider moi voici mo, code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>


<title>test</title>

</head> 

<body>

<script language="javascript">
 //alert ("saisir le matricule");
 function ckeckMat(){
  var val=document.incrisption.mat.value;
  if (val=="")
   alert("le matricule n'est pas enregistrer");
 }
  function effacer(){


document.inscription.nom.value="";

}

function test(){


document.inscription.mat.value=document.inscription.pass.value;
  }

function verif(f){
   var val=" vous avez saisi les données suivants";
       val+ ="\n Matricule:"+ f.mat.value;
    val+ ="\n Nom:"+ f.nom.value;
    val+ ="\n Prenom:"+ f.prenom.value;
     var i=f.jour.selectedIndex;
  var j=f.mois.selectedIndex;
  var k= f.annee.selectedIndex;
     val+="\n Date de naiss"+ f.jour.options[i].text+"/"+f.mois.options[j].text+"/"+f.annee.options[k].text;
      val + ="\n lieu de naissance"+ f.lieu.value;

alert ("vos choix"+ val);
 }

</script>



<h1 class="titre" align="center"> FORMULAIRE D'INSCRIPTION </h1>
  <?php

if (isset ($_REQUEST['OK'])){
    if($_REQUEST['OK']==2){
 echo "Matricule".$_REQUEST['mat'];
 echo "<br>";
 echo "Nom".$_REQUEST['nom'];
 echo "<br>";
 echo "Prenom".$_REQUEST['prenom'];
 }
}
 else {
 ?>
  <table  border="1"  align="center">
    <form method="post" action="recapitulatif.php" name="inscription1" onSubmit="verif(inscription1)" >
      <tr>
        <td class="comp"> Matricule: </td>
        <td><input type="text" name="mat" size="25" maxlength="20" value="" onBlur="ckeckMat()" ></td>
      </tr>
      <tr>
        <td class="comp"> Nom: </td>
        <td><input type="text" name="nom" size="25" maxlength="30" value="votre nom" onClick="effacer()" ></td>
      </tr>
      <tr>
        <td class="comp"> Prenom: </td>
        <td><input type="text" name="prenom" size="25" maxlength="40" value="" ></td>
      </tr>
      <tr>
        <td class="comp">PWD: </td>
        <td><input type="password" name="pass" size="25" maxlength="40" value="" onBlur="test()" >
        </td>
      </tr>
      <tr>
        <td class="comp">Date de naissance</td>
        <td><select name="jour">
            <option value="1">1
          <option value="2">2
          <option value="3">3
          <option value="4">4
          <option value="5">5
          <option value="6">6
          <option value="7">7
          <option value="8">8
          <option value="9">9
          <option value="10">10
          <option value="11">11
          <option value="12">12
          <option value="13">13
          <option value="14">14
          <option value="15">15
          <option value="16">16
          <option value="17">17
          <option value="18">18
          <option value="19">19
          <option value="20">20
          <option value="21">21
          <option value="22">22
          <option value="23">23
          <option value="24">24
          <option value="25">25
          <option value="26">26
          <option value="27">27
          <option value="28">28
          <option value="29">29
          <option value="30">30
          <option value="31">31 </option>
          </select>
          /
          <select name="mois">
            <option value="janvier">janvier 
            <option value="fevier">fevrier
            <option value="mars">mars
            <option value="avril">avril
            <option value="mai">mais
            <option value="juin">juin
            <option value="juillet">juillet
            <option value="aout">aout
            <option value="semptembre">semptembre
            <option value="octobre">octobre
            <option value="novembre">novembre
            <option value="decembre">decembre </option>
          </select>
          /
          <select name="annee">
            <option value="1980">1980 
            <option value="1981">1981
            <option value="1983">1982
            <option value="1984">1985
            <option value="1986">1986
            <option value="1987">1987
            <option value="1988">1988
            <option value="1989">1989
            <option value="1990">1990
            <option value="1992">1991
            <option value="1992">1992 </option>
          </select>
        </td>
      </tr>
      <tr>
        <td class="comp"> lieu de naissance </td>
        <td><input type="text" name="lieu" size="25" maxlength="40" value="">
        </td>
      </tr>
      <tr>
        <td class="comp"> Sexe </td>
        <td><input type="radio" name="sexe" value="feminin" >
          masculin
          <input type="radio" name="sexe" value="masculin" checked>
          Feminin </td>
      </tr>
      <tr>
        <td class="comp"> Filiere </td>
        <td><select name="filiere">
            <option value="gin"> GIN
          <option value="gbio">GBIO
          <option value="gim">GIM </option>
        </select></td>
      </tr>
      <tr>
        <td class="comp"> Loisirs </td>
        <td><input type="checkbox" name="Loisirs" value="" checked="checked">
          Lecture<br>
          <input type="checkbox" name="Loisirs" value="">
          Balande<br>
          <input type="checkbox" name="Loisirs" value="" checked="checked">
          Jeux<br>
          <input name="checkbox" type="checkbox" value="" nama="loisirs" >
          Music<br>
        </td>
      </tr>
      <tr>
        <td class="comp"> CV </td>
        <td><input type="file" name="fichier"></td>
      </tr>
      <tr>
        <td class="comp"> Autres </td>
        <td><textarea name="textarea" rows="5" cols="40"> Autres informations </textarea></td>
      </tr>
      <tr>
        <td colspan="2"> </td>
      </tr>
      <tr align="center">
        <td colspan="2"><input name="submit" type=submit value="Envoyer">
            <input name="reset" type=reset value="Annuler">
   <input type="hidden" value="2" name="OK" />
        </td>
      </tr>
    </form>
  </table>
  <?php
  }
  ?>
</body>
</html>


code de traitement:
<?php

session_start();

$BDD = mysql_connect("localhost","root","");
    mysql_select_db("ecole1");

?>

<?php

// On met les variables utilisé dans le code PHP à FALSE (C'est-à-dire les désactiver pour le moment).
    $error = FALSE;
    $registerOK = FALSE;

// On regarde si l'utilisateur est bien passé par le module d'inscription
        if(isset($_POST["inscription1"])){

// On regarde si tout les champs sont remplis, sinon, on affiche un message à l'utilisateur.
            if($_POST["nom"] == NULL OR $_POST["prenom"] == NULL OR $_POST["pass"] == NULL){

// On met la variable $error à TRUE pour que par la suite le navigateur sache qu'il y'a une erreur à afficher.
                $error = TRUE;

// On écrit le message à afficher :
                $errorMSG = "Tout les champs doivent être remplis !";

}
   // Si tout ce passe correctement, on peut maintenant l'inscrire dans la base de données :
                               $sql = "INSERT INTO inscription1(nom,prenom,pass,jour,mois,annee,lieu,sexe,filiere,loisirs) VALUES ('".$_POST["nom"]."','".$_POST["prenom"]."','".$_POST["pass"]."','".$_POST["jour"]."','".$_POST["mois"]."','".$_POST["annee"]."','".$_POST["lieu"]."','".$_POST["sexe"]."','".$_POST["filiere"]."','".$_POST["Loisirs"]."')";
                               $sql = mysql_query($sql);

// Si la requête s'est bien effectué :
                               if($sql){

// On met la variable $registerOK à TRUE pour que l'inscription soit finalisé
                                  $registerOK = TRUE;
                                  // On l'affiche un message pour le dire que l'inscription c'est bien déroulé :
                                  $registerMSG = "Inscription réussie ! Vous êtes maintenant membre du site.";

// On le met des variables de session pour stocker le nom de compte et le mot de passe :
                                  $_SESSION["nom"] = $_POST["nom"];
                                  $_SESSION["prenom"] = $_POST["prenom"];
          $_SESSION["pass"] = $_POST["pass"];
          $_SESSION["jour"] = $_POST["jour"];
          $_SESSION["mois"] = $_POST["mois"];
          $_SESSION["annee"] = $_POST["annee"];
          $_SESSION["lieu"] = $_POST["lieu"];
          $_SESSION["sexe"] = $_POST["sexe"];
          $_SESSION["filiere"] = $_POST["filiere"];
          $_SESSION["Loisirs"] = $_POST["Loisirs"];




// Comme un utilisateur est différent, on crée des variables de sessions pour "varier" l'utilisateur comme ceci :
                                  // echo $_SESSION["login"]; (bien entendu avec les balises PHP, sinons cela ne marchera pas.

}

// Sinon on l'affiche un message d'erreur (généralement pour vous quand vous testez vos scripts PHP)
                               else{

$error = TRUE;

$errorMSG = "Erreur dans la requête SQL<br/>".$sql."<br/>";

}

}


?>

<?php

mysql_close($BDD);

?>

<?php // On affiche les erreurs :
       if($error == TRUE){ echo "<p align=\"center\" style=\"color:red;\">".$errorMSG."</p>"; }
    ?>
    <?php // Si l'inscription s'est bien déroulée on affiche le succès :
       if($registerOK == TRUE){ echo "<p align=\"center\" style=\"color:green;\"><strong>".$registerMSG."</strong></p>"; }
    ?>

1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
10 févr. 2017 à 19:38
Bonjour,

Te dépanner sur quoi ?
Tu as un message d'erreur ?
Le fonctionnement n'est pas celui que tu attends ??
Merci d'être plus précis !!!

Au passage ....
Tu utilises encore l'ancienne extension mysql ... alors qu'elle est considérée comme OBSOLETE !
Je t'invite vivement à passer à mysqli ou à PDO.
Regarde ici : http://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

Autre chose... au cas où, au début de ton script, active l'affichage des erreurs PHP.
 error_reporting(E_ALL);
 ini_set('display-errors','on');


Pense également à récupérer PROPREMENT tes variables (POST) AVANT de les utiliser.
Avec l'écriture ternaire ...comme expliqué ici : http://www.commentcamarche.net/faq/1391-php-notice-undefined-index

Reviens nous voir une fois les modifications effectuées si ton souci persiste (en nous expliquant, cette fois, en détail, le souci rencontré )
1
Rejoignez-nous