Page 1 sur 1

Problème espace membre

Posté : 30 nov. 2005, 18:51
par Fredooo
Bonjour,

voila je suis entrain de creer un espace membre mais problème! des que je me loggue il me met toujours le message d'erreur que j'ai mit quand il y a un champ non remplit alors que je remplit bien les champ!!

Voici la page concerner:
<?php 
// On commence par récupérer les champs 
if(isset($_POST['login']))      $login=$_POST['login']; 
else      $login=""; 

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

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

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

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

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

// On vérifie si les champs sont vides 
if(empty($login) OR empty($pwd) OR empty($email) OR empty($titresite) OR empty($url)) 
    { 
    echo '<font color="red">Attention, seul le champ <b>Parrain</b> peut rester vide !</font><br><a href="register.htm">Recommencer</a>'; 
    } 
// Aucun champ n'est vide, on peut enregistrer dans la table 
else      
    { 
include 'config.php'; 
    
    // on regarde si le parrain existe 
    $sql = "SELECT id FROM tbl_user WHERE login='$parrain'"; 
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
    
    // on compte le nombre de résultats 
    $res = mysql_num_rows($req); 

    if($res > 0) // le parrain existe déjà, on insère 
        { 
        $sql = "INSERT INTO tbl_user(id,login,pwd,email,titresite,url,parrain) VALUES('','$login','$pwd','$email','$titresite','$url','$parrain')"; 
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
        
        // on affiche le résultat pour le visiteur 
        echo 'Vos infos ont été ajoutées.'; 
        } 
        if(empty($parrain)) 
        { 
        $sql = "INSERT INTO tbl_user(id,login,pwd,email,titresite,url,parrain) VALUES('','$login','$pwd','$email','$titresite','$url','$parrain')"; 
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
        
        // on affiche le résultat pour le visiteur 
        echo 'Vos infos ont été ajoutées.'; 
        } 
    else  // Le parrain nexiste pas on affiche lerreur 
        {    
        echo 'Parrain inconnu<br><a href=register.htm>Recommencer</a>'; 
        } 
    mysql_close();  // on ferme la connexion 
    } 
?>
Que faire?

Merci beaucoup pour votre aide!

Fredo

Posté : 30 nov. 2005, 20:01
par DarkBlue
Hello ,

J'ai pas bien reussi a lire , peux tu editer ton, post et passer tout le code dans les bonnes balises c a d (PHP) et non (code)

Merci a toi

Posté : 30 nov. 2005, 20:12
par Truc
outre la coloration syntaxique verifis l'orthographe de tes champs dans le formulaire et dans les variables POST :wink:

Posté : 01 déc. 2005, 00:33
par Cyrano
Un peu de ménage dans le code ne ferait pas de tort. J'ajoute qu'en PHP, le "ou" s'écrit "||" et non "OR" qui s'utilise en SQL
Essaye comme ça:
<?php
// On commence par récupérer les champs
$login     = (isset($_POST['login']))     ? $_POST['login']     : "";
$pwd       = (isset($_POST['pwd']))       ? $_POST['pwd']       : "";
$email     = (isset($_POST['email']))     ? $_POST['email']     : "";
$titresite = (isset($_POST['titresite'])) ? $_POST['titresite'] : "";
$url       = (isset($_POST['urlsite']))   ? $_POST['urlsite']   : "";
$parrain   = (isset($_POST['parrain']))   ? $_POST['parrain']   : "";

// On vérifie si les champs sont vides
if(empty($login) || empty($pwd) || empty($email) || empty($titresite) || empty($url))
{
?>
<font color="red">Attention, seul le champ <b>Parrain</b> peut rester vide !</font><br>
<a href="register.htm">Recommencer</a>
<?php
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
    include 'config.php';
    // on regarde si le parrain existe
    $sql = "SELECT id FROM tbl_user WHERE login='". $parrain ."'";
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

    // on compte le nombre de résultats
    $res = mysql_num_rows($req);

    if($res > 0) // le parrain existe déjà, on insère
    {
        $sql = "INSERT INTO tbl_user(login, pwd, email, titresite, url, parrain) ".
               "VALUES('". $login ."', '". $pwd ."', '". $email ."', '". $titresite ."', '". $url ."', '". $parrain ."')";
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

        // on affiche le résultat pour le visiteur
        echo 'Vos infos ont été ajoutées.';
    }
    if(empty($parrain))
    {
        $sql = "INSERT INTO tbl_user(login, pwd, email, titresite, url, parrain) ".
               "VALUES('". $login ."', '". $pwd ."', '". $email ."', '". $titresite ."', '". $url ."', '". $parrain ."')";
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

        // on affiche le résultat pour le visiteur
        echo 'Vos infos ont été ajoutées.';
    }
    else  // Le parrain nexiste pas on affiche lerreur
    {
        echo 'Parrain inconnu<br><a href="register.htm">Recommencer</a>';
    }
    mysql_close();  // on ferme la connexion
}
?>