Page blanche apres validation de formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Page blanche apres validation de formulaire

par Truc » 08 mai 2006, 18:09

Ah mon anglais qui me fait défaut :^o

Tu fait bien de me corriger :wink:

par Cyrano » 08 mai 2006, 17:34

hum hum... "S'il est à OFF" ne permet pas de récupérer etc... (et non à ON où il le permet)

par Truc » 08 mai 2006, 16:14

D'habitude ca les trouve tout seul les variables qui sont dans la barre d'adresse mais ca doit pas etre efficace a 100% :?
ça dépend surtout de la valeur du register_globals , s'il est à ON ne permet pas de récupérer les variables comme tu l'as fait. Il faut donc passer par les super globales POST ou GET (par exemple)

par nairolf287 » 08 mai 2006, 14:44

le l'erreur venait du fait qu'il y avait 2 fois un champs nommé mail.
Maintenant ca marche, merci ! :wink:

par nairolf287 » 08 mai 2006, 14:39

D'habitude ca les trouve tout seul les variables qui sont dans la barre d'adresse mais ca doit pas etre efficace a 100% :? .

Donc j'ai repris toutes mes sous pages ou il est question de variables comme celle ci et je les ai definies et maintenant ca me mais le message comme quoi un champs est vide. Je vais essayer de les afficher a la fin du code pour voir ou est le bleme. :arrow:

par Cyrano » 08 mai 2006, 13:57

Comment récupères-tu la valeur de $p au juste ? il manque l'initialisation de cette variable, tu ne crois pas ? Tu as oublié que le register_globals est probablement à OFF :arrow: ajoute donc ceci en début de code:
$p = isset($_GET['p']) ? $_GET['p'] : "";
Après seulement tu veux vérifier si :
if($p == 'post')

Page blanche apres validation de formulaire

par nairolf287 » 08 mai 2006, 13:41

Salut !
Bon j'ai un problème qui m'est déjà arrivait il y a pas très longtemps que j'avais résolue mais comment ? je men souviet plus :lol: (embetant)

Donc voilà j'ai un formulaire et je veut en récuperer les champs pour faire une mise a jour d'une ligne dans une table de ma base mysql.
Le probleme est que quand je valide le formulaire je tombe sur une page blanche sans rien dedans.

Voilà le code que j'ai fait. Je suis debutant alors je c'est peut etre moche :wink:
<?php
if($p=='post'){
$new_nom = $_POST['nom'];
$new_mail = $_POST['mail']; 
$new_footer = $_POST['footer'];
$new_perdu = $_POST['perdu']; 

if(empty($new_nom) OR empty($new_mail) OR empty($new_footer) OR empty($new_perdu)){echo 'Aucun champs ne doit être vide, veuillez compléter le formulaire.';}
else {
$sql = 'UPDATE `config` SET `titre` = \'$new_nom\', `mail` = \'$new_mail\', `footer` = \'$new_footer\', `perdu` = \'$new_perdu\' WHERE `cle` = 1';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Modifications validées !';
}
}

else{
$req=mysql_query("select titre,mail,footer,perdu from config");
$valeur_nom=mysql_result($req,0,"titre");
$valeur_mail=mysql_result($req,0,"mail");
$valeur_footer=mysql_result($req,0,"footer");
$valeur_perdu=mysql_result($req,0,"perdu");

echo '<table align="center" cellpadding="0" cellspacing="0" border="0" width="590">
<form method="post" action="pages.php?nom=admin&p=post">
<td valign="top">Nom du site:</td>
<td valign="top"><input type="text" name="nom" size="83" maxlength="200" value="'.$valeur_nom.'"></td>
<tr>
<td valign="top">E-mail:</td>
<td valign="top"><input type="text" name="mail" size="83" maxlength="250" value="'.$valeur_mail.'"></td>
<tr>
<td valign="top">Footer:</td>
<td valign="top"><textarea rows="8" name="footer" cols="80" value="'.$valeur_footer.'"></textarea></td>
<tr>
<td valign="top">Perdu:</td>
<td valign="top"><input type="text" name="mail" size="83" maxlength="200" value="'.$valeur_perdu.'"></td>
<tr>
<td colspan="2" align="center"><input type="submit" value="Valider"></td>
</form>
</table>';
}
?>
Qu'est ce qui cloche ?

Merci :roll: