formulaire alimentation base mysql

manureva
Invité n'ayant pas de compte PHPfrance

02 nov. 2011, 16:54

Bonjour,

J'ai un petit problème avec mon code php qui récupére les données d'un formulaire dans le but d'alimenter une table mysql.

La connexion est bonne, le nom et prénom marche, mais c'est tout. La date s'écrit 0000/00/00 au lieu d'écrire par exemple: 2011/11/02. De plus le le champs s'écrit dans le champs email..

voici le code:
<?php 
// On commence par récupérer les champs 
if(isset($_POST['nom']))      $nom=$_POST['nom'];
else      $nom="";

if(isset($_POST['prenom']))      $prenom=$_POST['prenom'];
else      $prenom="";

if(isset($_POST['email']))      $email=$_POST['email'];
else      $email="";

if(isset($_POST['nom_event']))      $email=$_POST['nom_event'];
else      $nom_event="";

if(isset($_POST['descriptif']))      $email=$_POST['descriptif'];
else      $descriptif="";

if(isset($_POST['date']))      $email=$_POST['date'];
else      $date="";

if(isset($_POST['jour']))      $email=$_POST['jour'];
else      $jour="";

if(isset($_POST['heure']))      $email=$_POST['heure'];
else      $heure="";

if(isset($_POST['adresse']))      $email=$_POST['adresse'];
else      $adresse="";

if(isset($_POST['code_postal']))      $email=$_POST['code_postal'];
else      $code_postal="";

if(isset($_POST['ville']))      $email=$_POST['ville'];
else      $ville="";

if(isset($_POST['contact']))      $email=$_POST['contact'];
else      $contact="";




// On vérifie si les champs sont vides 
if(empty($nom) OR empty($prenom) OR empty($email)) 
    { 
    echo '<font color="red">Attention, aucun champs peut rester vide !</font>'; 
    } 

// Aucun champ n'est vide, on peut enregistrer dans la table 
else      
    { 
       // connexion à la base
$db = mysql_connect('serveur', 'login', 'pass')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  

    mysql_select_db('base',$db)  or die('Erreur de selection '.mysql_error()); 
     
    // on écrit la requête sql 
    $sql = "INSERT INTO T_evenement (nom,prenom,email,nom_event,descriptif,date,jour,heure,adresse,code_postal,ville,contact) VALUES('$nom','$prenom','$email','$nom_event','$descriptif','$date','$jour','$heure','$adresse','$code_postal','$ville','$contact')"; 
     
    // on insère les informations du formulaire dans la table 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 

    // on affiche le résultat pour le visiteur 
    echo 'Vos infos on été ajoutées.'; 

    mysql_close();  // on ferme la connexion 
    }  
?>

Par avance merci.
:D

ViPHP
ViPHP | 2577 Messages

02 nov. 2011, 17:05

Bonjour,

Tu a oublié des modif de $email en recopiant des lignes :

if(isset($_POST['nom_event'])) $email=$_POST['nom_event'];
else $nom_event="";

if(isset($_POST['descriptif'])) $email=$_POST['descriptif'];
else $descriptif="";

if(isset($_POST['date'])) $email=$_POST['date'];
else $date="";

if(isset($_POST['jour'])) $email=$_POST['jour'];
else $jour="";

if(isset($_POST['heure'])) $email=$_POST['heure'];
else $heure="";

if(isset($_POST['adresse'])) $email=$_POST['adresse'];
else $adresse="";

if(isset($_POST['code_postal'])) $email=$_POST['code_postal'];
else $code_postal="";

if(isset($_POST['ville'])) $email=$_POST['ville'];
else $ville="";

manureva
Invité n'ayant pas de compte PHPfrance

02 nov. 2011, 17:29

Merci beaucoup pour ta réponse rapide.

ca marche nickel maintenant. :D:D:D

Saurais tu pourquoi dans mes résultats (sur ma page coté client et mysql) les "é" ne s'affiche pas? dans la table j'ai mis l'interclassement sur "UTF8_général_ci , j'ai aussi essayé avec UTF8_bin mais aucune différence.

Cdlt

Manu :D

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 nov. 2011, 18:49

salut,

des pistes sur le sujet faq-tutoriels/encodage-utf-t245062.html

@+
Il en faut peu pour être heureux ......

manureva
Invité n'ayant pas de compte PHPfrance

03 nov. 2011, 10:16

Merci beaucoup.