Précédent   Forum des professionnels en informatique > PHP > Outils > WAMP
WAMP Forum d'entraide sur WAMP (Windows Apache MySQL PHP) : installation, utilisation, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/12/2011, 10h04   #1
Invité de passage
 
Inscription : décembre 2011
Messages : 1
Détails du profil
Informations forums :
Inscription : décembre 2011
Messages : 1
Points : 0
Points : 0
Par défaut Notice: Undefined index

Bonjour,

J'ai une erreur
Citation:
"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 :
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.
php_wamp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2011, 10h04   #2
Nouveau Membre du Club
 
Inscription : mars 2005
Messages : 62
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : mars 2005
Messages : 62
Points : 35
Points : 35
Envoyer un message via MSN à johnvox
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
johnvox est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h28.


 
 
 
 
Partenaires

Hébergement Web