PHP probleme

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
bonjour voila j'ai crée un page login avec ce code la:

http://img15.hostingpics.net/pics/677519Capture.png

http://img15.hostingpics.net/pics/640939Capture2.png

mais volia dedans il y a une erreur mais je n'arrive pas a la trouvé voila ce que sa fait quand je me connecte avec un vrai id :


http://img15.hostingpics.net/pics/139699Capture.png


svp aidez moi :-( déjà sue je suis pas fort ...
A voir également:

3 réponses

philmtjn
 
Pourrais-tu mettre ton code en mode texte ?
Je vais essayer de t'aider
0
Utilisateur anonyme
 
d'accord
0
Utilisateur anonyme
 
register.php ( page d'inscription )

<meta charset="utf-8">

<?php

if(isset($_POST['submit']))
{

$username = htmlspecialchars(trim($_POST['username']));
$password = htmlspecialchars(trim($_POST['password']));
$repeatpassword = htmlspecialchars(trim($_POST['repeatpassword']));

if($username&&$password&&$repeatpassword)
{
if(strlen($username)>=4)
{
if(strlen($password)>=6)
{
if($password==$repeatpassword)
{
$password = md5($password);

mysql_connect("monsteur-tuto.fr.mysql", "monster_tuto_fr", "");
mysql_select_db("monster_tuto_fr", $db);;

$query = mysql_query("

INSERT INTO users VALUES ('','$username','$password')

");

die('Inscription terminée, vous pouvez vous <a href="login.php">connecter</a>');

}else echo "Les mots de passe ne sont pas identiques !";
}else echo "Le mot de passe est trop court !";
}else echo "Le nom d'utilisateur est trop court !";
}else echo "Veuillez sasir tous les champs !";
}
?>

<title>Inscription</title>

<h1>Inscription</h1>
<form method="post" action="register.php">
<p>Votre nom d'utilisateur</p>
<input type="text" name="username">
<p>Votre Mot de passe</p>
<input type="password" name="password">
<p>Répetez votre mot de passe</p>
<input type="password" name="repeatpassword"><br><br>
<input type="submit" name="submit" value="Valider">


</form>
<a href="login.php">Je possède déjà un compte</a>


login.php ( page de conexion )

<?php

session_start();

if(isset($_POST['submit']))
{

$pseudo = htmlspecialchars(trim($_POST['pseudo']));
$password = htmlspecialchars(trim($_POST['password']));

if(empty($pseudo))
{
echo "Veuillez sasir votre pseudo<br/>";
}else if(empty($password))
{
echo "Veuillez sasir votre pseudo";
}else{

$db=mysql_connect("vmonsteur-tuto.fr.mysql", "monster-tuto.fr", "mot de passe");
mysql_select_db("monster_tuto_fr", $db);

$password = md5($password);

$login = mysql_query("SELECT * FROM users WHERE username='$pseudo' AND password='$password'");

$rows = mysql_num_rows($login);

if($rows == 1)
{


$_SESSION['pseudo'] = $pseudo;

header ('Location:membre.php');

}else echo "Nom d'utilisateur ou mot de passe incorrect";

}
}

?>

<h1>Conexion</h1>


<form method="post" action="">

<p>Votre pseudo</p>
<input type="text" name="pseudo" /><br/>

<p>Votre mot de passe</p>
<input type="password" name="password" /><br/><br/>

<input type="submit" name="submit" value="Se connecter" />

</form>

<a href="register.php">Pas encore membre</a>

( deconexion redirection vers login )

<?php

session_start();

session_destroy();

header('Location:login.php');


?>

membre.php ( espace membre )


<?php

session_start();

if(isset($_SESSION['pseudo']))
{
echo "Bonjour ".$_SESSION['pseudo'];
?>
<meta charset="utf-8">

<br/><br/><a href="logout.php">Me déconnecter</a>

<?php
}else{
header('Location:login.php');
}


?>
0
RobinZS Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,
Ya pas mal d'erreurs...
Déjà le plus flagrant dans ta requête c'est la concaténation des variables qui est mauvaise.
Voilà un exemple avec la variable $prenom, dans un echo double quotes
echo "Bonjour" .$prenom. " tu vas bien ?";
De plus, mysql_ est obsolète comme interface d'accès à un bdd depuis php, tourne toi vers PDO
0
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 224
 
Salut,
ici mysql_num_rows se plaint de recevoir un booléen alors qu'il veut une ressource.
La doc de mysql_query précise que le seul moment où mysql_query renvoie un booléen, c'est FALSE et ça veut dire qu'il y a eu un problème.
Problème -> on intercepte:
$login = mysql_query("...");
if (!$login) {
    die('Requête invalide : ' . mysql_error());
}
mysql_error() renvoie une description de l'erreur, et die() stoppe l'exécution de la page et affiche le message qu'on lui donne.

À coté de ça, RobinZS a raison: les fonctions mysql_* sont obsolètes, vaut mieux utiliser PDO. Le hic, c'est que certains hébergeurs (free.fr je te regarde) ne fournissent pas PDO.
0
Utilisateur anonyme
 
le probleme c'est que je suis heberger sous one.com est il y a que phpmyadmin :-(
donc je ppensait a une idée un peu folle mais qui pourrait peut etre marcher :

au lieu d'utiliser phpmyadmin pourquoi pas ecrire tout dans un fichier texte a la racine du serveur ou alors comment metre pdo ?

PS: désoler de ne pas vous avoir répondue plus tôt car j'ai eu peur que personne ne me réponde
;-)
0
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 224
 
PDO est une extension de PHP, pas une application comme phpMyAdmin. Pour voir les extensions, créé une page avec comme contenu:
<?php phpinfo(); ?>
Puis va sur cette page avec ton navigateur; un Ctrl+F te permettra de chercher du texte, ici "PDO".
Correction: en fait free.fr fournit PDO, mais seulement si l'on active PHP5.
0
Utilisateur anonyme
 
j'ai besoin d'utiliser wamp en localhost pour ouvrir la page dans le navigateur ?
0
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 224
 
Le phpinfo() renverra les infos de PHP sur le serveur sur lequel il tourne. Ton installation wamp ne reflète pas forcément (dans 99.999% des cas d'ailleurs) la configuation de ton hébergeur.
Page donc à consulter sur ton site en ligne.
0
Utilisateur anonyme
 
d'accord mais après que j'aurait vue les extension j'en fait quoi ?
0