Connection membre en php

fabrice11901 Messages postés 787 Date d'inscription   Statut Membre Dernière intervention   -  
wiwimagique Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, voila je vous explique : j'ai un site et je fais un site pour des amis; pour ces amis, je suis entrain de créer un tchat jusque là pas de pb sur leur site y a une inscription à fiare avant d'accèder au tchat; en fait ils m'ont demander que l'orsque le membre va sur le tchat asv (age sexe ville) soit automatiquement chercher dans la table là pas de soucis mais voila comment faut-il établir la connexion du membre? j'ai déja trouver des script d'espace membre mais ils ne fonctionne pas comme je veux si vous pouviez me donner la requete qui permet de vérifier un membre auprès d'une table mysql ça serrai gentil :
requete et un echo si l'identification fonctionne on envois location : tchat si la connexion n'est pas bonne location : page erreur. Merci d'avance !
A voir également:

93 réponses

fabrice11901 Messages postés 787 Date d'inscription   Statut Membre Dernière intervention   64
 
oui comme tu dis : ça fais longtemps qu'on est dessus !
merci !
0
wiwimagique Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   108
 
Est-ce que tu pourrais faire un petit changement :

à la place de

//***Requête selection info sur membre*** 
$requete = mysql_query("SELECT pseudo,passe FROM compte WHERE pseudo='$pseudo' AND passe='$passe'"); 


mettre

//***Requête selection info sur membre*** 
$auery = "SELECT pseudo,passe FROM compte WHERE pseudo='$pseudo' AND passe='$passe'";
$requete = mysql_query($query); 

echo $query;



Puis, copie la requête dans phpMyAdmin et l'exécuter (Il y a un formulaire dans phpMyAdmin) . Puis dis-moi si tu vois un tableau apparaître (qui doit correspondre à ton pseudo/passe)


Pour moi, c'est très simple, il doit y avoir une mal compréhension entre nous. Il code devrait marcher, il n'y a aucune raison pour que ça plante.

0
Erdnax Messages postés 2273 Date d'inscription   Statut Contributeur Dernière intervention   497
 
T'as juste planté la définition du nom de ta variable $query ;)
//***Requête selection info sur membre*** 
$query = "SELECT pseudo,passe FROM compte WHERE pseudo='$pseudo' AND passe='$passe'";
$requete = mysql_query($query); 

echo $query;


0
fabrice11901 Messages postés 787 Date d'inscription   Statut Membre Dernière intervention   64
 
re, bon j'ai modifier la page php voici le code je vais le tester dans phpmyadmin dès maintenant mais le code là y a une erreur (parce error) http://sons.gratuits.free.fr/voila1.php :

<?
$pseudo=$_POST['pseudo']; $passe=$_POST['passe'];

//***connection***
/* Tu dois changer localhost par sql.free.fr, root par

sons_gratuits et mettre ton mot de passe */
$dbc = @mysql_connect ("sql.free.fr", "sons.gratuits",

"*******");

//***S'il n'y a pas d'erreur de connection***
if(!mysql_errno($dbc))
{
//***Sélection de la base de données***
mysql_select_db("sons_gratuits");

//***Requête qui selectionne tout le contenu de la

table formulaire***
$auery = "SELECT pseudo,passe FROM compte WHERE

pseudo='$pseudo' AND passe='$passe'";
$requete = mysql_query($query);
echo $query;

if(mysql_num_rows($requete)==0)
{
header("Location:erreur.htm"); } else{ header("Location:1.php");}

mysql_close();
?>
0
fabrice11901 Messages postés 787 Date d'inscription   Statut Membre Dernière intervention   64
 
slt, pour faire la requete dans phpmyadmin je sais pas trop comment faire :
dans la requete il y a : select pseudo,passe from compte... pseudo=$pseudo mais dans $pseudo y a rien (je parle biensur dans mysql puisqu'on a rempli aucun champ donc ce que j'ai fais : j'ai remplacer pseudo par le pseudo de l'enregistrement et le mot de passe par le mdp de l'enregistrement deja présent dans la table, en tout cas dans la page php erreur ligne 18 et 21 donc y doit avoir une couille là!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wiwimagique Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   108
 
Alors...
comme l'a fait remarquer Erdnax, j'ai planté la variable $query (j'ai écrit $auery à un moment :-p)

Ensuite, est-ce que tu peux mettre ton code entre les balises [code] ? ou cliquer sur le bouton code ci-dessus ? Comme ça, ça garde l'aspect d'origine et c'est plus facile à lire.
Parce que j'arrive pas à trouver exactement la ligne 18 :p

Ensuite, le echo que j'ai mis va te sortir la requête exactement comme mysql va la recevoir.


Copie/colle ce code dans ta page. Tu avais just oublié de fermer une brace

<?
$pseudo=$_POST['pseudo'];
$passe=$_POST['passe'];

$dbc = @mysql_connect ("sql.free.fr", "sons.gratuits", "*******");

if(!mysql_errno($dbc)) {
    mysql_select_db("sons_gratuits");

    $query = "SELECT pseudo, passe FROM compte";
    $query .= " WHERE pseudo='$pseudo' AND passe='$passe'";

    $requete = mysql_query($query);
    echo $query;

    if(mysql_num_rows($requete)==0) {
        // header("Location:erreur.htm"); 
        echo "redirection erreur";
    } else{
         //header("Location:1.php");
        echo "redirection 1.php";
    }
}
mysql_close();
?>




Ensuite, dans phpMyAdmin, selectionne une table dans la liste à gauche.
Puis, sur le menu de la partie à droite, selectionne l'onglet "SQL" (sur la rangée du haut, 3e)

La, il y a une grosse boite où tu écris ta requête (copier/coller) et appuie sur exécuter.

Le résultat sera soit un message soit un tableau avec le pseudo et le passe.



0
fabrice11901 Messages postés 787 Date d'inscription   Statut Membre Dernière intervention   64
 
Salut, oui tu avais fais une petite erreur mais je l'avais remarqué c'est pas grave !
bon merci pour ton code là aucune erreur parcontre c'est le echo qui fais son boulo il est afficher quand on clique sur la page la requete select pseudo,passe... je te redonne le code que tu m'as donné la page est toujours à :
http://sons.gratuits.free.fr/voila1.php
[code]<?
$pseudo=$_POST['pseudo'];
$passe=$_POST['passe'];

$dbc = @mysql_connect ("sql.free.fr", "sons.gratuits", "*****");

if(!mysql_errno($dbc)) {
mysql_select_db("sons_gratuits");

$query = "SELECT pseudo, passe FROM compte";
$query .= " WHERE pseudo='$pseudo' AND passe='$passe'";

$requete = mysql_query($query);
echo $query;

if(mysql_num_rows($requete)==0) {
// header("Location:erreur.htm");
echo "redirection erreur";
} else{
//header("Location:1.php");
echo "redirection 1.php";
}
}
mysql_close();
?>[code] je vais essayer dans phpmyadmin
merci
0
fabrice11901 Messages postés 787 Date d'inscription   Statut Membre Dernière intervention   64
 
re, j'ai fais la requete suivante dans phpmyadmin :
[code]SELECT pseudo,passe FROM compte[code] et j'ai eu le pseudo et le mot de passe de l'enregistrement
0
wiwimagique Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   108
 
Ok, je crois savoir d'où ça vient.

Tu peux remettre le code comme avant ?

<?
$pseudo=$_POST['pseudo'];
$passe=$_POST['passe'];

$dbc = @mysql_connect ("sql.free.fr", "sons.gratuits", "*******");

if(!mysql_errno($dbc)) {
    mysql_select_db("sons_gratuits");

    $query = "SELECT pseudo, passe FROM compte";
    $query .= " WHERE pseudo='$pseudo' AND passe='$passe'";

    $requete = mysql_query($query);
    echo $query;

    if(mysql_num_rows($requete)==0) {
        header("Location:erreur.htm"); 
    } else{
        header("Location:1.php");
    }
}
mysql_close();
?>


0
fabrice11901 Messages postés 787 Date d'inscription   Statut Membre Dernière intervention   64
 
Re, je comprend pas ce que tu me dis "tu peux remettre celui d'avant?" bon j'ai remi le code que tu viens de me donner sur le forum :[code]
<?
$pseudo=$_POST['pseudo'];
$passe=$_POST['passe'];

$dbc = @mysql_connect ("sql.free.fr", "sons.gratuits", "****");

if(!mysql_errno($dbc)) {
mysql_select_db("sons_gratuits");

$query = "SELECT pseudo, passe FROM compte";
$query .= " WHERE pseudo='$pseudo' AND passe='$passe'";

$requete = mysql_query($query);
echo $query;

if(mysql_num_rows($requete)==0) {
header("Location:erreur.htm");
} else{
header("Location:1.php");
}
}
mysql_close();
?>[code]
il affiche donc la requete, et une erreur à la ligne 17 je te donne l'encien code que j'ai essayer de monter et qui ne marche pas avec la table :
[code]<?
$pseudo=$_POST['pseudo'];
$passe=$_POST['passe'];

if(!isset($pseudo) || !isset($passe)){ header("Location:mytours37/formulaire");}
//***connection***
/* Tu dois changer localhost par sql.free.fr, root par sons.gratuits et mettre ton mot de passe */
$dbc = mysql_connect("sql.free.fr", "sons.gratuits", "*****");

//***S'il n'y a pas d'erreur de connection***
if(!mysql_errno($dbc)){

//***Sélection de la base de données***
mysql_select_db("sons_gratuits");

//***Requête selection info sur membre***
$requete = mysql_query("SELECT pseudo,passe FROM comptes WHERE pseudo='$pseudo' AND passe='$passe'");

if(mysql_num_rows($requete)==0){
header("Location:erreur.htm");
}
else{
header("Location:1.php");
}
}
mysql_close();

?>[code]
merci
0
wiwimagique Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   108
 
Oui pardon.
Je veux dire sur ta page voila1.php, restore une ancienne version ou met celle-la :

<?
$pseudo=$_POST['pseudo'];
$passe=$_POST['passe'];

$dbc = @mysql_connect ("sql.free.fr", "sons.gratuits", "*******");

if(!mysql_errno($dbc)) {
    mysql_select_db("sons_gratuits");

    $query = "SELECT pseudo, passe FROM compte";
    $query .= " WHERE pseudo='$pseudo' AND passe='$passe'";

    $requete = mysql_query($query);

    if(mysql_num_rows($requete)==0) {
        header("Location:erreur.htm"); 
    } else{
        header("Location:1.php");
    }
}
mysql_close();
?>


Sinon, l'erreur vient du formulaire.

<form method="post" action="http://sons.gratuits.free.fr/login.php3">
Votre pseudo :<input name="pseudo_membre" type="text">
Votre mot de
passe :<input name="passe_membre" type="password">
<input
 value="Se connecter" type="submit">
</form>


tu appelles ton login/pass par
pseudo_membre
et
passe_membre

dans le formulaire ...


... alors que dans la page php, ça devient :
pseudo
et
passe



0
fabrice11901 Messages postés 787 Date d'inscription   Statut Membre Dernière intervention   64
 
re, toujours pareil que je mette un pseudo ou pas, j'ai la page erreur.htm qui s'affiche alors que le pseudo et le mot de passe que je met dans les champ du formulaire sont bien les mêmes que dans la table alors que ce code fonctionne avec une autre table mysql ! je vais essayer de le mettre dans une autre bdd pour voir... mais si tu trouve pourquoi la table ça marche pas merci
0
fabrice11901 Messages postés 787 Date d'inscription   Statut Membre Dernière intervention   64
 
re, j'ai réussi à avoir le code de la table mysql qui fonctionne avec le code php :
CREATE TABLE `comptes` (
`idcpt` bigint(20) NOT NULL auto_increment,
`pseudo` varchar(10) collate latin1_general_ci NOT NULL default '',
`passe` varchar(10) collate latin1_general_ci NOT NULL default '',
`adrmail` varchar(50) collate latin1_general_ci NOT NULL default '',
`clef` text collate latin1_general_ci NOT NULL,
`nbrmess` bigint(20) default '0',
`dat` date NOT NULL default '0000-00-00',
`log` int(2) default '0',
`debut` varchar(100) collate latin1_general_ci NOT NULL default '0',
`fin` varchar(100) collate latin1_general_ci NOT NULL default '0',
`coulfond` varchar(7) collate latin1_general_ci NOT NULL default '',
`coultext` varchar(7) collate latin1_general_ci NOT NULL default '',
`coulform` varchar(7) collate latin1_general_ci NOT NULL default '',
`coultable` varchar(7) collate latin1_general_ci NOT NULL default '',
`coulbtn1` varchar(7) collate latin1_general_ci NOT NULL default '',
`coulbtn2` varchar(7) collate latin1_general_ci NOT NULL default '',
`id_cpt_avatar` varchar(100) collate latin1_general_ci NOT NULL default 'defaut.gif',
`age` int(2) NOT NULL default '0',
`sexe` char(1) collate latin1_general_ci NOT NULL default '',
`inscription` int(2) NOT NULL default '0',
`caractere` int(5) NOT NULL default '0',
PRIMARY KEY (`idcpt`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=23 ;
et le code de ma table :
CREATE TABLE `compte` ( `id` int(11) NOT NULL auto_increment, `pseudo` varchar(40) NOT NULL default '', `passe` varchar(30) NOT NULL default '', `nom` varchar(50) NOT NULL default '', `prenom` varchar(80) NOT NULL default '', `naissance` varchar(30) NOT NULL default '', `sexe` varchar(40) NOT NULL default '', `adresse` varchar(220) NOT NULL default '', `cp` varchar(30) NOT NULL default '', `ville` varchar(50) NOT NULL default '', `qsecret` varchar(220) NOT NULL default '', `rsecret` varchar(150) NOT NULL, PRIMARY KEY (`id`) )
j'ai essayer de l'adapter mais c'est dur et à chaque fois j'ai l'erreur 1664 de mysql...
merci
0
wiwimagique Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   108
 
Je t'ai dit pourquoi ça ne marche pas !!!!


Dans ton formulaire, tu appelles tes variables pseudo_membre et passe_membre !!!!!

0
fabrice11901 Messages postés 787 Date d'inscription   Statut Membre Dernière intervention   64
 
re, si tu parles du formulaire de la page erreur.htm je sais mais c'est une page qui n'a rien avoir avec le script de connexion comme la page 1.php ça n'a rien avoir ! le formulaire que j'ai fais n'est pas dans mon ftp il est sur mon ordi et je le fais pointer ver http://sons.gratuits.free.fr/voila1.php
les names sont bien pseudo et passe j'ai essayer le script sur une autre bdd c'est toujours pareil ça ne peux que venir de la table mysql j'ai donné les codes des tables dans le post plus haut
0
wiwimagique Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   108
 
Je ne comprends rien là.
Les pages que tu nous donnes ne sont pas les bonnes pages ?

bon, c'est simple, donne les codes, TOUS les codes de tes pages suivantes:

voila1.php
1.php
erreur.htm

Et tes pages sur ton ordi aussi.

Et mets les entre les balises code. C'est juste au dessus de la boite dans laquelle tu écris tes messages sur CCM.
t'as, dans l'ordre :
-titre du message
-nom
-email
-case recevoir les réponses
-bouton G, I, S, CODE <-------- c'est ce bouton code dont je te parle depuis 50 messages.


sinon, essaie de modifier ta page comme suit:

<?
$pseudo=$_POST['pseudo_membre'];
$passe=$_POST['passe_membre'];

$dbc = @mysql_connect ("sql.free.fr", "sons.gratuits", "*******");

if(!mysql_errno($dbc)) {
    mysql_select_db("sons_gratuits");

    $query = "SELECT pseudo, passe FROM compte";
    $query .= " WHERE pseudo='$pseudo' AND passe='$passe'";

    $requete = mysql_query($query);

    if(mysql_num_rows($requete)==0) {
        header("Location:erreur.htm"); 
    } else{
        header("Location:1.php");
    }
}
mysql_close();
?>






0
fabrice11901 Messages postés 787 Date d'inscription   Statut Membre Dernière intervention   64
 
re, bon j'arrive toujours pas petite constation :
j'ai fais la table suivante :
CREATE TABLE compte ( id bigint(20) NOT NULL auto_increment, `pseudo` varchar(40) NOT NULL default '', `passe` varchar(30) NOT NULL default '', `nom` varchar(50) NOT NULL default '', `prenom` varchar(80) NOT NULL default '', `naissance` varchar(30) NOT NULL default '', `sexe` varchar(40) NOT NULL default '', `adresse` varchar(220) NOT NULL default '', `cp` varchar(30) NOT NULL default '', `ville` varchar(50) NOT NULL default '', `qsecret` varchar(220) NOT NULL default '', `rsecret` varchar(150) NOT NULL default '' default '', PRIMARY KEY (id) ) TYPE=MyISAM pour pas changer ça se connecte pas ma constation : maintenant, dans le formulaire de conexion qui est sur mon ordi, si je met mon vrai pseudo un faux ou rein du tout dans les champ j'ai la page qui me sert d'erreur (erreur.htm"; avant si je mettai le bon pseudo un faux j'avais la page erreur.htm parcontre si je ne mettai rien dans les champ du formulaire, j'avais la page 1.php (ce qui n'étai pas normal) donc c'est bien un pb de table... ty comprend quelque chose là?
0
fabrice11901 Messages postés 787 Date d'inscription   Statut Membre Dernière intervention   64
 
je t'explique tout :
pour les code c'est ce que je fais à chaque fois je le met entre [code]et [code] ce que tu m'as dis dans un mail;
la page erreur.htm : c'est une page qui ne fais pas parti du script elle est là juste pour me dire (si c'est faux alors c'est cette page)
1.php : c'est une page qui me permet de savoir si le script affiche que la connexion est bonne; si tu veux que je mette à la place de erreur.htm un texte faux et 1.php un message juste je peux le faire.
La page voila1.php (le code que tu m'as donné) :
<?
$pseudo=$_POST['pseudo'];
$passe=$_POST['passe'];

$dbc = @mysql_connect ("sql.free.fr", "sons.gratuits", "****");

if(!mysql_errno($dbc)) {
mysql_select_db("sons_gratuits");

$query = "SELECT pseudo, passe FROM compte";
$query .= " WHERE pseudo='$pseudo' AND passe='$passe'";

$requete = mysql_query($query);

if(mysql_num_rows($requete)==0) {
header("Location:http://sons.gratuits.free.fr/erreur.htm");
} else{
header("Location:http://sons.gratuits.free.fr/1.php");
}
}
mysql_close();
?>
et le code de mon formulaire de connexion :
<form method="post" action="http://sons.gratuits.free.fr/voila1.php">

Votre pseudo :<input name="pseudo" type="text">
Votre mot de
passe :<input name="passe" type="text">
<input
value="Se connecter" type="submit">
</form>
merci de ta patience
0
wiwimagique Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   108
 
Si le formulaire qui est sur ton ordi est le même que celui sur voila1.php, alors c'est ton formulaire qui est faux.

Ta table n'a aucun problème. Si ton login et ton passe sont dans ta table, tout va bien.


Est-ce que tu peux me mettre le formulaire qui est sur ton ordi stp ?

Et, est-ce que tu peux me créer un pseudo/pass dans ta base le temps du test.

pseudo : wiwi
passe : magique

0
fabrice11901 Messages postés 787 Date d'inscription   Statut Membre Dernière intervention   64
 
re, ce qu'on va faire pour être plus simple je vais mettre le bon formulaire à la page erreur.htm on va juste changer le nom du fichier au lieu dans le code de mettre erreur.htm on va mettre formerreur.html je te fais un compte dans cette table avec le pseudo wiwi passe magique et je reposte un message sur le forum dès que c'est fais merci
0
wiwimagique Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   108
 
Ahh ok ...... bon, on est devant un cas rarissime de bug de mysql non répertorié ?

Je regarde ça en local ...


0