PHP probleme
Résolu
Utilisateur anonyme
-
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 ...
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:
- PHP probleme
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
3 réponses
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
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
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:
À 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.
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.
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
;-)
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
;-)
PDO est une extension de PHP, pas une application comme phpMyAdmin. Pour voir les extensions, créé une page avec comme contenu:
Correction: en fait free.fr fournit PDO, mais seulement si l'on active PHP5.
<?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.
<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');
}
?>