Formulaire php et mysql

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


ASGlobalServices
Nouveau WRInaute
 
Messages: 19
Inscription: Ven Jan 25, 2008 16:53

Formulaire php et mysql

Message le Mar Mai 13, 2008 20:20

Bonjour !

J'ai trouvé un tuto que je trouve pas mal pour mon cas ici : http://www.6ma.fr/tuto/faire+formulaire+php+html+css+sur+3-179

Je demande de l'aide ici d'une part parce que je commence à y avoir mes "habitudes", d'autre part parce que le forum du lien plus haut n'a pas l'air très actif.

Je l'ai un peu adapté (un peu parce que je n'y connais pas grand chose), ce qui donne :

Code: Tout sélectionner
<?php
// Parametres mysql
define('DB_SERVER', 'localhost'); // serveur mysql
define('DB_SERVER_USERNAME', '*****'); // nom d'utilisateur
define('DB_SERVER_PASSWORD', '*****'); // mot de passe
define('DB_DATABASE', 'formulaire'); // nom de la base

// Connexion au serveur mysql
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);

//Vérification du remplissage des champs
$msg_erreur = "Erreur ! Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte";
$message = $msg_erreur;

if (empty($_POST['nom_prenom']))
  $message .= "Nom, Prénom<br/>";
if (empty($_POST['adresse']))
  $message .= "Adresse<br/>";
if (empty($_POST['telephone']))
  $message .= "Téléphone<br/>";
if (empty($_POST['mail']))
  $message .= "Adresse Mail<br/>";
if (empty($_POST['besoin']))
  $message .= "Besoins<br/>";

//Protection des données
else {
}
  foreach($_POST as $index => $valeur) {
    $$index = mysql_real_escape_string(trim($valeur));
  }

//Insertion des données dans la table
  $sql = "INSERT INTO formulaire VALUES ('', '".$societe."', '".$nom_prenom."', '".$adresse."', '".$telephone."', '".$mail."', '".$besoin."', '".$newsletter."', now())";
  $res = mysql_query($sql);

  if ($res) {
    echo $msg_ok;
  } else {
    echo mysql_error();
}
?>


Mes problèmes sont les suivants :
1. Le champ "Besoin" ne se remplit pas.
2. Apparemment la fonction pour vérifier si les champs sont tous remplis ne fonctionne pas.
3. J'ai aussi un champ "Datetime" dans la table qui n'affiche que des zéros.

Merci de votre aide

Sandra


Bacteries
WRInaute accro
WRInaute accro
 
Messages: 1333
Inscription: Jeu Mai 27, 2004 13:04

Message le Mar Mai 13, 2008 22:16

Utilise pour ta requête la forme :
INSERT INTO taTable (colone1, colone2, ...) VALUES ('value1', 'value2')
pour éviter certains soucis déjà (avec des values qui corresponde à l'ordre des colonnes bien sûr).

Ta fonction créé un message mais ne fait aucune vérification au final.

Fais plutôt :
Code: Tout sélectionner
  $enErreur = false;
if (empty($_POST['nom_prenom'])) {
  $message .= "Nom, Prénom<br/>";
  $enErreur = true;
}

et au moment de lancer ta requête test si tu as une erreur :
Code: Tout sélectionner
if (!$enErreur)
{
// ta requete
} else {
echo $message;
}


(sinon c'est assez moche comme code je trouve)


ASGlobalServices
Nouveau WRInaute
 
Messages: 19
Inscription: Ven Jan 25, 2008 16:53

Message le Mer Mai 14, 2008 9:38

Bonjour,

Certains champs ne se remplissent toujours pas... et c'est vrai que le code est pas génial finalement...

Je crois que je vais utiliser un simple formmail pour le moment.

Si vraiment le besoin de stocker dans une bdd se pointe, je reposterai.

Merci quand même de la réponse

Sandra


e-kiwi
Modérateur
Modérateur
 
Messages: 13854
Inscription: Mar Déc 23, 2003 9:04

Message le Mer Mai 14, 2008 9:45

faudrait voir le formulaire (si il faut tu n'as tout simplement pas de champ "besoin" dans ton formulaire)


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités