IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Undefined variable après un formulaire [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Octobre 2012
    Messages : 38
    Par défaut Undefined variable après un formulaire
    Bonjour je développez web avec php
    lorsque je fait une insertion des champs se ajouté et d'autre non

    code php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <?php 
    // connexion à la base de données
    require_once('Conextion/connect.php');
    // -------------------------
    // 1/ récupération des données du formulaire
    $id_eleve1 = (isset($_POST['id_eleve1']))? $_POST['id_eleve1'] : '';
    $nom_etudaint1 = (isset($_POST['nom_etudaint1']))? $_POST['nom_etudaint1'] : '';
    $prenom_etudiant1 = (isset($_POST['prenom_etudiant1']))? $_POST['prenom_etudiant1'] : '';
    $numero_telephone1 = (isset($_POST['numero_telephone1']))? $_POST['numero_telephone1'] : '';
    $date_naissance1 = (isset($_POST['date_naissance1']))? $_POST['date_naissance1'] : '';
    $lieu_naissance1 = (isset($_POST['lieu_naissance1']))? $_POST['lieu_naissance1'] : '';
    $cin1 = (isset($_POST['cin1']))? $_POST['cin1'] : '';
    $classe = (isset($_POST['classe']))? $_POST['classe'] : '';
     
    // -------------------------
    // 2/ Gestion des erreurs
    $valid = 0;
    // (ici, tous les champs sont obligatoires)
    if(	empty($id_eleve1) 
    	OR empty($nom_etudaint1) 
    	OR empty($prenom_etudiant1) 
    	OR empty($date_naissance1) 
    	OR empty($lieu_naissance1) 
    	OR empty($numero_telephone1)
    	OR empty($cin1))
     
    { 
    	$valid = 2;
    	echo ' <a href="javascript:history.go(-1)"><h1 align="center"><font color="red">Attention, reste des champs vide !</font></h1></a>'; 
    } 
    	// N.B. on peut faire ICI d'autres tests d'erreurs :
    	// validité des données (ex. : numéro de téléphone, email,.......)
     
    // pas d'erreur ?
    if($valid != 2) {
    	$valid = 1;
    }
    // -------------------------
    // 3/ Traitement si OK : Aucun champ n'est vide, on peut enregistrer dans la table
    if($valid == 1) 
    {
    	// ---------------
    	// on PROTEGE les données contre les INJECTIONS SQL
    	$id_eleve1 = mysql_real_escape_string($id_eleve1);
    	$nom_etudaint1 = mysql_real_escape_string($nom_etudaint1);
    	$prenom_etudiant1 = mysql_real_escape_string($prenom_etudiant1);
    	$numero_telephone1 = mysql_real_escape_string($numero_telephone1);
    	$date_naissance1 = mysql_real_escape_string($date_naissance1);
    	$lieu_naissance1 = mysql_real_escape_string($lieu_naissance1);
    	$cin1 = mysql_real_escape_string($cin1);
    	$classe = mysql_real_escape_string($classe);
     
    	// ---------------
        // on écrit la requête sql 
    	mysql_select_db($database_connect, $connect);
    	$sql = "INSERT INTO `eleve`
    		(id_eleve,nom,prenom,num_telephone,date_naissance,lieu_naissance,cin,code_classe)
    		VALUES('$id_eleve1','$nom1','$prenom1','$num_telephone1','$date_naissance1','$lieu_naissance1','$cin1','$classe')";
     
     
    	// ---------------
        // on insère les informations du formulaire dans la table 
    	mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
     }
    	// ---------------
    	mysql_close();  // on ferme la connexion 
     
    	// ---------------
    	// Redirection (?)
    	header('location:ajoute_etudiant.php'); 
    ?>
    code html :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <!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=utf-8" />
    <title>ajouté eleve</title>
    <style type="text/css">
    <!--
    .Style2 {
            font-size: 12px;
            font-family: "Times New Roman", Times, serif;
    }
    -->
    </style>
    </head>
    <body>
    <h3> ajouté un nouveaux éléve </h3>
    <?php   $base=mysql_connect('localhost','root','');
                    mysql_select_db('newstyle',$base);
                    ?>
    <form method="post" action="ajout.php" >	
      <table width="476" height="356" border="1">
      <tr>
        <th width="221" scope="row">Numero d'inscription</th>
        <td width="239"><input  name="id_eleve1" type="text" maxlength="10" class="backgroundTextField"/></td>
      </tr>
      <tr>
        <th scope="row">Nom étudaint(e)</th>
        <td><input  name="nom_etudaint1" type="text"  maxlength="10" class="backgroundTextField"/></td>
      </tr>
      <tr>
        <th scope="row">Prénom étudiant(e)</th>
        <td><input  name="prenom_etudiant1" type="text" maxlength="10" class="backgroundTextField"/></td>
      </tr>
      <tr>
        <th scope="row">date naissance</th>
        <td><input  name="date_naissance1" type="text"  maxlength="10" class="backgroundTextField"/></td>
      </tr>
      <tr>
        <th scope="row"><span class="Style2"></span>lieu naissance</th>
        <td><input  name="lieu_naissance1" type="text"  maxlength="10" class="backgroundTextField"/></td>
      </tr>
      <tr>
        <th scope="row">cin</th>
        <td><input  name="cin1" type="text"  maxlength="10" class="backgroundTextField"/></td>
      </tr>
      <tr>
        <th scope="row">numero telephone </th>
        <td><input  name="numero_telephone1" type="text" maxlength="10" class="backgroundTextField"/></td>
      </tr>
      <tr>
        <th scope="row">Section </th>
     <td><input  name="classe" type="text" maxlength="10" class="backgroundTextField"/></td>
      </tr>
      </table>
      <label>
        <input type="submit" name="button" id="button" value="Envoyer" />
      </label>
    </form>
     
    </body>
    </html>

    je verifier lorceque je suis dans phpmyadmin ce me affiche aucun erreur un fichier attaché va vous monttre
    ca veux pas joindre image
    alors il ne enregister pas nom, prenom numero_telephone,date_naissance

    voila erreur:
    ! ) Notice: Undefined variable: nom1 in C:\wamp\www\NS\ajout.php on line 58
    Call Stack
    # Time Memory Function Location
    1 0.0000 152472 {main}( ) ..\ajout.php:0

    ( ! ) Notice: Undefined variable: prenom1 in C:\wamp\www\NS\ajout.php on line 58
    Call Stack
    # Time Memory Function Location
    1 0.0000 152472 {main}( ) ..\ajout.php:0

    ( ! ) Notice: Undefined variable: num_telephone1 in C:\wamp\www\NS\ajout.php on line 58
    Call Stack
    # Time Memory Function Location
    1 0.0000 152472 {main}( ) ..\ajout.php:0

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Laisse tomber la programmation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nom_etudaint1 = (isset($_POST['nom_etudaint1']))? $_POST['nom_etudaint1'] : '';
    Notice: Undefined variable: nom1 in C:\wamp\www\NS\ajout.php on line 58
    Si tu ne sais pas lire, tu ne vas jamais avancer

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Octobre 2012
    Messages : 38
    Par défaut
    bonjour ;
    voila des champs ajouté et d'autre non ajout pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <?php 
    // connexion à la base de données
    require_once('Conextion/connect.php');
    // -------------------------
    // 1/ récupération des données du formulaire
    if(isset($_POST['id_eleve1']))               $id_eleve1 = $_POST['id_eleve1'];
    else     $id_eleve1="";
    if(isset($_POST['nom_etudaint1']))              $nom_etudaint1 = $_POST['nom_etudaint1'];
    else    $nom_etudaint1="";
    if(isset($_POST['prenom_etudiant1']))               $prenom_etudiant1 = $_POST['prenom_etudiant1'];
    else     $prenom_etudiant1="";
    if(isset($_POST['numero_telephone1']))               $numero_telephone1 = $_POST['numero_telephone1'];
    else     $numero_telephone1="";
    if(isset($_POST['date_naissance1']))               $date_naissance1 = $_POST['date_naissance1'];
    else     $date_naissance1="";
    if(isset($_POST['lieu_naissance1']))               $lieu_naissance1 = $_POST['lieu_naissance1'];
    else     $lieu_naissance1="";
    if(isset($_POST['cin1']))               $cin1 = $_POST['cin1'];
    else     $cin1="";
    if(isset($_POST['classe']))               $classe = $_POST['classe'];
    else     $classe="";
     
    // -------------------------
    // 2/ Gestion des erreurs
     
    // (ici, tous les champs sont obligatoires)
    if(	empty($id_eleve1) 
    	OR empty($nom_etudaint1) 
    	OR empty($prenom_etudiant1) 
    	OR empty($date_naissance1) 
    	OR empty($lieu_naissance1) 
    	OR empty($numero_telephone1)
    	OR empty($cin1))
    	 {
        echo ' <a href="javascript:history.go(-1)"><h1 align="center"><font color="red">Attention,reste des champs vide  !</font></h1></a>'; 
    	  } 
     
    // Aucun champ n'est vide, on peut enregistrer dans la table 
    else      
        { 
    // -------------------------
    // 3/ Traitement si OK : Aucun champ n'est vide, on peut enregistrer dans la table
    	// ---------------
        // on écrit la requête sql 
    	mysql_select_db($database_connect, $connect);
    	$sql = "INSERT INTO `eleve`
    		(id_eleve,nom,prenom,num_telephone,date_naissance,lieu_naissance,cin,code_classe)
    		VALUES('$id_eleve1','$nom1','$prenom1','$num_telephone1','$date_naissance1','$lieu_naissance1','$cin1','$classe')";
     
     
    	// ---------------
        // on insère les informations du formulaire dans la table 
    	mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    header('location:ajoute_etudiant.php'); 
    	mysql_close();  // on ferme la connexion 
     
    	// ---------------
    	// Redirection (?)
     
    	 } 
    ?>
    dans l'image il as des champs que je les saisire et sont pas ajouté au basse de donneé nom,prenom,date_naissance,numero_telephone
    Images attachées Images attachées  

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    'prenom1' par exemple n'est défini nul part.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Octobre 2012
    Messages : 38
    Par défaut
    tout les champs denfini non Null

    stricture de BD
    Images attachées Images attachées  

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(isset($_POST['nom_etudaint1']))  $nom_etudaint1 = $_POST['nom_etudaint1'];
    else $nom_etudaint1="";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql = "INSERT INTO `eleve`
      (id_eleve,nom,prenom,num_telephone,date_naissance,lieu_naissance,cin,code_classe)
      VALUES('$id_eleve1','$nom1','$prenom1','$num_telephone1','$date_naissance1','$lieu_naissance1','$cin1','$classe')";
    La variable que tu définis n'a pas le même nom que la variable que tu utilises...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Octobre 2012
    Messages : 38
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql = "INSERT INTO `eleve`
    		(id_eleve,nom,prenom,num_telephone,date_naissance,lieu_naissance,cin,code_classe)
    		VALUES('$id_eleve1','$nom_etudaint1','$prenom_etudiant1','$numero_telephone1','$date_naissance1','$lieu_naissance1','$cin1','$classe')";
    apres c fé pour numero telephone et nom

    prenom et date naissance aucaun modififcation
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Accéder aux variables d'un formulaire après un load
    Par facilus68 dans le forum jQuery
    Réponses: 6
    Dernier message: 16/08/2013, 14h57
  2. [PHP 5.2] Notice: Undefined variable après un require
    Par PooSoft dans le forum Langage
    Réponses: 16
    Dernier message: 04/06/2012, 14h46
  3. actualiser une variable après une saisie dans un formulaire
    Par Onime Records dans le forum Langage
    Réponses: 1
    Dernier message: 02/10/2008, 15h56
  4. Réponses: 2
    Dernier message: 18/09/2008, 14h52
  5. Réponses: 6
    Dernier message: 23/01/2007, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo