Php/mysql Notice: Undefined index: submit
Fermé
parvn
Messages postés
49
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
7 mai 2012
-
6 août 2009 à 10:23
parvn Messages postés 49 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 7 mai 2012 - 7 août 2009 à 14:18
parvn Messages postés 49 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 7 mai 2012 - 7 août 2009 à 14:18
A voir également:
- Php/mysql Notice: Undefined index: submit
- Notice d'utilisation - Guide
- Notice chromecast - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Vélo appartement care ancien modèle notice ✓ - Forum Loisirs / Divertissements
9 réponses
imw
Messages postés
233
Date d'inscription
vendredi 17 juillet 2009
Statut
Membre
Dernière intervention
8 septembre 2011
42
6 août 2009 à 10:34
6 août 2009 à 10:34
la clé submit n'hexiste pas dans le $_POST !
En fait, il est possible selon les navigateurs, et selon les circonstances, que les valeurs des input type submit ne passent pas. En plus la value du champs submit sers aussi à l"affichage, donc, le jour ou tu veux changer les Sign! par Go ... tu est obligé d'adapter le reste du code ...
Je te suggère de rajouter un
et de tester le $_POST['test']
C'est plus fiable ...
En fait, il est possible selon les navigateurs, et selon les circonstances, que les valeurs des input type submit ne passent pas. En plus la value du champs submit sers aussi à l"affichage, donc, le jour ou tu veux changer les Sign! par Go ... tu est obligé d'adapter le reste du code ...
Je te suggère de rajouter un
<input type='hidden' name='test' value="ok" />
et de tester le $_POST['test']
C'est plus fiable ...
parvn
Messages postés
49
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
7 mai 2012
6 août 2009 à 19:55
6 août 2009 à 19:55
tu peux etre un peu plus claire s'il te plait, car je suis just un debutant dans la programation php/mysql,
Que veux tu dire par tester $_POST['test']?
Que veux tu dire par tester $_POST['test']?
imw
Messages postés
233
Date d'inscription
vendredi 17 juillet 2009
Statut
Membre
Dernière intervention
8 septembre 2011
42
6 août 2009 à 21:46
6 août 2009 à 21:46
que dans ton code sign.php, tu teste si le bouton à été cliqué ... mais comme je te dis, ça ne marche pas à tous les coups.
rajoute donc dans ton formulaire :
et remplace
par :
rajoute donc dans ton formulaire :
<input type='hidden' name='test' value="ok" />
et remplace
$submit=$_POST["submit"]; if ($submit == "Sign!"){
par :
if( !empty( $_POST['test'] ) ){
parvn
Messages postés
49
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
7 mai 2012
7 août 2009 à 08:42
7 août 2009 à 08:42
Merci bcp, je l'ai fait et avec submit le probleme est resolu mais il me viens presque le meme probleme avec les autres variables voici le message d'errore qui s'affiche:
Notice: Undefined variable: name in C:\Program Files\EasyPHP 2.0b1\www\training\application\sign.php on line 8
Notice: Undefined variable: location in C:\Program Files\EasyPHP 2.0b1\www\training\application\sign.php on line 8
Notice: Undefined variable: email in C:\Program Files\EasyPHP 2.0b1\www\training\application\sign.php on line 8
Notice: Undefined variable: url in C:\Program Files\EasyPHP 2.0b1\www\training\application\sign.php on line 8
Notice: Undefined variable: comments in C:\Program Files\EasyPHP 2.0b1\www\training\application\sign.php on line 8
Merci d'avance pour ton aide
Notice: Undefined variable: name in C:\Program Files\EasyPHP 2.0b1\www\training\application\sign.php on line 8
Notice: Undefined variable: location in C:\Program Files\EasyPHP 2.0b1\www\training\application\sign.php on line 8
Notice: Undefined variable: email in C:\Program Files\EasyPHP 2.0b1\www\training\application\sign.php on line 8
Notice: Undefined variable: url in C:\Program Files\EasyPHP 2.0b1\www\training\application\sign.php on line 8
Notice: Undefined variable: comments in C:\Program Files\EasyPHP 2.0b1\www\training\application\sign.php on line 8
Merci d'avance pour ton aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
imw
Messages postés
233
Date d'inscription
vendredi 17 juillet 2009
Statut
Membre
Dernière intervention
8 septembre 2011
42
7 août 2009 à 08:55
7 août 2009 à 08:55
utilise le $_POST pour récupérer tes valeurs :
$errmsg = create_entry($_POST['name'],$_POST['location'],$_POST['email'],$_POST['url'],$_POST['comments']);
$errmsg = create_entry($_POST['name'],$_POST['location'],$_POST['email'],$_POST['url'],$_POST['comments']);
parvn
Messages postés
49
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
7 mai 2012
7 août 2009 à 10:28
7 août 2009 à 10:28
Merci beaucoup de votre aide, le probleme est resolu maitenant
parvn
Messages postés
49
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
7 mai 2012
7 août 2009 à 11:23
7 août 2009 à 11:23
Il y 'a un autre probleme qui m'embette, j'ai lempression que ma function create_entry que voici:
function create_entry($name,$location,$email,$url,$comments){
$errmsg = "";
if(empty($name)){
$errmsg .= "<li>you have to put in a name!\n";
}
if (empty($email)){
$errmsg .="<li>insert an email please\n";
}
else {
$query = "select * from guestbook where email = '$email'";
$result = safe_query($query);
if(mysql_num_rows($result) > 0) {
$errmsg .="<li>this email has already sign this guestbook.\n";
}
}
if (empty($errmsg)){
$query = "insert into guestbook"
."(name,location,email,url,comments) values "
."('$name','$location','$email','$url','$comments')";
$result = mysql_query($query);
?>
<h2>Thanks!!</h2>
<h2><a href="view.php">View Arly's Guest Book!!!</a></h2>
<?php
}
else{
echo "operation failed\n";
}
}
?>
quand j'utilise $errmsg="<li>you have.......\n" et if(empty($errmsg)){.....
une fois que les valeures sont submit... via le code sign.php, n'execute pas les operations de verification si le
$name a bien etait introduite ou si le $email existe deja il sort directement et viens a else pour m'aficher operation failed.
aucune errore ne m'est affiche.
voici sign.php
<?php
include "connection.php";
include ("usefulfunc.php");
$page_title = "Sign My Guest Book!!";
include "start_pag.php";
if(!empty($_POST['test'])){
$errmsg = create_entry($_POST['name'], $_POST['location'], $_POST['email'] , $_POST['url'] , $_POST['comments']);
if (empty($errmsg))
{
include "end_pag.php";
exit;
}
}
?>
<form method=POST>
<table>
<?php
print_input_fields("name","location","email","url");
?>
<tr>
<td valign=top align=rigth><b>Comments:</b></td>
<td valign=top align=left><textarea name=comments cols=40 rows=4></textarea></td>
</tr>
</table>
<input type=submit name=submit value="Sign!">
<input type=reset name=reset value="Start Over">
<input type='hidden' name='test' value="ok" />
</form>
Merci d'avance pour l'aide
function create_entry($name,$location,$email,$url,$comments){
$errmsg = "";
if(empty($name)){
$errmsg .= "<li>you have to put in a name!\n";
}
if (empty($email)){
$errmsg .="<li>insert an email please\n";
}
else {
$query = "select * from guestbook where email = '$email'";
$result = safe_query($query);
if(mysql_num_rows($result) > 0) {
$errmsg .="<li>this email has already sign this guestbook.\n";
}
}
if (empty($errmsg)){
$query = "insert into guestbook"
."(name,location,email,url,comments) values "
."('$name','$location','$email','$url','$comments')";
$result = mysql_query($query);
?>
<h2>Thanks!!</h2>
<h2><a href="view.php">View Arly's Guest Book!!!</a></h2>
<?php
}
else{
echo "operation failed\n";
}
}
?>
quand j'utilise $errmsg="<li>you have.......\n" et if(empty($errmsg)){.....
une fois que les valeures sont submit... via le code sign.php, n'execute pas les operations de verification si le
$name a bien etait introduite ou si le $email existe deja il sort directement et viens a else pour m'aficher operation failed.
aucune errore ne m'est affiche.
voici sign.php
<?php
include "connection.php";
include ("usefulfunc.php");
$page_title = "Sign My Guest Book!!";
include "start_pag.php";
if(!empty($_POST['test'])){
$errmsg = create_entry($_POST['name'], $_POST['location'], $_POST['email'] , $_POST['url'] , $_POST['comments']);
if (empty($errmsg))
{
include "end_pag.php";
exit;
}
}
?>
<form method=POST>
<table>
<?php
print_input_fields("name","location","email","url");
?>
<tr>
<td valign=top align=rigth><b>Comments:</b></td>
<td valign=top align=left><textarea name=comments cols=40 rows=4></textarea></td>
</tr>
</table>
<input type=submit name=submit value="Sign!">
<input type=reset name=reset value="Start Over">
<input type='hidden' name='test' value="ok" />
</form>
Merci d'avance pour l'aide
imw
Messages postés
233
Date d'inscription
vendredi 17 juillet 2009
Statut
Membre
Dernière intervention
8 septembre 2011
42
7 août 2009 à 11:36
7 août 2009 à 11:36
OULA ...
il te manque un return $errmsg; à la fin de la fonction ( pour récupérer l'erreur)
il te manque un return $errmsg; à la fin de la fonction ( pour récupérer l'erreur)
parvn
Messages postés
49
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
7 mai 2012
7 août 2009 à 14:18
7 août 2009 à 14:18
Merci beaucoup, apres avoir ajoute cela et fait quelque retouche a mon code cela marche bien maintenant.