Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/11/2007, 13h36   #1
Membre régulier
 
Avatar de loopback
 
Inscription : septembre 2006
Messages : 170
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 170
Points : 75
Points : 75
Par défaut réécrire une variable lorsque register_globals est à Off

Bonjour,
j'ai un formulaire de support sur mon site que je n'arrive pas à envoyer
Code :
1
2
3
4
5
6
7
8
9
10
<?php
if (empty($pseudo) || empty($email) || empty($texte))
{
Header("Location: champs.php");
}
else
{
include "envoisupport.php";
}
?>
Car le register globals est à Off

Je ne sais pas comment réécrire le script pour qu'il soit accepter lorsque le register_globals est à Off.

Voici ce que j'ai fait mais sans succès:
Code :
1
2
3
4
5
6
7
8
9
10
<?php
if (empty $_POST['$pseudo'] || empty $_POST['$email'] || empty $_POST['$texte']) 
{
Header("Location: champs.php");
}
else
{
include "envoisupport.php";
}
?>
il me met une erreur de syntax mais je ne vois pas:
Code :
Parse error: syntax error, unexpected T_VARIABLE, expecting '(' in /usr/home/www/zapto.org/www/formsupport.php on line 2
loopback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 13h41   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
empty() est une fonction il faut donc penser a mettre les parenthèses et entre les crochets il faut mettre le nom du champ de ton formulaire (donc sans le $)

Code :
if (empty ($_POST['pseudo']) || empty ($_POST['email']) || empty ($_POST['texte']))
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 13h44   #3
Membre régulier
 
Avatar de loopback
 
Inscription : septembre 2006
Messages : 170
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 170
Points : 75
Points : 75
Salut,

j'ai fait comme tu as dit mais j'ai une multitude d'erreurs sur le script appelé:
est-ce que je dois réécrire tous les script ?
Code :
1
2
3
4
5
6
7
8
9
10
<?php
if (empty ($_POST['pseudo']) || empty ($_POST['email']) || empty ($_POST['texte']))
{
Header("Location: champs.php");
}
else
{
include "envoisupport.php";
}
?>
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Notice: Undefined variable: pseudo in /usr/home/www/zapto.org/www/envoisupport.php on line 11
 
Notice: Undefined variable: email in /usr/home/www/zapto.org/www/envoisupport.php on line 12
 
Notice: Undefined variable: texte in /usr/home/www/zapto.org/www/envoisupport.php on line 14
 
Notice: Undefined variable: REMOTE_ADDR in /usr/home/www/zapto.org/www/envoisupport.php on line 17
 
Warning: gethostbyaddr() [function.gethostbyaddr]: Address is not a valid IPv4 or IPv6 address in /usr/home/www/zapto.org/www/envoisupport.php on line 17
 
Notice: Undefined variable: REMOTE_ADDR in /usr/home/www/zapto.org/www/envoisupport.php on line 17
 
Warning: Cannot modify header information - headers already sent by (output started at /usr/home/www/zapto.org/www/envoisupport.php:11) in /usr/home/www/zapto.org/www/envoisupport.php on line 19
Voici le script appelé "envoisupport.php":
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$to = "monadress@mail.comt";
$sujet = "Support demonsite";
$headers = "";
$headers .= "";
$message = "";
 
$message .= "Un message vous a été envoyé depuis monsite !";
$message .= "Voici le récapitulatif de ce message :";
$message .= "----------------------------------------------";
$message .= "Pseudo : $pseudo";
$message .= "Adresse email : $email";
$message .= "Message :";
$message .= "$texte";
$message .= "----------------------------------------------";
 
$message .= "Envoyé par ".gethostbyaddr($REMOTE_ADDR). " ($REMOTE_ADDR)";
mail($to,$sujet,$message,$headers);
Header("Location: confirmsupport.php");
?>
loopback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 13h55   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
tu l'as dit toi meme, $pseudo n'existe pas, c'est $POST['pseudo'] qu'il faut utiliser !

donc si dans tes scripts tu veux utiliser $pseudo il faut faire
Code :
$pseudo = $_POST['pseudo'];
(idem pour les autres variables)
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 13h57   #5
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
C'est la 2eme fois que je conseil ce lien : formulaires et php
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 15h56   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par loopback
Je ne sais pas comment réécrire le script pour qu'il soit accepter lorsque le register_globals est à Off.
Il y a, entre autres, la fonction extract mais exactement les mêmes problèmes que ceux induits par register_globals se poseront : vos variables pourront mutuellement s'écraser avec les risques que ça peut comporter. Cela dit, vous avez peut être la possibilité de réactiver ce paramètre par htaccess ?

Citation:
Envoyé par loopback
est-ce que je dois réécrire tous les script ?
A terme vous y serez contraints (PHP 6, mais je vous accorde que vous avez encore de la marge ).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h30.


 
 
 
 
Partenaires

Hébergement Web