Erreur avec $_post php
Résolu
petit-coco
Messages postés
54
Date d'inscription
Statut
Membre
Dernière intervention
-
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription Statut Membre Dernière intervention -
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Erreur avec $_post php
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Expert php pinterest - Télécharger - Langages
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
3 réponses
Salut,
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 :
$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']);
@lobotomix:~# rm -rf *\
Messages postés
1392
Date d'inscription
Statut
Membre
Dernière intervention
208
arf plus rapide que moi
je suis debutant en php mais je ferai comme ca sans tester mais juste en voyant
parce que les deux variable sont indefini lorsque vous aller directement a b.php
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