Erreur avec $_post php

Résolu/Fermé
petit-coco Messages postés 54 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 9 mai 2014 - Modifié par petit-coco le 7/08/2012 à 18:16
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 - 7 août 2012 à 18:33
Bonjour,

enfait j ai un petit probleme, e suis debutant en php, j' utilise wamp,

j' ai créer 2 page php , a.php et b.php, enfait avec ces 2 pages je voulais travailler sur la transmission de données avec un formulaire.

dans a.php il y a 2 champs pour le nom et le prenom. Quand j entre mon nom et mon prenom dans a.php ca marche nickel mais quand je vais directement dans b.php, sans entrer le formulaire il y a deux messages d' erreurs :

Notice: Undefined index: user in C:\wamp\www\dos\b.php on line 8

Notice: Undefined index: user in C:\wamp\www\dos\b.php on line 9

ces deux lignes sont

$nom = htmlspecialchars($_POST['nom']);
$prenom = htmlspecialchars($_POST['prenom']);

voici a.php

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="style.css" />
<title>bienvenue</title>
<meta name="author" content="Visendi" />

</head>
<body>
<object type="application/x-shockwave-flash" data="dewplayer-mini.swf" width="160" height="20" id="dewplayer" name="dewplayer"> <param name="wmode" value="transparent" /><param name="movie" value="dewplayer-mini.swf" /> <param name="flashvars" value="mp3=cyber-lns.mp3" /> </object>
<div id="banniere">
</div>
<div id="content">
<div id="formulaire">
<form action="b.php" method="post">
<table>
<tr><td>Nomr</td><td><input type="text" name="nom" maxlength="20" /></td></tr>
<tr><td>prenom</td><td><input type="text" name="prenom" maxlength="20" /></td></tr>
<tr><td></td><td><input type="submit" value="Connexion" /></td></tr>
<tr><td><a href ="c.php">inscription</a></td></tr>
</table>
</form>
</div>
</div>

</body>
</html>




voici b.php:

<?php

include("a.php");

$ip = $_SERVER["REMOTE_ADDR"];
$date = date("d-m-Y");
$heure = date("H:i");
$nom = htmlspecialchars($_POST['nom']);
$prenom = htmlspecialchars($_POST['prenom']);

if (isset($_POST['prenom']) AND isset($_POST['nom']))
{

echo 'Bonjour ' . $_POST['prenom'] . ' ' . $_POST['nom'] . ' !';
$fp = fopen('data.html', 'a+');

fwrite($fp, "<i>[$ip][$date, $heure]</i>: <b>$nom - $prenom</b><br />");
fclose($fp);
}
else
{
echo '<p>Il faut renseigner un nom et un prénom !</p>';
}
?>

enfait si on entre pas le nom et le prenom, je veux qu' il ait un echo : il faut renseigner son nom et je veux qu' il n' y ait aucun message d' erreur

et quand on marque le nom et le prenom, je veux l' enregistrer dans un fichier .html
et un echo : bonjour PRENOM, NOM

est ce que vous pouvez m' aider s'il vous plait ? merci

3 réponses

flokocha Messages postés 1510 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 280
7 août 2012 à 18:19
Salut,

$nom = htmlspecialchars($_POST['nom']); 
$prenom = htmlspecialchars($_POST['prenom']); 

if (isset($_POST['prenom']) AND isset($_POST['nom'])) 
{


Tu vérifies si le contenu posté existe seulement après avoir essayé de le passer dans une variable. C'est pour cette raison que tu obtiens cette erreur.

Tu dois inverser cet ordre :

if (isset($_POST['prenom']) AND isset($_POST['nom'])) 
{
$nom = htmlspecialchars($_POST['nom']); 
$prenom = htmlspecialchars($_POST['prenom']);
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
7 août 2012 à 18:22
arf plus rapide que moi
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
7 août 2012 à 18:21
je suis debutant en php mais je ferai comme ca sans tester mais juste en voyant

if (isset($_POST['prenom']) AND isset($_POST['nom'])) {
$nom = htmlspecialchars($_POST['nom']); 
$prenom = htmlspecialchars($_POST['prenom']); 


parce que les deux variable sont indefini lorsque vous aller directement a b.php
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
7 août 2012 à 18:22
ensuite je peu me tromper
0
petit-coco Messages postés 54 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 9 mai 2014 2
7 août 2012 à 18:33
jvous remercie, pour l' instant sa marche
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
7 août 2012 à 18:33
penser a mettre resolu
0