ALERTE - Soucis avec formulaire ...

FXPHANTOM Messages postés 60 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 10 mai 2012 - 1 févr. 2010 à 09:04
FXPHANTOM Messages postés 60 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 10 mai 2012 - 1 févr. 2010 à 13:40
Bonjour ,
J'ai rencontré le problème suivant : "Erreur lors de l'écriture du message" lors de l'envoi de ma page de formulaire . En espérant avoir un peu de votre aide, je penses que ça ne doit pas être trop grave mais j'ai beau chercher sur les forums et autres sites mais je ne vois pas d'où vient l'erreur à celui-ci.

Page "formulaire.php"







Formulaire parrainage




Votre Nom:


Votre email:




Veuillez insérer le nom de vos filleuls :



Nom filleul:


Email:




Nom filleul:


Email :



Nom filleul:


Email:




Nom filleul:



Email:



Nom filleul:


Email :
















et page ajout_entree.php



2 réponses

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
1 févr. 2010 à 13:13
Salut,

Un petit tour vite fait des erreurs plus ou moins graves visibles au premier coup d'oeil :

<?php require_once('auth/connexion.php') ?>
<?php
...
?>

S'pa vraiment un erreur mais c'est un peu naze de fermer la pseudo balise php pour la ré-ouvrir juste après. À part surcharger le code ça sert à rien.

//récupération des données entrées par l'utilisateur
$nompar = $_POST['nompar'];
$emailpar = $_POST['emailpar'];
$nom1 = $_POST['nom1'];
$email1 = $_POST['email1'];
$nom2 = $_POST['nom2'];
$email2 = $_POST['email2'];
$nom3 = $_POST['nom3'];
$email3 = $_POST['email3'];
$nom4 = $_POST['nom4'];
$email4 = $_POST['email4'];
$nom5 = $_POST['nom5'];
$email5 = $_POST['email5'];

Ça sert à quoi à part une fois de plus surcharger le code ? $_POST est une variable comme les autres (mis à part le fait qu'elle soit superglobale), tu peux l'utiliser comme les autres. Et en plus en gardant $_POST tu sais d'où provient le contenu lorsque tu l'utilise, c'est plus pratique pour s'y retrouver.

$dbprotect=mysql_pconnect

$dpprotect me semble bien mal choisi comme nom de variable, l'identifiant retourné par mysql_pconnect n'a strictement rien à voir avec une quelconque protection, Ça embrouille plus l'esprit qu'autre chose quand on essaye de lire ton code.

or die()

Beark pour l'utilisateur. Au besoin fait toi une fonction genre my_die qui te permet de logger l'erreur et de rediriger l'utilisateur vers une page d'erreur généraliste. C'est bien plus poli vis à vis des utilisateur et moins dangereux que d'afficher l'erreur.

$date=date("Y-m-d"); // on récupère la date

Encore un truc qui ne sert à rien, en SQL tu as les fonctions NOW() et compagnies qui font tout pour toi et sont bien plus propres et claires.

mysql_close($dbprotect);

Tu viens de perdre tout l'intéret d'une connexion persistante...

$sql="INSERT INTO 'kxpar'( `id_userpar` , `nompar` , `emailpar` , `date` , `nom1`, 'email1', 'nom2', 'email2', 'nom3', 'email3', 'nom4', 'email4', 'nom5', 'email5' ) VALUES ( 'NULL' , '$nompar', '$emailpar', '$date', '$nom1', '$email1', '$nom2', '$email2', '$nom3', '$email3', '$nom4', '$email4', '$nom5', '$email5' );";

Tu ne dois pas mettre le nom de la table entre simples quotes ('kxpar'). Laisse le donc sans rien autour ou bien entre backquotes si tu veux (`kxpar`) mais pas de simple quotes.

Les injection de SQL bon sang ! Utilise mysql_real_escape_string() sur les chaines de caractères pour éviter de te faire exploser ta DB en moins de 2 secondes. Plus d'infos sur ce lien : http://www.php.net/manual/fr/security.database.sql-injection.php
0
FXPHANTOM Messages postés 60 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 10 mai 2012
1 févr. 2010 à 13:40
ok merci pour tes précieux renseignements !
0