Créer un compte
Connexion

espace menbre probleme sql

Pour créer et répondre aux sujets, vous devez être connecté.
Pages: 1
Auteur Message
moi_crs
29/09/2010 à 15:28:41
moi_crs
Membre
bonjour,
jai un probleme qui safiche l'or se que l'on clic sur insription du formulaire d'insription de mon site (le probleme!):

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/srtrail/public_html/Espace_membre/inscription.php on line 30

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/srtrail/public_html/Espace_membre/inscription.php on line 34

que faut il faire

nb: j'ai deja remplie la page mysqlcnn.php mais rien ni fait
merci

Aglzime
01/10/2010 à 15:10:07
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux ! Aglzime
Membre
On peut pas imaginer le code de ta page comme ça o_O!
Donc peut-tu nous donner le code ta page ??

Cordialement

moi_crs
01/10/2010 à 17:52:05
moi_crs
Membre
a oui desoler :
<?php
//On se connecte a la Base de donnee
include('mysqlcnn.php');
//On verifie si le formulaire a ete envoye
if(isset($_POST['pseudo'], $_POST['pass'], $_POST['passverif'], $_POST['email'], $_POST['avatar']) and $_POST['pseudo']!='')
{
//On verifie si le mot de passe et celui de la verification sont identiques
if($_POST['pass']==$_POST['passverif'])
{
//On verifie si le mot de passe a 6 caracteres ou plus
if(strlen($_POST['pass'])>=6)
{
//On enleve lechappement si get_magic_quotes_gpc est active
if(get_magic_quotes_gpc())
{
$_POST['pseudo'] = stripslashes($_POST['pseudo']);
$_POST['pass'] = stripslashes($_POST['pass']);
$_POST['email'] = stripslashes($_POST['email']);
$_POST['avatar'] = stripslashes($_POST['avatar']);
}
//On verifie si lemail est valide
if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
{
//On echape les variables pour pouvoir les mettre dans une requette SQL
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$pass = mysql_real_escape_string($_POST['pass']);
$email = mysql_real_escape_string($_POST['email']);
$avatar = mysql_real_escape_string($_POST['avatar']);
//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
$dn = mysql_fetch_array(mysql_query('select count(*) as nb from utilisateurs where pseudo="'.$pseudo.'"'));
if($dn['nb']==0)
{
//On recupere le nombre dutilisateur pour donner un identifiant a lutilisateur actuel
$dn2 = mysql_fetch_array(mysql_query('select count(*) as nb from utilisateurs'));
$id = $dn2['nb']+1;
//On enregistre les informations dans la base de donnee
if(mysql_query('insert into utilisateurs(id, pseudo, pass, email, avatar, dateinscription) values ('.$id.', "'.$pseudo.'", "'.$pass.'", "'.$email.'", "'.$avatar.'", "'.time().'")'))
{
//Si ca a fonctionne, on naffiche pas le formulaire
$form = false;
?>
Vous avez bien &eacute;t&eacute; inscrit. Vous pouvez dor&eacute;navant vous connecter.<br />
<a href="connection.php">Se connecter</a>
<?php
}
else
{
//Sinon on dit quil y a eu une erreur
$form = true;
$message = 'Une erreur est survenue lors de l\'inscription.';
}
}
else
{
//Sinon, on dit que le pseudo voulu est deja pris
$form = true;
$message = 'Un autre utilisateur utilise d&eacute;j&agrave; le nom d\'utilisateur que vous d&eacute;sirez utiliser.';
}
}
else
{
//Sinon, on dit que lemail nest pas valide
$form = true;
$message = 'L\'email que vous avez entr&eacute; n\'est pas valide.';
}
}
else
{
//Sinon, on dit que le mot de passe nest pas assez long
$form = true;
$message = 'Le mot de passe que vous avez entr&eacute; contien moins de 6 caract&egrave;res.';
}
}
else
{
//Sinon, on dit que les mots de passes ne sont pas identiques
$form = true;
$message = 'Les mot de passe que vous avez entr&eacute; ne sont pas identiques.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<strong>'.$message.'</strong>';
}
//On affiche le formulaire
?>
<form action="inscription.php" method="post">
Veuillez remplir ce formulaire pour vous inscrire:<br />
Nom d'utilisateur:<input type="text" name="pseudo" value="<?php if(isset($_POST['pseudo'])){echo $_POST['pseudo'];} ?>" /><br />
Mot de passe(6 caract&egrave;res min.):<input type="password" name="pass" /><br />
Mot de passe(v&eacute;rification):<input type="password" name="passverif" /><br />
Email:<input type="text" name="email" value="<?php if(isset($_POST['email'])){echo $_POST['email'];} ?>" /><br />
Image perso(non obligatoire):<input type="text" name="avatar" value="<?php if(isset($_POST['avatar'])){echo $_POST['avatar'];} ?>" /><br />
<input type="submit" value="Envoyer" />
</form>
<?php
}
?>

Aglzime
01/10/2010 à 18:09:05
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux ! Aglzime
Membre
Tu peux essayé ça :
<?php
//On se connecte a la Base de donnee
include('mysqlcnn.php');
//On verifie si le formulaire a ete envoye
if(isset($_POST['pseudo'], $_POST['pass'], $_POST['passverif'], $_POST['email'], $_POST['avatar']) and $_POST['pseudo']!='')
{
//On verifie si le mot de passe et celui de la verification sont identiques
if($_POST['pass']==$_POST['passverif'])
{
//On verifie si le mot de passe a 6 caracteres ou plus
if(strlen($_POST['pass'])>=6)
{
//On enleve lechappement si get_magic_quotes_gpc est active
if(get_magic_quotes_gpc())
{
$_POST['pseudo'] = stripslashes($_POST['pseudo']);
$_POST['pass'] = stripslashes($_POST['pass']);
$_POST['email'] = stripslashes($_POST['email']);
$_POST['avatar'] = stripslashes($_POST['avatar']);
}
//On verifie si lemail est valide
if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
{
//On echape les variables pour pouvoir les mettre dans une requette SQL
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$pass = mysql_real_escape_string($_POST['pass']);
$email = mysql_real_escape_string($_POST['email']);
$avatar = mysql_real_escape_string($_POST['avatar']);
//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
$sql = mysql_query('select count(*) as nb from utilisateurs where pseudo="'.$pseudo.'"'));
$rch = mysql_fetch_array($sql);
if($rch['nb'] == 0)
{
//On recupere le nombre dutilisateur pour donner un identifiant a lutilisateur actuel
$dn2 = mysql_query('select count(*) as nb from utilisateurs'));
$rch2 = mysql_fetch_array($dn2);
$id = $rch2['nb']+1;
//On enregistre les informations dans la base de donnee
if(mysql_query('insert into utilisateurs(id, pseudo, pass, email, avatar, dateinscription) values('.$id.', "'.$pseudo.'", "'.$pass.'", "'.$email.'", "'.$avatar.'", "'.time().'")'))
{
//Si ca a fonctionne, on naffiche pas le formulaire
$form = false;
?>
Vous avez bien &eacute;t&eacute; inscrit. Vous pouvez dor&eacute;navant vous connecter.<br />
<a href="connection.php">Se connecter</a>
<?php
}
else
{
//Sinon on dit quil y a eu une erreur
$form = true;
$message = 'Une erreur est survenue lors de l\'inscription.';
}
}
else
{
//Sinon, on dit que le pseudo voulu est deja pris
$form = true;
$message = 'Un autre utilisateur utilise d&eacute;j&agrave; le nom d\'utilisateur que vous d&eacute;sirez utiliser.';
}
}
else
{
//Sinon, on dit que lemail nest pas valide
$form = true;
$message = 'L\'email que vous avez entr&eacute; n\'est pas valide.';
}
}
else
{
//Sinon, on dit que le mot de passe nest pas assez long
$form = true;
$message = 'Le mot de passe que vous avez entr&eacute; contien moins de 6 caract&egrave;res.';
}
}
else
{
//Sinon, on dit que les mots de passes ne sont pas identiques
$form = true;
$message = 'Les mot de passe que vous avez entr&eacute; ne sont pas identiques.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<strong>'.$message.'</strong>';
}
//On affiche le formulaire
?>
<form action="inscription.php" method="post">
Veuillez remplir ce formulaire pour vous inscrire:<br />
Nom d'utilisateur:<input type="text" name="pseudo" value="<?php if(isset($_POST['pseudo'])){echo $_POST['pseudo'];} ?>" /><br />
Mot de passe(6 caract&egrave;res min.):<input type="password" name="pass" /><br />
Mot de passe(v&eacute;rification):<input type="password" name="passverif" /><br />
Email:<input type="text" name="email" value="<?php if(isset($_POST['email'])){echo $_POST['email'];} ?>" /><br />
Image perso(non obligatoire):<input type="text" name="avatar" value="<?php if(isset($_POST['avatar'])){echo $_POST['avatar'];} ?>" /><br />
<input type="submit" value="Envoyer" />
</form>
<?php
}
?>
 
cordialement ;)

ybouane
02/10/2010 à 00:15:00
ybouane
Admin
Bonjour,
je ne crois pas que ton code puisse changer quelque chose, car en fin de compte, c'est presque la même chose.
Essaye ce code:
<?php
//On se connecte a la Base de donnee
include('mysqlcnn.php');
//On verifie si le formulaire a ete envoye
if(isset($_POST['pseudo'], $_POST['pass'], $_POST['passverif'], $_POST['email'], $_POST['avatar']) and $_POST['pseudo']!='')
{
    //On verifie si le mot de passe et celui de la verification sont identiques
    if($_POST['pass']==$_POST['passverif'])
    {
        //On verifie si le mot de passe a 6 caracteres ou plus
        if(strlen($_POST['pass'])>=6)
        {
            //On enleve lechappement si get_magic_quotes_gpc est active
            if(get_magic_quotes_gpc())
            {
                $_POST['pseudo'] = stripslashes($_POST['pseudo']);
                $_POST['pass'] = stripslashes($_POST['pass']);
                $_POST['email'] = stripslashes($_POST['email']);
                $_POST['avatar'] = stripslashes($_POST['avatar']);
            }
            //On verifie si lemail est valide
            if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
            {
                //On echape les variables pour pouvoir les mettre dans une requette SQL
                $pseudo = mysql_real_escape_string($_POST['pseudo']);
                $pass = mysql_real_escape_string($_POST['pass']);
                $email = mysql_real_escape_string($_POST['email']);
                $avatar = mysql_real_escape_string($_POST['avatar']);
                //On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
                $dn = mysql_num_rows(mysql_query('select id from utilisateurs where pseudo="'.$pseudo.'"'));
                if($dn==0)
                {
                    //On recupere le nombre dutilisateur pour donner un identifiant a lutilisateur actuel
                    $dn2 = mysql_num_rows(mysql_query('select id from utilisateurs'));
                    $id = $dn2+1;
                    //On enregistre les informations dans la base de donnee
                    if(mysql_query('insert into utilisateurs(id, pseudo, pass, email, avatar, dateinscription) values ('.$id.', "'.$pseudo.'", "'.$pass.'", "'.$email.'", "'.$avatar.'", "'.time().'")'))
                    {
                        //Si ca a fonctionne, on naffiche pas le formulaire
                        $form = false;
        ?>
        Vous avez bien &eacute;t&eacute; inscrit. Vous pouvez dor&eacute;navant vous connecter.<br />
        <a href="connection.php">Se connecter</a>
        <?php
                    }
                    else
                    {
                        //Sinon on dit quil y a eu une erreur
                        $form = true;
                        $message = 'Une erreur est survenue lors de l\'inscription.';
                    }
                }
                else
                {
                    //Sinon, on dit que le pseudo voulu est deja pris
                    $form = true;
                    $message = 'Un autre utilisateur utilise d&eacute;j&agrave; le nom d\'utilisateur que vous d&eacute;sirez utiliser.';
                }
            }
            else
            {
                //Sinon, on dit que lemail nest pas valide
                $form = true;
                $message = 'L\'email que vous avez entr&eacute; n\'est pas valide.';
            }
        }
        else
        {
            //Sinon, on dit que le mot de passe nest pas assez long
            $form = true;
            $message = 'Le mot de passe que vous avez entr&eacute; contien moins de 6 caract&egrave;res.';
        }
    }
    else
    {
        //Sinon, on dit que les mots de passes ne sont pas identiques
        $form = true;
        $message = 'Les mot de passe que vous avez entr&eacute; ne sont pas identiques.';
    }
}
else
{
    $form = true;
}
if($form)
{
    //On affiche un message sil y a lieu
    if(isset($message))
    {
        echo '<strong>'.$message.'</strong>';
    }
    //On affiche le formulaire
?>
<form action="inscription.php" method="post">
Veuillez remplir ce formulaire pour vous inscrire:<br />
Nom d'utilisateur:<input type="text" name="pseudo" value="<?php if(isset($_POST['pseudo'])){echo $_POST['pseudo'];} ?>" /><br />
Mot de passe(6 caract&egrave;res min.):<input type="password" name="pass" /><br />
Mot de passe(v&eacute;rification):<input type="password" name="passverif" /><br />
Email:<input type="text" name="email" value="<?php if(isset($_POST['email'])){echo $_POST['email'];} ?>" /><br />
Image perso(non obligatoire):<input type="text" name="avatar" value="<?php if(isset($_POST['avatar'])){echo $_POST['avatar'];} ?>" /><br />
<input type="submit" value="Envoyer" />
</form>
<?php
}
?>

Il faudra aussi vider la table utilisateurs pour que les problèmes disparaissent.

http://www.supportduweb.com/scripts_tutoriaux-code-source-84-espace-membre-en-php-mysql-utilisateurs-espace-membre-inscription-connection-sessions-php-mysql.html

Cordialement :)

Image
moi_crs
02/10/2010 à 10:11:45
moi_crs
Membre
merci je voir si sa marche

moi_crs
02/10/2010 à 10:25:11
moi_crs
Membre
maintenant j'ai un autre probleme :

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/srtrail/public_html/Espace_membre/inscription.php on line 30

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/srtrail/public_html/Espace_membre/inscription.php on line 34
Une erreur est survenue lors de l'inscription.
<taille valeur="4"/>

ybouane
02/10/2010 à 16:09:38
ybouane
Admin
Bonjour,
Est-tu sûr d'avoir créé la table utilisateurs comme indiqué sur le tutoriel?
http://www.supportduweb.com/scripts_tutoriaux-code-source-84-espace-membre-en-php-mysql-utilisateurs-espace-membre-inscription-connection-sessions-php-mysql.html

Car la démonstration du support du web fonctionne parfaitement.

Cordialement

Image
moi_crs
03/10/2010 à 11:57:21
moi_crs
Membre
merci a tous sa marche! :#1:

Pages: 1