8797 sujets

Développement web côté serveur, CMS

bonjour,

j'arrive pas a trouver l'erreur caril me met ; Notice: Undefined index: nom in c:\php\www\sitephp\verif.php on line 14

Notice: Undefined index: prenom in c:\php\www\sitephp\verif.php on line 15

Notice: Undefined index: adresse in c:\php\www\sitephp\verif.php on line 16
Notice: Undefined index: tel in c:\php\www\sitephp\verif.php on line 17

Notice: Undefined index: teltravail in c:\php\www\sitephp\verif.php on line 18

Notice: Undefined index: port in c:\php\www\sitephp\verif.php on line 19

Notice: Undefined index: service in c:\php\www\sitephp\verif.php on line 20
Notice: Undefined index: email in c:\php\www\sitephp\verif.php on line 22

14.[code <?php echo $_POST['nom'];?><br>
15.<?php echo $_POST['prenom'];?><br>
16.<?php echo $_POST['adresse'];?><br>
17.<?php echo $_POST['tel'];?><br>
18.<?php echo $_POST['tel travail'];?><br>
19.<?php echo $_POST['port'];?><br>
20.<?php echo $_POST['service'];?><br>
21.<?php
22.$email=$_POST['email'];
$point= strpos($email,".");
$aroba= strpos($email,"@");

if($point=='')
{
echo "Votre email doit comporter un <b>point</b>";
}
elseif($aroba=='')
{
echo "Votre email doit comporter un <b>'@'</b>";
}
else
{
echo "Votre email est: <a href=\"mailto:"."$email"."\"><b>$email</b></a>";
}
?> code]

merci d'avance
et voici le codedu formulaire
<!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>Document sans titre</title>
</head>

[code <body>
<form action="verif.php" method="post" name="formulaire" id="formulaire">
<label>non :
<input type="text" name="non" id="non" />
</label>
prenom
:
<label>
<input type="text" name="prenom" id="prenom" />
</label>
<p>adresse :
<label>
<input type="text" name="adresse" id="adresse" />
</label>
tel :
<label>
<input type="text" name="tel" id="tel" />
</label>
</p>
<p>port :
<label>
<input type="text" name="port" id="port" />
</label>
tel travail :
<label>
<input type="text" name="tel travail" id="tel travail" />
</label>
</p>
<p>email :
<label>
<input type="text" name="email" id="email" />
</label>
service :
<label>
<input type="text" name="service" id="service" />
</label>
</p>
<p>
<label>
<input type="submit" name="envoyer" id="envoyer" value="Envoyer" />
</label>
</p>
<p>&nbsp;</p>
</form>
</body></html> code]

merci d'avance
et une autre question comment faire pourbien apprendre le php?
merci a tous
Modifié par mitnick (08 Nov 2007 - 22:52)
Salut,
Donne l'ensemble de ton code (avec le formulaire, puisque tu as utilisé les variables POST il s'agit d'un formulaire) dans les balises [ code ] de ce forum et nous pourrons t'aider davantage. Smiley smile
bonjour,

j'arrive pas a trouver l'erreur caril me met ; Notice: Undefined index: nom in c:\php\www\sitephp\verif.php on line 14

Notice: Undefined index: prenom in c:\php\www\sitephp\verif.php on line 15

Notice: Undefined index: adresse in c:\php\www\sitephp\verif.php on line 16
Notice: Undefined index: tel in c:\php\www\sitephp\verif.php on line 17

Notice: Undefined index: teltravail in c:\php\www\sitephp\verif.php on line 18

Notice: Undefined index: port in c:\php\www\sitephp\verif.php on line 19

Notice: Undefined index: service in c:\php\www\sitephp\verif.php on line 20
Notice: Undefined index: email in c:\php\www\sitephp\verif.php on line 22

14<?php echo $_POST['nom'];?><br>
15.<?php echo $_POST['prenom'];?><br>
16.<?php echo $_POST['adresse'];?><br>
17.<?php echo $_POST['tel'];?><br>
18.<?php echo $_POST['tel travail'];?><br>
19.<?php echo $_POST['port'];?><br>
20.<?php echo $_POST['service'];?><br>
21.<?php
22.$email=$_POST['email'];
$point= strpos($email,".");
$aroba= strpos($email,"@");

if($point=='')
{
echo "Votre email doit comporter un <b>point</b>";
}
elseif($aroba=='')
{
echo "Votre email doit comporter un <b>'@'</b>";
}
else
{
echo "Votre email est: <a href=\"mailto:"."$email"."\"><b>$email</b></a>";
}
?>

merci d'avance
et voici le codedu formulaire
<!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>Document sans titre</title>
</head>

[code <body>
<form action="verif.php" method="post" name="formulaire" id="formulaire">
<label>non :
<input type="text" name="non" id="non" />
</label>
prenom
:
<label>
<input type="text" name="prenom" id="prenom" />
</label>
<p>adresse :
<label>
<input type="text" name="adresse" id="adresse" />
</label>
tel :
<label>
<input type="text" name="tel" id="tel" />
</label>
</p>
<p>port :
<label>
<input type="text" name="port" id="port" />
</label>
tel travail :
<label>
<input type="text" name="tel travail" id="tel travail" />
</label>
</p>
<p>email :
<label>
<input type="text" name="email" id="email" />
</label>
service :
<label>
<input type="text" name="service" id="service" />
</label>
</p>
<p>
<label>
<input type="submit" name="envoyer" id="envoyer" value="Envoyer" />
</label>
</p>
<p>&nbsp;</p>
</form>
</body></html> code]

merci d'avance
et une autre question comment faire pourbien apprendre le php?
merci a tous
Modifié par mitnick (08 Nov 2007 - 22:52)[code]
Modifié par mitnick (10 Nov 2007 - 12:18)
Salut, tu commences par faire un echo (lignes 14 à 22) dès le début de ton code à priori sans tester auparavant que ton tableau $_POST contient qq chose. Donc tu appelles des éléments du tableau (ex : $_POST['nom']) qui n'existent pas encore (le post du formulaire n'a pas été fait), d'où message d'erreur "Undefined index".
Tu devrais faire avant qq chose comme :

if(isset($_POST['nom'])){
 echo $_POST['nom'];
}

ou utiliser la fonction array_key_exists().
Bonjour et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif
j'ai des cours de php maisdefoisj'ai du mal a trouver la solution donc si vous avez des astuce je suis preneur

merci d'avance.
je voudrais savoir si [ if(isset($_POST['nom'])){
echo$POST['nom'];
}] si je dois l'affiche pour les autre variable ou je peut mettre autre chose.

merci d'avance
Modifié par mitnick (09 Nov 2007 - 20:45)
bonjour,

donc j'ai corrigé mais lale nom et le te travailne s'affiche pas donc voici le
<?php if(isset($_POST['nom'])){
   echo $_POST['nom'];
}
?>
<?php echo $_POST['prenom'];?><br>
<?php echo $_POST['adresse'];?><br>
<?php echo $_POST['tel'];?><br>
<?php if(isset($_POST['teltravail'])){
echo $_POST['teltravail'];
}
?><br>
<?php echo $_POST['port'];?><br>
<?php echo $_POST['service'];?><br>

merci d'avance
re-Salut !

Alors, dans un premier temps, tu dois vérifier si le formulaire a été envoyé. Pour ça, on va vérifier que l'utilisateur à cliqué sur le "submit" dont le nom est "envoyer" dans ton script. Ensuite, si l'utilisateur a cliqué sur "envoyer", on va afficher les données ; en l'occurence, dans l'exemple ci-dessus, juste le nom et le prénom :


<?php
	if($_POST['envoyer'])
	{
		echo $_POST['nom'];
		echo $_POST['prenom'];
	}
?>


A noter également que tu n'es pas systématiquement obligé d'ouvrir les variables PHP (<?php ?>) lorsque tu souhaites afficher quelque chose. Smiley cligne
bonjour
sa me mes :
Undefined index: envoyer in c:\php\www\sitephp\verif.php on line 14

et j'ai toujour pas le nom etle tel travail donc je sais plusquoi faire

merci d'avance
Modifié par mitnick (10 Nov 2007 - 12:35)
doncje remt leformulaire:
<form  method="post" name="formulaire" id="formulaire"  action="verif.php">
  <label>nom  :  
  <input type="text" name="nom" id="nom" />
  </label>
 prenom 
 : 
 <label>
 <input type="text" name="prenom" id="prenom" />
 </label>
 <p>adresse : 
   <label>
   <input type="text" name="adresse" id="adresse" />
   </label>
   tel :
   <label>
   <input type="text" name="tel" id="tel" />
   </label>
 </p>
 <p>port : 
   <label>
   <input type="text" name="port" id="port" />
   </label>
 tel travail : 
 <label>
 <input type="text" name="tel travail" id="tel travail" />
 </label>
 </p>
 <p>email : 
   <label>
   <input type="text" name="email" id="email" />
   </label>
 service : 
 <label>
 <input type="text" name="service" id="service" />
 </label>
 </p>
 <p>
   <label>
   <input name="envoyer" type="submit" id="envoyer" value="envoyer" />
   </label>
 </p>
 <p>&nbsp;</p>
</form>
</body></html>


et la le code php
<?php if($_POST['envoyer']){
   echo $_POST['nom'];
}
?>
<?php echo $_POST['prenom'];?><br>
<?php echo $_POST['adresse'];?><br>
<?php echo $_POST['tel'];?><br>
<?php if(isset($_POST['teltravail'])){
echo $_POST['teltravail'];
}
?><br>
<?php echo $_POST['port'];?><br>
<?php echo $_POST['service'];?><br>


et il me dit "Notice: Undefined index: envoyer in c:\php\www\sitephp\verif.php on line 14"
merci d'avance.
Essaies de mettre à la place de "if($_POST['envoyer'])" :
- if(isset($_POST['envoyer']))
En effet, certains serveurs nécessite l'utilisation de la fonctionne isset pour vérifier si une variable est présente.

Si cela ne fonctionne pas et malgrès que je n'ai pas regardé ton code au complet, pas forcément le temps, voici un extrait de code simpliste qui fonctionne, je te recommande de l'essayer et de l'adapter à ta situation :


<?php
	if($_POST['envoyer'])
	{
		echo $_POST['nom'];

	}
?>
		<form method="post" action="text.php">
			<label>Nom  :  <input type="text" name="nom" id="nom" /></label>
			<input type="submit" name="envoyer" />
		</form>