PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 03-10-2009 13:25:45

Nanard25
Membre
Inscription : 03-10-2009
Messages : 6

[Résolu] Enregistrement dans base mysql

Bonjour à tous,

Je commence en PHP, et j'ai naturellement le problème suivant:

Je n'arrive pas à enregistrer dans ma base mysql en local, j'utilise Wamserver

Voici mon code page formulaire:

<form method="POST" action="add.php">
<center>
<input type="text" name="nom" size="20" value="nom" maxlength="25"><br>
<input type="text" name="pwd" size="20" value="pwd" maxlength="10"><br>
<input type="text" name="email" size="20" value="email" maxlength="30">
<input type="submit" value="Envoyer" name="envoyer">
</center>
</form>

page add.php:

<?php

// On récupère les champs (voir plus haut)
if(isset($_POST['nom']))  $nom=$_POST['nom'];
else      $nom="";

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

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

// On vérifie si les champs sont vides
if(empty($nom) OR empty($pwd) OR empty($email))
    {
    echo ('Attention, remplir tous les champs');
    }
// Aucun champ n'est vide, on peut enregistrer dans la table
else    
    {
    $db = mysql_connect('localhost', 'user', '');  // connexion à la base
    mysql_select_db('membre',$db);                  // sélection de la base
   
    // on regarde si l'url existe déjà
    $sql = "SELECT nom FROM membre WHERE nom='$nom'";
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql');
   
    // on compte le nombre de résultats
    $res = mysql_num_rows($req);

    if($res!=0)  // le nom existe déjà, on affiche un message d'erreur
        {
        echo ('Désolé, mais ce nom existe déjà dans notre base.');
        }
    else  // L'url n'existe pas, on insère les informations du formulaire dans la table
        {  
        $sql = "INSERT INTO membre(id, nom, pwd,email, identifiant) VALUES('','$nom','$pwd','$email','')";
        mysql_query($sql) or die('Erreur SQL !'.$sql');
       
        // on affiche le résultat pour le visiteur
        echo ('
Vos infos on été ajoutées.');
        }
    mysql_close();  // on ferme la connexion
    }
?>

je n'ai pas d'erreur mais pas d'enregistrement...

Pouvez-vous me dire pourquoi

merci à tous et bon après midi
nanard25

Hors ligne

#2 03-10-2009 15:38:02

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Enregistrement dans base mysql

SAluton,
Essaye comme ça, ça devrait aller mieux

$sql = "INSERT INTO membre( nom, pwd,email, identifiant) VALUES('$nom','$pwd','$email','')";

Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 03-10-2009 18:49:36

Nanard25
Membre
Inscription : 03-10-2009
Messages : 6

Re : [Résolu] Enregistrement dans base mysql

Bonsoir à Tous,

Merci pour ta réponse SAluton, mais cela ne fonctionne toujours pas....

Merci et bonne soirée à Tous

nanard25

Hors ligne

#4 04-10-2009 07:55:26

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : [Résolu] Enregistrement dans base mysql

Salut,

Je ne sais pas si ton code original est strictement identique à celui posté mais dans ce dernier, ligne 38 il y a une quotte en trop après $sql.
Si l'erreur viens de là, ton serveur est configuré pour ne pas afficher les erreurs et tu devrai modifier cela.


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

#5 04-10-2009 08:21:12

Nanard25
Membre
Inscription : 03-10-2009
Messages : 6

Re : [Résolu] Enregistrement dans base mysql

Bonjour à Toutes et à Tous,

merci pour ta réponse McAllan,

j'ai modifié ma ligne par :
$sql = "INSERT INTO membre( nom, pwd,email) VALUES('$nom','$pwd','$email')";

Voici ma page config.php:
<?php
// Généralement la machine est localhost
// c'est-a-dire la machine sur laquelle le script est hébergé

// Déclaration des paramètres de connexion
$host = 'localhost';

// Généralement la machine est localhost
// c'est-a-dire la machine sur laquelle le script est hébergé

$user = 'root';

$bdd = 'membre';

$passwd  = "";

//$connexion = $host .',' .$user .',' .$bdd .',' .'""';

?>

Par contre j'utilise wampServer par défaut, je ne sais pas si cela viens de là mais je ne sais pas le configurer

Merci et bon dimanche
nanard25

Hors ligne

#6 05-10-2009 15:13:48

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : [Résolu] Enregistrement dans base mysql

<?php
    $db = mysql_connect('localhost', 'user', '');  // connexion à la base
    mysql_select_db('membre',$db);                // sélection de la base
    // on regarde si l'url existe déjà
    $sql = "SELECT nom FROM membre WHERE nom='$nom'";
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql');
?>

Perso, j'aurais fait :

<?php
   $link = mysql_connect ($host,$user,$pass); // connexion à la base
   mysql_select_db($db);                               // sélection de la base
   $sql = "la requete qui va bien";
   $req = mysql_query($sql, $link) or die('Erreur SQL !'.$sql');
?>

1. Grosse Erreur de nommer $db la première ligne [confusion avec le nom de la base de donnée]
2. dans le mysql_query, t'as pas l'impression d'avoir zapé le $link ???? [idem pour ton update]


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#7 05-10-2009 19:43:04

Nanard25
Membre
Inscription : 03-10-2009
Messages : 6

Re : [Résolu] Enregistrement dans base mysql

Bonsoir à Tous,

merci pour la réponse Alnoss, j'ai trouvé en fait le problème venait de la bas epar elle même, je n'ai pas compris pourquoi mais je l'ai refaite et maintenant cela fonctionne.

Merci encore et à bientôt

Bonne soirée à Tous

nanard25

Hors ligne

Pied de page des forums