Besoin d'aide en php;

Résolu/Fermé
TORA38 Messages postés 24 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 23 novembre 2011 - 21 mars 2009 à 14:34
 Utilisateur anonyme - 21 mars 2009 à 19:26
Bonjour, j'ai creer un espace membres qui tiens en une seul page et voila l'erreur

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/pokeville2/espace-membres.php on line 90

voila le code de la page

<?php
$title = "Pokéville Le site des Pokémon! Espace Membres";
include "head.php";
include "menu.html";
?>
<div id="centre">
<?
if ($_GET['page'] == "inscription")
{
?>
<form method="post" action="espace-membres.php?page=inscription2">
<h1>Inscription</h1>
<fieldset>
<legend>Charte</legend>
<b>Avant toute chose vous devez lire la charte et l'accépter</b>
<br />
<input type="checkbox" name="charte1" id="charte1"/><label for="charte1"><i>Il est strictement interdit d'insulter les autres membres</i></label>
<br />
<input type="checkbox" name="charte2" id="charte2"/><label for="charte2"><i>Il est strictement interdit de proposer des liens vers contenu illicite (virus, porno., ...)</i></label>
<br />
<input type="checkbox" name="charte3" id="charte3"/><label for="charte3"><i>Il est interdit de flooder dans les modules</i></label>
<br />
<input type="checkbox" name="charte4" id="charte4"/><label for="charte4"><i>Veuillez a ne pas creer un pseudo du genre "pokelove17/Team Love"</i></label>
<br />
<i>Quand même Pokéville n'est pas une foire!!</i>
</fieldset>
<fieldset>
<legend>Vos données minimales</legend>
Choisissez un pseudo: <input type="text" name="pseudo" /> <i style="color: lightgrey;">exemple: abdel38</i>
<br />
Choisissez un mot de passe: <input type="password" name="password" /> <i style="color: lightgrey;">conseil: melange de chiffres et lettres</i>
<br />
Confirmation du mot de passe: <input type="password" name="password2" />
<br />
Votre email: <input type="text" name="email" />
</fieldset>
<br />
<input type="submit" value="Inscription" />
</form>
<?php
}
elseif ($_GET['page'] == "inscription2")
{
if (($_POST['charte1']) AND ($_POST['charte2']) AND ($_POST['charte3']) AND ($_POST['charte4']))
{
if (($_POST['pseudo'] != "") AND ($_POST['password'] != "") AND ($_POST['email'] != ""))
{
if ($_POST['password'] == $_POST['password2'])
{
$pseudo = htmlspecialchar($_POST['pseudo']);
$password = htmlspecialchar($_POST['password']);
$email = htmlspecialchar($_POST['email']);
mysql_query("INSERT INTO espace-membres-infos VALUES('', '$pseudo', '$password', '$email')");

mysql_close();

echo "<b style=\"color: green;\"><i>L'inscription s'est bien dérouler!</i></b>";
}else echo "<b style=\"color: red;\"><i>Les deux mot de passe doivent correspondre</i></b>";
}else echo "<b style=\"color: red;\"><i>Vous devez remplir tous les champs</i></b>";
}else echo "<b style=\"color: red;\"><i>Vous devez accepter la charte!</i></b>";
}
elseif ($_GET['page'] == "connection")
{
?>
<h1>Connexion</h1>
<form method="post" action="espace-membres.php?page=accueil">
Votre Pseudo: <input type="text" name="pseudo" />
<br />
Votre Mot de Passe: <input type="password" name="password" />
<br />
<input type="submit" value="connection" />
</form>
<?php
}
elseif ($_GET['page'] == "accueil")
{
if((isset($_COOKIE['pseudo'])) AND (isset($_COOKIE['password']))) // On vérifie si la personne est déjà connecté
{
?>
<h1>Bienvenue!</h1>
<a href="espace-membres.php?page=deconnection">déconnection</a>
<?php
// on affiche la page d'accueil du membre
}
else
{
include "dbconnect.php"; // connection à la base de données

$reponse = mysql_query("SELECT * FROM espace-membres-infos ORDER BY ID DESC LIMIT 0,10000000");
$donnees = mysql_fetch_array($reponse);

mysql_close();
if (($_POST['pseudo'] == $donnees['pseudo']) AND ($_POST['password'] == $donnees['password']))
{
setcookie("pseudo", $donnees['pseudo'], time()+36000); // On créé la cookie contenant le pseudo
setcookie("password", $donnees['password'], time()+36000); // On créé la cookie contenant password
echo "Vous êtes connecté!";

}
else
{
echo "Pseudo ou Mot de Passe incorrecte!";
}
}
}
elseif ($_GET['page'] == "deconnexion")
{
if ((isset($_COOKIE['pseudo'])) AND (isset($_COOKIE['password'])))
{
setcookie('pseudo');
setcookie('pseudo');
echo "vous êtes déconnecté!";
}
else
{
echo "vous n'êtes pas connecté!";
}
}
?>
</div>
A voir également:

1 réponse

Utilisateur anonyme
21 mars 2009 à 19:26
Déja, la fonction pour echaper le HTML ne s'ecrit pas htmlspecialchar mais htmlspecialchars donc faut que rajoute des "s" a ces lignes :

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

Ensuite change cette ligne :

$reponse = mysql_query("SELECT * FROM espace-membres-infos ORDER BY ID DESC LIMIT 0,10000000");

Par cette ligne :

$reponse = mysql_query("SELECT * FROM espace-membres-infos ORDER BY ID DESC LIMIT 0,10000000")or die(mysql_error());

Pour verifier si ta requête est valide sinon le reste m'a l'air bon.
0