begin process at 2012 05 28 15:44:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

ALERTE - Soucis avec formulaire ...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ALERTE - Soucis avec formulaire ...

lundi 1 février 2010 à 09:04:12 | ALERTE - Soucis avec formulaire ...

FXPHANTOM

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"

Code PHP :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulaire parrainage</title>
</head>

<body>
<form name="formulaire" method="post" action="ajout_entree.php">
  <label for="nom">Votre Nom:</label>
    <input type="text" id="nompar" name="nom" /><br />
    <label for="email">Votre email:</label>
    <input type="text" id="emailpar" name="email" /><br>
    <br />
  <p>Veuillez insérer le nom de vos filleuls :</p>
  <p>
    <label for="nom">Nom filleul:</label>
    <input type="text" id="nom1" name="nom" /><br />
    <label for="email">Email:</label>
    <input type="text" id="email1" name="email" /><br>
    <br />
    <label for="nom">Nom filleul:</label>
    <input type="text" id="nom2" name="nom" /><br />
    <label for="email">Email :</label>
    <input type="text" id="email2" name="email" /><br><br />
    <label for="nom">Nom filleul:</label>
    <input type="text" id="nom3" name="nom" /><br />
    <label for="email">Email:</label>
    <input type="text" id="email3" name="email" /><br>
    <br />
    <label for="nom">Nom filleul:</label>
    <input type="text" id="nom4" name="nom" />
    <br />
    <label for="email">Email:</label>
    <input type="text" id="email4" name="email" /><br><br />
    <label for="nom">Nom filleul:</label>
    <input type="text" id="nom5" name="nom" /><br />
    <label for="email">Email :</label>
    <input type="text" id="email5" name="email" />
  </p>
  <p><br />
    <input type="submit" value="Envoyer"/>
  </p>
</form>
</body>

</html>


et page ajout_entree.php

Code PHP :
<?php require_once('auth/connexion.php') ?>
<?php
isset($_POST['nompar']) or die('Pas de paramètres en entrée');
 
//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'];
 
//connexion à la base
$dbprotect=mysql_pconnect($hostname_dbprotect, $username_dbprotect, $password_dbprotect) or die('Erreur de connexion au SGBD.');
mysql_select_db('kxprc',$dbprotect) or die('La base de données n\'existe pas');
 
//insertion des données
 
$date=date("Y-m-d"); // on récupère la date
$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' );";
$res=mysql_query($sql,$dbprotect);
mysql_close($dbprotect);
if ($res==NULL) die('Erreur lors de l\'écriture du message'.mysql_error());
 
print "Message correctement ajouté.<br />Votre demande a bien été prise en compte, Merci !";
?>



Merci d'avance !!!
lundi 1 février 2010 à 13:13:33 | Re : ALERTE - Soucis avec formulaire ...

TychoBrahe

Salut,

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

Code PHP :
<?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.

Code PHP :
//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.

Code PHP :
$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.

Code PHP :
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.

Code PHP :
$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.

Code PHP :
mysql_close($dbprotect);

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

Code PHP :
$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 : [ Lien ]
lundi 1 février 2010 à 13:40:29 | Re : ALERTE - Soucis avec formulaire ...

FXPHANTOM

ok merci pour tes précieux renseignements !


Cette discussion est classée dans : code, php, formulaire, email, filleul


Répondre à ce message

Sujets en rapport avec ce message

envoie d'un formulaire par email [ par rochdiboubaker ] salut, j'ai téléchargé un code d'un formulaire d'envoie à un email (php), et j'ai essayé de l'executer avec Easy PHP, mais il a retourné ce message. code php/flash pour grand néophyte help ! [ par parisvdw ] Bonjour. J'ai fait un site sous flash, sans rien y connaître grâce à un tutoriel très complet et clair, mais qui ne m'explique pas cependant comment f Problème récupération des variables depuis un formulaire inclus dans un code php [ par anakyl ] Bonjour à tous,Je suis depuis plusieurs jours sur un problème que je n'arrive pas à résoudre.Je souhaite créer un formulaire avec une liste déroulante Récupérer du code html saisie dans un input [ par coba5 ] Bonjour,J'aimerai qu'un visiteur insere le lien d'une vidéo dans un formulaire, qu'il clique sur le bouton inserer la vidéo et que la vidéo s'affiche Vérification formulaire livre d'or [ par Danamel ] Bonjour à tous J'ai actuellement sur mon site un livre d'or qui fonctionne mais désirant le modifier afin de changer sa présentation je fait un s Pb Formulaire envoi email PHP [ par lasmarco ] Bonjour,étant amateur en PHP, j'ai depuis peu hebergé un ancien site web sur un serveur d'un client possédant IIS. Le souci s'est que depuis vendredi fonction mail avec php [ par cyrilherve ] salut à tous,je m'initie à l'utilisation de la fonction mail avec php. j'ai pris au hasard un script d'envoi d'e-mail dans un tutoriel d'apprentissage mail à plusieurs destinataires ne marche pas [ par IchabOd69 ] Bonjour, J'aurais besoin de votre aide, j'ai essayé de faire quelque chose mais je n'y arrive pas. En cochant une case dans un formulaire, je souhait Reponse Formulaire Php en Pop Up [ par nini2tignes ] Bonjour tout le monde, je recherche parfois des choses vraiment bête. j'ai un formulaire de contact Php qui fonctionne pas mal. [b]Lorsque qu'il est Insérer les données d'un formulaire généré en php/Mysql [ par nlsitdeo ] Bonjour, Je souhaiterais insérer des données d'un formulaire dans une table commande sachant que les champs de ce formulaire sont déjà générés par u


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,668 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales