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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Notice: Undefined index


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Notice: Undefined index
    Bonjour,

    J'ai une erreur
    "Notice: Undefined index: champ in C:\wamp\www\test\try.php on line 104"
    que je n'arrive pas à comprendre. Cette erreur apparaît 3 fois, toujours sur la même ligne.

    Voici mon code:
    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    <?php
    /*	Programme: sauverTelephone.php (savePhone.php)
    	Description: contrôle les champs vides et invalides d'un formulaire. Les champs valides sont sauvegardés dans une base de données. 
    */ 
    ?>
    <html>
    <head><title>Numéro de tél</title></head>
    <body>
     
    <?php
    /* tableau des légendes de champs */
    $labels = array (	"prenom" => "Prenom",
    					"nom"=>"Nom",
    					"tph"=>"Téléphone");
     
     
    /* Scrute les champs reçus */
    foreach($_POST as $champ => $valeur)
     
    {
    	/* Traque les champs vides */
    	if($valeur == " " )
    	{
    		$tabloVide[] = $champ;
    	}
    	/* Teste le format des champs */
    	elseif( ereg("(nom)",$champ) )
    	{
    		if(!ereg("^[A-Za-z' -]{1,50}$",$valeur) )
    	{
    	$mauvaisFormat[] = $champs;
    	}
    }
    elseif($champ == "tph")
    {
    	if(!ereg("^[0-9)( -]{7,20}(([xX]|(ext)|(ex))?[ -]?[0-9]{1,7})?$",$valeur) ) 
    	{
    		$mauvaisFormat[] = $champ;
    	}
    }
    } // Fin de foreach sur $_POST
    /* Si problème, afficher un message et revenir au formulaire */
    if(@sizeof($tabloVide) > 0 or @sizeof($mauvaisFormat) >0)
    {
    	if(@sizeof($tabloVide) > 0)
    	{
    	/* Informations manquantes */
    	echo "<b>Un champ au moins est vide.
    		Vous devez remplir :</b><br>";
    	/* Liste des données manquantes */
    	foreach($tabloVide as $valeur)
    	{
    		echo "&nbsp;$nbsp;$nbsp;{$labels[$valeur]}<br>";
    	}
    }
    if(@sizeof($mauvaisFormat) > 0)
    {
    	/*Informations incorrectes */
    	echo "<b>Un champ au moins contient une donnée incorrecte. Corrigez :</b><br>";
    	/*Liste des champs incorrectes */
    	foreach($mauvaisFormat as $valeur)
    	{
    		echo "$nbsp;$nbsp;$nbsp;{$labels[$valeur]}<br>";
    	}
    }
    /* Réaffichage du formulaire */
    echo "<p><hr />";
    echo "<h3>Saisissez votre N° de téléphone.</h3>";
    echo "<form action='sauverTelephone.php' method='POST'>
    	<table>";
    foreach ($labels as $champ => $label)
    {
    	$dataOk[$champ]=strip_tags(trim($_POST[$champ]));
    	echo "<tr>
    		<td style='text-align: right; font-weight: bold'>
    			$label</td>
    		<td><input type='text' name='$champ' size='65' maxlength='65' value='$dataOk[$champ]'></td>
    		</tr>";
    }
    echo "<tr>
    	<td colspan='2' style='text-align: center'>
    		<input type='submit' value='Valider la saisie'>";
    echo "</td></tr></table>
    	</form>";
    exit();
    }
    else // Si les données sont OK
    {
    	$user="root";
    	$host="localhost";
    	$password="";
    	$database= "MembresSeuls";
    	$cxn=mysqli_connect($host,$user,$password,$database)
    		or die ("Connexion impossible");
     
    	$champsTous = array_keys($labels);
    	foreach($champsTous as $champ)
    	{
    		$dataOk[$champ] = strip_tags(trim($_POST['champ']));
    		if($champ == "tph")
    		{
    			$dataOk[$champ] = ereg_replace("[)( .-]","",$dataOk[$champ]);
    		}
    		$dataOk[$champ] = mysqli_real_escape_string
    	($cxn,$dataOk[$champ]);
    	}
     
    	$req = "INSERT INTO Membre (nom, prenom, tph)
    			VALUES ('$dataOk[nom]','$dataOk[prenom]','$dataOk[tph]')";
    	$result = mysqli_query($cxn,$req)
    			or die ("Requête impossible.");
    	echo "<h4>Le nouveau membre a été ajouté</h4>";
    	}
    ?>
    </body></html>
    Je deviens dingue, je ne comprends pas et du coup je ne peux pas avancer.

    J'ai aussi une erreur: "Deprecated: Function ereg_replace() is deprecated in C:\wamp\www\test\try.php" on line 107".

    Merci d'avance à ceux qui pouront m'aider.

  2. #2
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations forums :
    Inscription : Mars 2005
    Messages : 69
    Points : 68
    Points
    68
    Par défaut
    Petit indice pour trouver l'erreur, affiche la valeur de
    juste avant la ligne 104 (mais après le bloc conditionnel)
    et tu fait ensuite un ça te permettra de voir l’état du tableau.

    Pour ta fonction dépréciée (à ne plus utiliser) regarde du coté de

Discussions similaires

  1. Réponses: 8
    Dernier message: 03/04/2007, 10h01
  2. Notice: Undefined index method post
    Par vanou dans le forum Langage
    Réponses: 8
    Dernier message: 07/03/2007, 09h33
  3. Pb erreur Notice: Undefined index: pseudo
    Par PAINCO dans le forum Langage
    Réponses: 15
    Dernier message: 19/02/2007, 18h20
  4. Notice: Undefined index
    Par abusatif dans le forum Langage
    Réponses: 4
    Dernier message: 08/02/2007, 09h03
  5. Réponses: 9
    Dernier message: 01/05/2006, 00h02

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