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.