Depaner moi

- 9 févr. 2017 à 12:04 - Dernière réponse :
Messages postés
23299
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 novembre 2018
- 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>"; }
    ?>
Afficher la suite 
A voir également:

Votre réponse

1 réponse

Meilleure réponse
Messages postés
23299
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 novembre 2018
- 10 févr. 2017 à 19:38
1
Merci
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é )

Merci jordane45 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.