connection à mysql et alimentation depuis un formulaire ?

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

DISCRET
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 185
Inscription: Lun Oct 18, 2004 3:42

connection à mysql et alimentation depuis un formulaire ?

Message le Lun Sep 12, 2005 22:40

Bonsoir,
j'essaie depuis un formulaire d'alimenter une base de données. Mon problème est que je n'arrive pas à l'alimenter.
le code qui en théorie devrait permettre la connection à mysql :
Code: Tout sélectionner
<?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="";

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

// Aucun champ n'est vide, on peut enregistrer dans la table
else     
    {
       // connexion à la base
$db = mysql_connect('mysql4.7', 'login', 'lelogicievad", "pswd crypté')  or die('Erreur de connexion '.mysql_error());

    // sélection de la base 
    $mysql_select_db('lelogicievad',$db)  or die('Erreur de selection '.mysql_error());
   
    // on écrit la requête sql
    $sql = "INSERT INTO evad_clients(id, nom, prenom ) VALUES('','$nom','$prenom')";
   
    // 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
    }
?>


qu'est ce qu'il ne va pas, pourquoi ça ne s'enregistre pas dans la base :(


Mumuri
WRInaute accro
WRInaute accro
 
Messages: 1792
Inscription: Mer Nov 03, 2004 10:50

Message le Mar Sep 13, 2005 7:16

essaye de faire un echo $sql et regarde si ca enregistre dans la base.


Fab le Fou
WRInaute accro
WRInaute accro
 
Messages: 1511
Inscription: Jeu Déc 02, 2004 15:20

Message le Mar Sep 13, 2005 9:45

Salut,

Dans ton code tu mets :

Code: Tout sélectionner
$sql = "INSERT INTO evad_clients(id, nom, prenom ) VALUES('','$nom','$prenom')";


Si ton champ "id" a été défini comme s'incrémentant tout seul, ce qui je suppose est le cas, tu peux simplement faire :

Code: Tout sélectionner
$sql = "INSERT INTO evad_clients(nom, prenom ) VALUES('$nom','$prenom')";


A+, Fab

DISCRET
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 185
Inscription: Lun Oct 18, 2004 3:42

Message le Mar Sep 13, 2005 12:07

merci de votre aide, j'ai finalement trouvé. Ca devait être la fatigue :)
Code: Tout sélectionner
$mysql_select_db('lelogicievad',$db)  or die('Erreur de selection

il fallait juste que je retire le $ devant mysql et là "$prenom" dans la base j'avais mis un N à la fin au lieu d'un M.

DISCRET
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 185
Inscription: Lun Oct 18, 2004 3:42

Message le Mar Sep 13, 2005 17:37

une autre difficulté se pose à moi, cette fois ce sont les sessions.

je mets les données en session comme ça :
Code: Tout sélectionner
  $_SESSION['nom'] = $data['nom'];
  $_SESSION['prenom'] = $data['prenom'];
  $_SESSION['telfd'] = $data['telfd'];


et pour les récupérer :
Code: Tout sélectionner
echo 'Nom : ',$_SESSION['nom'],'<br />
Prénom : ',$_SESSION['prenom'],'<br />
Tél fixe domicile : ',$_SESSION['telfd'],'<br />


les deux premières sont récupéré mais pour la (les) dernière(s) il m'affiche juste "Tél fixe domicile :". Si j'inverse la deuxième et la troisième "nom" et "prénom" sont toujours bon mais "tél fixe domicile" reste toujours blanc.

Didier_S
WRInaute passionné
WRInaute passionné
 
Messages: 563
Inscription: Mar Aoû 24, 2004 22:25

Message le Mer Sep 14, 2005 3:45

Fab le Fou > je suis un fervent défenseur de cette façon de coder, qui simplifie les requêtes ET la maintenance du code.
Ne mettez dans les requêtes SQL que le strict minimum de champs, et utilisez quand c'est possible les valeurs de champs par défaut MySQL.

(edit, j'ai oublié de participer au post)
Vérifie que ton champ se nomme bien 'telfd', et qu'il est rempli !

DISCRET
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 185
Inscription: Lun Oct 18, 2004 3:42

Message le Mer Sep 14, 2005 11:28

Didier_S a écrit:Fab le Fou > je suis un fervent défenseur de cette façon de coder, qui simplifie les requêtes ET la maintenance du code.
Ne mettez dans les requêtes SQL que le strict minimum de champs, et utilisez quand c'est possible les valeurs de champs par défaut MySQL.

(edit, j'ai oublié de participer au post)
Vérifie que ton champ se nomme bien 'telfd', et qu'il est rempli !


J'ai suivi votre recommandation concernant ID :)
Pour le deuxième sujet après avoir lu des dizaines de pages sur les sessions j'ai "découvert" qu'il fallait mettre les URL en absolu et non pas en relatif. Mais je ne comprend pas pourquoi les champs Nom et Prénom passaient toujours.
Donc voila pour le moment tout se passe bien, on verra bien la prochaine étape ;)


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