PHP probleme

Résolu/Fermé
Utilisateur anonyme - Modifié par irongege le 1/08/2013 à 18:24
 Utilisateur anonyme - 4 août 2013 à 13:54
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

Pourrais-tu mettre ton code en mode texte ?
Je vais essayer de t'aider
0
Utilisateur anonyme
4 août 2013 à 13:05
d'accord
0
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 samedi 3 août 2013 Statut Membre Dernière intervention 3 août 2013
Modifié par RobinZS le 3/08/2013 à 11:59
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 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
3 août 2013 à 16:34
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
4 août 2013 à 13:04
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 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
4 août 2013 à 13:43
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
4 août 2013 à 13:45
j'ai besoin d'utiliser wamp en localhost pour ouvrir la page dans le navigateur ?
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
Modifié par gravgun le 4/08/2013 à 13:48
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
4 août 2013 à 13:49
d'accord mais après que j'aurait vue les extension j'en fait quoi ?
0