Chez certains hébergeurs, à partir d'un certain nombre d'erreurs ou
warning masqués par @, il y a blocage du ou des scripts litigieux.
C'est ce qui se passe chez Free.
C'est-à-dire ? Ce n'est pas le blocage qui m'intéresse (j'utilise peu le
@ et pas free) mais la façon dont c'est détecté : ils parsent les
scripts ou c'est php qui peut renvoyer en silent les erreurs ignorées
par le @ ?
Chez certains hébergeurs, à partir d'un certain nombre d'erreurs ou
warning masqués par @, il y a blocage du ou des scripts litigieux.
C'est ce qui se passe chez Free.
C'est-à-dire ? Ce n'est pas le blocage qui m'intéresse (j'utilise peu le
@ et pas free) mais la façon dont c'est détecté : ils parsent les
scripts ou c'est php qui peut renvoyer en silent les erreurs ignorées
par le @ ?
Chez certains hébergeurs, à partir d'un certain nombre d'erreurs ou
warning masqués par @, il y a blocage du ou des scripts litigieux.
C'est ce qui se passe chez Free.
C'est-à-dire ? Ce n'est pas le blocage qui m'intéresse (j'utilise peu le
@ et pas free) mais la façon dont c'est détecté : ils parsent les
scripts ou c'est php qui peut renvoyer en silent les erreurs ignorées
par le @ ?
finalement le seul controle indispensable d'un formulaire c'est de
vérifier qu'il soit pas envoyé vide et de verifier que les élements
saisie soit cohérant avec ce qui est demandé.
Avant de savoir s'il est vide, il faut savoir s'il existe, et s'il est
nécessaire de traiter l'absence, voir de générer une erreur. Parce que
si tu tente d'accéder à un élément d'un tableau qui n'existe pas, tu
dois avoir un Warning (sur ta machine de développement).
Ça évite aussi d'user d'une expression régulière alors qu'il n'y a pas
besoin ;)
finalement le seul controle indispensable d'un formulaire c'est de
vérifier qu'il soit pas envoyé vide et de verifier que les élements
saisie soit cohérant avec ce qui est demandé.
Avant de savoir s'il est vide, il faut savoir s'il existe, et s'il est
nécessaire de traiter l'absence, voir de générer une erreur. Parce que
si tu tente d'accéder à un élément d'un tableau qui n'existe pas, tu
dois avoir un Warning (sur ta machine de développement).
Ça évite aussi d'user d'une expression régulière alors qu'il n'y a pas
besoin ;)
finalement le seul controle indispensable d'un formulaire c'est de
vérifier qu'il soit pas envoyé vide et de verifier que les élements
saisie soit cohérant avec ce qui est demandé.
Avant de savoir s'il est vide, il faut savoir s'il existe, et s'il est
nécessaire de traiter l'absence, voir de générer une erreur. Parce que
si tu tente d'accéder à un élément d'un tableau qui n'existe pas, tu
dois avoir un Warning (sur ta machine de développement).
Ça évite aussi d'user d'une expression régulière alors qu'il n'y a pas
besoin ;)
finalement le seul controle indispensable d'un formulaire c'est de
vérifier qu'il soit pas envoyé vide et de verifier que les élements
saisie soit cohérant avec ce qui est demandé.
Avant de savoir s'il est vide, il faut savoir s'il existe, et s'il est
justement est ce que si une variable esst vide est ce qu'elle existe dans la
cas ou l'internaute validerait un post vide.
finalement le seul controle indispensable d'un formulaire c'est de
vérifier qu'il soit pas envoyé vide et de verifier que les élements
saisie soit cohérant avec ce qui est demandé.
Avant de savoir s'il est vide, il faut savoir s'il existe, et s'il est
justement est ce que si une variable esst vide est ce qu'elle existe dans la
cas ou l'internaute validerait un post vide.
finalement le seul controle indispensable d'un formulaire c'est de
vérifier qu'il soit pas envoyé vide et de verifier que les élements
saisie soit cohérant avec ce qui est demandé.
Avant de savoir s'il est vide, il faut savoir s'il existe, et s'il est
justement est ce que si une variable esst vide est ce qu'elle existe dans la
cas ou l'internaute validerait un post vide.
finalement le seul controle indispensable d'un formulaire c'est de
vérifier qu'il soit pas envoyé vide et de verifier que les élements
saisie soit cohérant avec ce qui est demandé.
Avant de savoir s'il est vide, il faut savoir s'il existe, et s'il est
justement est ce que si une variable esst vide est ce qu'elle existe dans
la cas ou l'internaute validerait un post vide.
Je viens de me torturer l'esprit pendant 5 bonnes minutes en essayant de
comprendre ta phrase, mais je n'y arrive pas. Dans le doute, je vais
répondre quelque chose en espérant que ce sera la réponse à ta question.
1) La première chose à faire est de vérifier par isset si le tableau
$_REQUEST contient bien une entrée du nom qui t'intéresse.
2) Si le premier résultat est positif, la seconde chose à faire *peut*
être de regarder si la valeur est une chaîne vide, mais ce n'est pas
forcément obligatoire. Vérifier directement que la valeur est bien
de la forme que tu attends peut suffire (par exemple, pour un entier
positif, vérifier qu'elle contient un chiffre ou plus et aucun autre
caractère).
P.-S. : Ton adresse n'est toujours pas conforme aux recommandations pour
les adresses invalides. Ça t'ennuie de mettre le .invalid à la fin ?
finalement le seul controle indispensable d'un formulaire c'est de
vérifier qu'il soit pas envoyé vide et de verifier que les élements
saisie soit cohérant avec ce qui est demandé.
Avant de savoir s'il est vide, il faut savoir s'il existe, et s'il est
justement est ce que si une variable esst vide est ce qu'elle existe dans
la cas ou l'internaute validerait un post vide.
Je viens de me torturer l'esprit pendant 5 bonnes minutes en essayant de
comprendre ta phrase, mais je n'y arrive pas. Dans le doute, je vais
répondre quelque chose en espérant que ce sera la réponse à ta question.
1) La première chose à faire est de vérifier par isset si le tableau
$_REQUEST contient bien une entrée du nom qui t'intéresse.
2) Si le premier résultat est positif, la seconde chose à faire *peut*
être de regarder si la valeur est une chaîne vide, mais ce n'est pas
forcément obligatoire. Vérifier directement que la valeur est bien
de la forme que tu attends peut suffire (par exemple, pour un entier
positif, vérifier qu'elle contient un chiffre ou plus et aucun autre
caractère).
P.-S. : Ton adresse n'est toujours pas conforme aux recommandations pour
les adresses invalides. Ça t'ennuie de mettre le .invalid à la fin ?
finalement le seul controle indispensable d'un formulaire c'est de
vérifier qu'il soit pas envoyé vide et de verifier que les élements
saisie soit cohérant avec ce qui est demandé.
Avant de savoir s'il est vide, il faut savoir s'il existe, et s'il est
justement est ce que si une variable esst vide est ce qu'elle existe dans
la cas ou l'internaute validerait un post vide.
Je viens de me torturer l'esprit pendant 5 bonnes minutes en essayant de
comprendre ta phrase, mais je n'y arrive pas. Dans le doute, je vais
répondre quelque chose en espérant que ce sera la réponse à ta question.
1) La première chose à faire est de vérifier par isset si le tableau
$_REQUEST contient bien une entrée du nom qui t'intéresse.
2) Si le premier résultat est positif, la seconde chose à faire *peut*
être de regarder si la valeur est une chaîne vide, mais ce n'est pas
forcément obligatoire. Vérifier directement que la valeur est bien
de la forme que tu attends peut suffire (par exemple, pour un entier
positif, vérifier qu'elle contient un chiffre ou plus et aucun autre
caractère).
P.-S. : Ton adresse n'est toujours pas conforme aux recommandations pour
les adresses invalides. Ça t'ennuie de mettre le .invalid à la fin ?
j'ai eu le cas sur un script ou j'ai essayé de faire une isset suivi d'un
empty imbriqué dans le premier if.
je me demandais si le formulaire est posté vide est ce que les variables
testé par isset existe quand même,
ci joint un exemple de code.
if(isset($_POST['sexe']) && (isset($_POST['nom'])) &&
(isset($_POST['prenom'])) && (isset($_POST['code_postal']))
&&(isset($_POST['adresse'])) && (isset ($_POST['ville'])) &&(
isset($_POST['telephone'])) &&(isset($_POST['courriel'])) &&
(isset($_POST['message']))){
$sexe=$_POST['sexe'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$cp=$_POST['code_postal'];
$adresse=$_POST['adresse'];
$ville=$_POST['ville'];
$telephone=$_POST['telephone'];
$mail=$_POST['courriel'];
$demande=$_POST['message'];
if (!preg_match("!^0[1-48][0-9]{8}$!", $_POST['telephone']))
{
echo "<br/>veuillez saisir un numéro téléphone correct <br>";
$erreur = 1;
}
if(empty($_POST['courriel']))
{
echo "<br/><p style= "color:red;"> $message_erreur votre mail <br>";
$erreur = 1;
}else
/*if (!preg_match("!^[a-z0-9.-_]+@[a-z.]+.[a-z]{2,3}$!"
$_POST['mail']))
$sql=pg_query($conn, "INSERT INTO contact(sexe, nom, prenom, adresse,
code_postal, ville, telephone, courriel, message)
VALUES('$sexe', '$nom', '$prenom', '$adresse', '$cp','$ville', '$telephone', '$mail','$demande')");
j'ai eu le cas sur un script ou j'ai essayé de faire une isset suivi d'un
empty imbriqué dans le premier if.
je me demandais si le formulaire est posté vide est ce que les variables
testé par isset existe quand même,
ci joint un exemple de code.
if(isset($_POST['sexe']) && (isset($_POST['nom'])) &&
(isset($_POST['prenom'])) && (isset($_POST['code_postal']))
&&(isset($_POST['adresse'])) && (isset ($_POST['ville'])) &&(
isset($_POST['telephone'])) &&(isset($_POST['courriel'])) &&
(isset($_POST['message']))){
$sexe=$_POST['sexe'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$cp=$_POST['code_postal'];
$adresse=$_POST['adresse'];
$ville=$_POST['ville'];
$telephone=$_POST['telephone'];
$mail=$_POST['courriel'];
$demande=$_POST['message'];
if (!preg_match("!^0[1-48][0-9]{8}$!", $_POST['telephone']))
{
echo "<br/>veuillez saisir un numéro téléphone correct <br>";
$erreur = 1;
}
if(empty($_POST['courriel']))
{
echo "<br/><p style= "color:red;"> $message_erreur votre mail <br>";
$erreur = 1;
}else
/*if (!preg_match("!^[a-z0-9.-_]+@[a-z.]+.[a-z]{2,3}$!"
$_POST['mail']))
$sql=pg_query($conn, "INSERT INTO contact(sexe, nom, prenom, adresse,
code_postal, ville, telephone, courriel, message)
VALUES('$sexe', '$nom', '$prenom', '$adresse', '$cp','$ville', '$telephone', '$mail','$demande')");
j'ai eu le cas sur un script ou j'ai essayé de faire une isset suivi d'un
empty imbriqué dans le premier if.
je me demandais si le formulaire est posté vide est ce que les variables
testé par isset existe quand même,
ci joint un exemple de code.
if(isset($_POST['sexe']) && (isset($_POST['nom'])) &&
(isset($_POST['prenom'])) && (isset($_POST['code_postal']))
&&(isset($_POST['adresse'])) && (isset ($_POST['ville'])) &&(
isset($_POST['telephone'])) &&(isset($_POST['courriel'])) &&
(isset($_POST['message']))){
$sexe=$_POST['sexe'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$cp=$_POST['code_postal'];
$adresse=$_POST['adresse'];
$ville=$_POST['ville'];
$telephone=$_POST['telephone'];
$mail=$_POST['courriel'];
$demande=$_POST['message'];
if (!preg_match("!^0[1-48][0-9]{8}$!", $_POST['telephone']))
{
echo "<br/>veuillez saisir un numéro téléphone correct <br>";
$erreur = 1;
}
if(empty($_POST['courriel']))
{
echo "<br/><p style= "color:red;"> $message_erreur votre mail <br>";
$erreur = 1;
}else
/*if (!preg_match("!^[a-z0-9.-_]+@[a-z.]+.[a-z]{2,3}$!"
$_POST['mail']))
$sql=pg_query($conn, "INSERT INTO contact(sexe, nom, prenom, adresse,
code_postal, ville, telephone, courriel, message)
VALUES('$sexe', '$nom', '$prenom', '$adresse', '$cp','$ville', '$telephone', '$mail','$demande')");
Avant de savoir s'il est vide, il faut savoir s'il existe, et s'il est
justement est ce que si une variable esst vide est ce qu'elle existe dans
la cas ou l'internaute validerait un post vide.
(snip)
désolé je me suis peux être mal exprimé.
j'ai eu le cas sur un script ou j'ai essayé de faire une isset suivi d'un
empty imbriqué dans le premier if.
je me demandais si le formulaire est posté vide est ce que les variables
testé par isset existe quand même,
ci joint un exemple de code.
if(isset($_POST['sexe']) && (isset($_POST['nom'])) &&
(isset($_POST['prenom'])) && (isset($_POST['code_postal']))
&&(isset($_POST['adresse'])) && (isset ($_POST['ville'])) &&(
isset($_POST['telephone'])) &&(isset($_POST['courriel'])) &&
(isset($_POST['message']))){
$sexe=$_POST['sexe'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$cp=$_POST['code_postal'];
$adresse=$_POST['adresse'];
$ville=$_POST['ville'];
$telephone=$_POST['telephone'];
$mail=$_POST['courriel'];
$demande=$_POST['message'];
$erreur = 0;
$message_erreur="Veuillez compléter";
if (empty($_POST['nom']))
{
echo "<br/><p style= "color:red;"> $message_erreur votre nom <br>";
$erreur = 1;
}
if (empty($_POST['prenom']))
{
echo "<br/><p style= "color:red;"> $message_erreur votre prénom
<br> ";
$erreur = 1;
}
(snip)
Avant de savoir s'il est vide, il faut savoir s'il existe, et s'il est
justement est ce que si une variable esst vide est ce qu'elle existe dans
la cas ou l'internaute validerait un post vide.
(snip)
désolé je me suis peux être mal exprimé.
j'ai eu le cas sur un script ou j'ai essayé de faire une isset suivi d'un
empty imbriqué dans le premier if.
je me demandais si le formulaire est posté vide est ce que les variables
testé par isset existe quand même,
ci joint un exemple de code.
if(isset($_POST['sexe']) && (isset($_POST['nom'])) &&
(isset($_POST['prenom'])) && (isset($_POST['code_postal']))
&&(isset($_POST['adresse'])) && (isset ($_POST['ville'])) &&(
isset($_POST['telephone'])) &&(isset($_POST['courriel'])) &&
(isset($_POST['message']))){
$sexe=$_POST['sexe'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$cp=$_POST['code_postal'];
$adresse=$_POST['adresse'];
$ville=$_POST['ville'];
$telephone=$_POST['telephone'];
$mail=$_POST['courriel'];
$demande=$_POST['message'];
$erreur = 0;
$message_erreur="Veuillez compléter";
if (empty($_POST['nom']))
{
echo "<br/><p style= "color:red;"> $message_erreur votre nom <br>";
$erreur = 1;
}
if (empty($_POST['prenom']))
{
echo "<br/><p style= "color:red;"> $message_erreur votre prénom
<br> ";
$erreur = 1;
}
(snip)
Avant de savoir s'il est vide, il faut savoir s'il existe, et s'il est
justement est ce que si une variable esst vide est ce qu'elle existe dans
la cas ou l'internaute validerait un post vide.
(snip)
désolé je me suis peux être mal exprimé.
j'ai eu le cas sur un script ou j'ai essayé de faire une isset suivi d'un
empty imbriqué dans le premier if.
je me demandais si le formulaire est posté vide est ce que les variables
testé par isset existe quand même,
ci joint un exemple de code.
if(isset($_POST['sexe']) && (isset($_POST['nom'])) &&
(isset($_POST['prenom'])) && (isset($_POST['code_postal']))
&&(isset($_POST['adresse'])) && (isset ($_POST['ville'])) &&(
isset($_POST['telephone'])) &&(isset($_POST['courriel'])) &&
(isset($_POST['message']))){
$sexe=$_POST['sexe'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$cp=$_POST['code_postal'];
$adresse=$_POST['adresse'];
$ville=$_POST['ville'];
$telephone=$_POST['telephone'];
$mail=$_POST['courriel'];
$demande=$_POST['message'];
$erreur = 0;
$message_erreur="Veuillez compléter";
if (empty($_POST['nom']))
{
echo "<br/><p style= "color:red;"> $message_erreur votre nom <br>";
$erreur = 1;
}
if (empty($_POST['prenom']))
{
echo "<br/><p style= "color:red;"> $message_erreur votre prénom
<br> ";
$erreur = 1;
}
(snip)
Olivier Miakinen wrote:[ citation intégrale ]
désolé je me suis peux être mal exprimé.
j'ai eu le cas sur un script ou j'ai essayé de faire une isset suivi d'un
empty imbriqué dans le premier if.
je me demandais si le formulaire est posté vide est ce que les variables
testé par isset existe quand même,
ci joint un exemple de code.
if(isset($_POST['sexe']) && (isset($_POST['nom'])) [...]
if (empty($_POST['nom']))
{
[...]
Olivier Miakinen wrote:
[ citation intégrale ]
désolé je me suis peux être mal exprimé.
j'ai eu le cas sur un script ou j'ai essayé de faire une isset suivi d'un
empty imbriqué dans le premier if.
je me demandais si le formulaire est posté vide est ce que les variables
testé par isset existe quand même,
ci joint un exemple de code.
if(isset($_POST['sexe']) && (isset($_POST['nom'])) [...]
if (empty($_POST['nom']))
{
[...]
Olivier Miakinen wrote:[ citation intégrale ]
désolé je me suis peux être mal exprimé.
j'ai eu le cas sur un script ou j'ai essayé de faire une isset suivi d'un
empty imbriqué dans le premier if.
je me demandais si le formulaire est posté vide est ce que les variables
testé par isset existe quand même,
ci joint un exemple de code.
if(isset($_POST['sexe']) && (isset($_POST['nom'])) [...]
if (empty($_POST['nom']))
{
[...]
/*if (!preg_match("!^[a-z0-9.-_]+@[a-z.]+.[a-z]{2,3}$!"
$_POST['mail']))
Les adresses en .info n'ont pas le droit de citer chez toi ? Et quid
de ceux qui ont un courriel du type toto.nom.fr ?
J'avais essayé de
faire une Regex qui match les adresses courantes, mais elle n'est
malheureusement pas universelle :
<http://lupusmic.org/pro/docs/regex.php>.
/*if (!preg_match("!^[a-z0-9.-_]+@[a-z.]+.[a-z]{2,3}$!"
$_POST['mail']))
Les adresses en .info n'ont pas le droit de citer chez toi ? Et quid
de ceux qui ont un courriel du type toto.nom.fr ?
J'avais essayé de
faire une Regex qui match les adresses courantes, mais elle n'est
malheureusement pas universelle :
<http://lupusmic.org/pro/docs/regex.php>.
/*if (!preg_match("!^[a-z0-9.-_]+@[a-z.]+.[a-z]{2,3}$!"
$_POST['mail']))
Les adresses en .info n'ont pas le droit de citer chez toi ? Et quid
de ceux qui ont un courriel du type toto.nom.fr ?
J'avais essayé de
faire une Regex qui match les adresses courantes, mais elle n'est
malheureusement pas universelle :
<http://lupusmic.org/pro/docs/regex.php>.
Et quid de mon adresse om+ ? Elle sera aussi refusée
par le test de yoyo, alors qu'elle est valide (elle).
Ça sert à quoi que bibi il se décarcasse ? ;-)
http://faqfclphp.free.fr/#rub5.3
Aaargh ! Tu arrives à lire du texte en violet foncé (ou peut-être en
bleu) sur une image en nuances de violet clair ?
Et quid de mon adresse om+news@miakinen.net ? Elle sera aussi refusée
par le test de yoyo, alors qu'elle est valide (elle).
Ça sert à quoi que bibi il se décarcasse ? ;-)
http://faqfclphp.free.fr/#rub5.3
Aaargh ! Tu arrives à lire du texte en violet foncé (ou peut-être en
bleu) sur une image en nuances de violet clair ?
Et quid de mon adresse om+ ? Elle sera aussi refusée
par le test de yoyo, alors qu'elle est valide (elle).
Ça sert à quoi que bibi il se décarcasse ? ;-)
http://faqfclphp.free.fr/#rub5.3
Aaargh ! Tu arrives à lire du texte en violet foncé (ou peut-être en
bleu) sur une image en nuances de violet clair ?
j'ai eu le cas sur un script ou j'ai essayé de faire une isset suivi d'un
empty imbriqué dans le premier if.
Ça n'a aucun intérêt. Parce qu'en PHP, une chaîne videje me demandais si le formulaire est posté vide est ce que les variables
testé par isset existe quand même,
Normalement oui.ci joint un exemple de code.
if(isset($_POST['sexe']) && (isset($_POST['nom'])) &&
(isset($_POST['prenom'])) && (isset($_POST['code_postal']))
&&(isset($_POST['adresse'])) && (isset ($_POST['ville'])) &&(
isset($_POST['telephone'])) &&(isset($_POST['courriel'])) &&
(isset($_POST['message']))){
C'est pas très lisible tout ça, avec des parenthèses en trop, on se
croirait en LISP ;)
ha bon une parenthese en trop laquelle ?
Tu devrais faire une fonction qui teste la présence
de toutes ces clés dans le tableau $_POST. Et ne pas mettre des
parenthèses inutiles.
$sexe=$_POST['sexe'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$cp=$_POST['code_postal'];
$adresse=$_POST['adresse'];
$ville=$_POST['ville'];
$telephone=$_POST['telephone'];
$mail=$_POST['courriel'];
$demande=$_POST['message'];
À quoi ça sert de supprimer une fonctionnalité si les utilisateurs
s'empressent de jeter les variables HTTP dans le scope global comme tu
le fais ?
if
(!preg_match("!^0[1-48][0-9
{8}$!",
$_POST['telephone']))
{
echo "<br/>veuillez
saisir un numéro
téléphone correct <br>";
$erreur = 1;
}
Un numéro de téléphone est une suite indéterminée de chiffres ;) À
moins qu'il n'y ait une norme internationale ?if(empty($_POST['courriel']))
{
echo "<br/><p style >> "color:red;"> $message_erreur
votre mail <br>"; $erreur = 1;
}else
/*if
(!preg_match("!^[a-z0-9.-_]+@[a-z.]+.[a-z]{2,3}$!"
$_POST['mail']))
Les adresses en .info n'ont pas le droit de citer chez toi ? Et quid
de ceux qui ont un courriel du type toto.nom.fr ?
J'avais essayé de
faire une Regex qui match les adresses courantes, mais elle n'est
malheureusement pas universelle :
<http://lupusmic.org/pro/docs/regex.php>. Son amélioration est dans ma
TODO List ;)$sql=pg_query($conn, "INSERT INTO
contact(sexe, nom, prenom,
adresse,
code_postal, ville, telephone, courriel, message)
VALUES('$sexe', '$nom', '$prenom', '$adresse', '$cp','$ville',
'$telephone', '$mail','$demande')");
XSS détectée !
j'ai eu le cas sur un script ou j'ai essayé de faire une isset suivi d'un
empty imbriqué dans le premier if.
Ça n'a aucun intérêt. Parce qu'en PHP, une chaîne vide
je me demandais si le formulaire est posté vide est ce que les variables
testé par isset existe quand même,
Normalement oui.
ci joint un exemple de code.
if(isset($_POST['sexe']) && (isset($_POST['nom'])) &&
(isset($_POST['prenom'])) && (isset($_POST['code_postal']))
&&(isset($_POST['adresse'])) && (isset ($_POST['ville'])) &&(
isset($_POST['telephone'])) &&(isset($_POST['courriel'])) &&
(isset($_POST['message']))){
C'est pas très lisible tout ça, avec des parenthèses en trop, on se
croirait en LISP ;)
ha bon une parenthese en trop laquelle ?
Tu devrais faire une fonction qui teste la présence
de toutes ces clés dans le tableau $_POST. Et ne pas mettre des
parenthèses inutiles.
$sexe=$_POST['sexe'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$cp=$_POST['code_postal'];
$adresse=$_POST['adresse'];
$ville=$_POST['ville'];
$telephone=$_POST['telephone'];
$mail=$_POST['courriel'];
$demande=$_POST['message'];
À quoi ça sert de supprimer une fonctionnalité si les utilisateurs
s'empressent de jeter les variables HTTP dans le scope global comme tu
le fais ?
if
(!preg_match("!^0[1-48][0-9
{8}$!",
$_POST['telephone']))
{
echo "<br/>veuillez
saisir un numéro
téléphone correct <br>";
$erreur = 1;
}
Un numéro de téléphone est une suite indéterminée de chiffres ;) À
moins qu'il n'y ait une norme internationale ?
if(empty($_POST['courriel']))
{
echo "<br/><p style >> "color:red;"> $message_erreur
votre mail <br>"; $erreur = 1;
}else
/*if
(!preg_match("!^[a-z0-9.-_]+@[a-z.]+.[a-z]{2,3}$!"
$_POST['mail']))
Les adresses en .info n'ont pas le droit de citer chez toi ? Et quid
de ceux qui ont un courriel du type toto.nom.fr ?
J'avais essayé de
faire une Regex qui match les adresses courantes, mais elle n'est
malheureusement pas universelle :
<http://lupusmic.org/pro/docs/regex.php>. Son amélioration est dans ma
TODO List ;)
$sql=pg_query($conn, "INSERT INTO
contact(sexe, nom, prenom,
adresse,
code_postal, ville, telephone, courriel, message)
VALUES('$sexe', '$nom', '$prenom', '$adresse', '$cp','$ville',
'$telephone', '$mail','$demande')");
XSS détectée !
j'ai eu le cas sur un script ou j'ai essayé de faire une isset suivi d'un
empty imbriqué dans le premier if.
Ça n'a aucun intérêt. Parce qu'en PHP, une chaîne videje me demandais si le formulaire est posté vide est ce que les variables
testé par isset existe quand même,
Normalement oui.ci joint un exemple de code.
if(isset($_POST['sexe']) && (isset($_POST['nom'])) &&
(isset($_POST['prenom'])) && (isset($_POST['code_postal']))
&&(isset($_POST['adresse'])) && (isset ($_POST['ville'])) &&(
isset($_POST['telephone'])) &&(isset($_POST['courriel'])) &&
(isset($_POST['message']))){
C'est pas très lisible tout ça, avec des parenthèses en trop, on se
croirait en LISP ;)
ha bon une parenthese en trop laquelle ?
Tu devrais faire une fonction qui teste la présence
de toutes ces clés dans le tableau $_POST. Et ne pas mettre des
parenthèses inutiles.
$sexe=$_POST['sexe'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$cp=$_POST['code_postal'];
$adresse=$_POST['adresse'];
$ville=$_POST['ville'];
$telephone=$_POST['telephone'];
$mail=$_POST['courriel'];
$demande=$_POST['message'];
À quoi ça sert de supprimer une fonctionnalité si les utilisateurs
s'empressent de jeter les variables HTTP dans le scope global comme tu
le fais ?
if
(!preg_match("!^0[1-48][0-9
{8}$!",
$_POST['telephone']))
{
echo "<br/>veuillez
saisir un numéro
téléphone correct <br>";
$erreur = 1;
}
Un numéro de téléphone est une suite indéterminée de chiffres ;) À
moins qu'il n'y ait une norme internationale ?if(empty($_POST['courriel']))
{
echo "<br/><p style >> "color:red;"> $message_erreur
votre mail <br>"; $erreur = 1;
}else
/*if
(!preg_match("!^[a-z0-9.-_]+@[a-z.]+.[a-z]{2,3}$!"
$_POST['mail']))
Les adresses en .info n'ont pas le droit de citer chez toi ? Et quid
de ceux qui ont un courriel du type toto.nom.fr ?
J'avais essayé de
faire une Regex qui match les adresses courantes, mais elle n'est
malheureusement pas universelle :
<http://lupusmic.org/pro/docs/regex.php>. Son amélioration est dans ma
TODO List ;)$sql=pg_query($conn, "INSERT INTO
contact(sexe, nom, prenom,
adresse,
code_postal, ville, telephone, courriel, message)
VALUES('$sexe', '$nom', '$prenom', '$adresse', '$cp','$ville',
'$telephone', '$mail','$demande')");
XSS détectée !