[RESOLU] BDD
Dernière réponse : dans Programmation
Bonjour,
Je suis entrain de faire une boîte à idée sur mon site, mais j'ai qq petits problèmes dont celui-ci: lors de l'affichage de ma page boite.php j'ai ceci comme réponse.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/bastinpaliseul.be/bastinpaliseul.be/httpd.www/Pages/Boite/Boite.php on line 21
De plus, lors je vais sur ma page ajout.php et que je rentre correctement mon formulaire, la page est censée appelée une autre page: ajout_idee.php qui elle insère les élément dans ma BDD. Je n'ai pas de message d'erreur, mais par contre je n'ai rien dans ma BDD.
Page ajout.php
Page ajout_idee.php
Et ma table se présente comme ceci:
Bon voilà si qqn à une ou plusieurs idées, c'est le bienvenu!
Merci les amis...
Je suis entrain de faire une boîte à idée sur mon site, mais j'ai qq petits problèmes dont celui-ci: lors de l'affichage de ma page boite.php j'ai ceci comme réponse.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/bastinpaliseul.be/bastinpaliseul.be/httpd.www/Pages/Boite/Boite.php on line 21
<?php
include ('config.php');
$reponse = mysql_query ("SELECT * FROM Boite ORDER BY id");
while ($donnees = mysql_fetch_array($reponse))
{
?>
<div class="toutes_news">
<div class="pseudo_toutes_news"><?php echo $donnees['pseudo'];?><?php echo $donnees['email'];?></div>
<div class="titre_toutes_news"><a href="affichage_news.php?id=<?php echo $donnees['id'];?>&titre=<?php echo $donnees['titre'];?>">
<?php echo $donnees['titre'];?></a></div>
</div>
<?php
}
mysql_close();
?>
De plus, lors je vais sur ma page ajout.php et que je rentre correctement mon formulaire, la page est censée appelée une autre page: ajout_idee.php qui elle insère les élément dans ma BDD. Je n'ai pas de message d'erreur, mais par contre je n'ai rien dans ma BDD.
Page ajout.php
<body>
<div class="titre_actu">Ecrire une idée pour le site</div>
<form method="post" action="ajout_idee.php">
<div class="idee">
<div class="titre_zone_texte">Pseudo :</div>
<div class="zone_texte"><input type="text" name="pseudo" size="50" maxlength="50"></div>
<div class="titre_zone_texte">Email :</div>
<div class="zone_texte"><input type="text" name="pseudo" size="50" maxlength="50"></div>
<div class="titre_zone_texte">Titre de l'idée :</div>
<div class="zone_texte"><input type="text" name="titre" size="100" maxlength="255"></div>
<div class="titre_zone_texte">Idée :</div>
<div class="zone_texte"><textarea name="news" rows="10" cols="60"></textarea></div>
</div>
<div class="bouton"><input type="submit" value="Valider"></div>
</form>
</body>
Page ajout_idee.php
<?php
include ('config.php');
if (isset($_POST['pseudo']) AND isset($_POST['email']) AND isset($_POST['titre']) AND isset($_POST['idee']))
{
$pseudo = htmlentities($_POST['pseudo']);
$email = htmlentities($_POST['email']);
$titre = htmlentities($_POST['titre']);
$idee = mysql_real_escape_string(stripslashes($_POST['idee']));
$idee = nl2br($news);
if (empty($pseudo))
{
echo ("Saisissez votre pseudo");
exit();
}
if (empty($email))
{
echo ("Saisissez votre Email");
exit();
}
if (empty($titre))
{
echo ("Le titre ne peut être vide");
exit();
}
if (empty($idee))
{
echo ("Tapez une idée");
exit();
}
mysql_query ("Insert INTO Boite VALUES ('', ' " .$pseudo. " ', ' " .$email. " ', ' " .$titre. " ', ' " .$idee. " ')");
}
mysql_close();
echo 'Merci - Redirection automatique dans 5 secondes';
echo "<META HTTP-EQUIV='Refresh' CONTENT='5; URL=<a href="http://bastinpaliseul.be/Pages/Boite/Boite.php" target="_blank">http://bastinpaliseul.be/Pages/Boite/Boite.php</a>'>";
?>
Et ma table se présente comme ceci:
id INT Auto_increment clé primaire
pseudo varchar 50
email varchar 50
titre varchar 50
news longtext
Bon voilà si qqn à une ou plusieurs idées, c'est le bienvenu!
Merci les amis...
Autres pages sur : resolu bdd
Lassé par la pub ? Créez un compte
A la ligne 8 du bout de code que tu as mis de ta page ajout, il y a une erreur : name="pseudo" ne devrait-il pas être name="email" ?
Du coup, dans ta page ajout_idee.php, comme tu conditionnes l'ajout des infos dans MySQL à l'existence de la valeur $_POST['email'], c'est normal que rien ne soit inséré
Par contre je ne vois pas pourquoi ça te causerait une erreur à l'affichage dans Boite.php... Avant ta boucle while, vérifie quelle est l'erreur envoyée par MySQL en ajoutant le code suivant :
Du coup, dans ta page ajout_idee.php, comme tu conditionnes l'ajout des infos dans MySQL à l'existence de la valeur $_POST['email'], c'est normal que rien ne soit inséré
Par contre je ne vois pas pourquoi ça te causerait une erreur à l'affichage dans Boite.php... Avant ta boucle while, vérifie quelle est l'erreur envoyée par MySQL en ajoutant le code suivant :
if(!$reponse)
die('erreur MySQL : '.mysql_error());
Merci pour ta réponse.
Pour le point 1) j'ai déjà corrigé (suis un peu aveugle avec tous ces codes...).
Pour le point 2), il me dit: no database selected. Peut-être est-ce pcq j'ai mis une majuscule à "Boite" dans ma BDD?
Pourtant j'utilise cette BDD avec une autre table pour d'autre chose et çà marche très bien.
@+
Pour le point 1) j'ai déjà corrigé (suis un peu aveugle avec tous ces codes...).
Pour le point 2), il me dit: no database selected. Peut-être est-ce pcq j'ai mis une majuscule à "Boite" dans ma BDD?
Pourtant j'utilise cette BDD avec une autre table pour d'autre chose et çà marche très bien.
@+
<?php
//include ('config.php');
// On se connecte d'abord à MySQL :
$db=mysql_connect("localhost", "BDD", "MDP",$db);
mysql_select_db("boite",$db);
$reponse = mysql_query ("SELECT * FROM boite ORDER BY id") or die(mysql_error());
while ($donnees = mysql_fetch_array($reponse))
{
?>
<div class="toutes_news">
<div class="pseudo_toutes_news"><?php echo $donnees['pseudo'];?><?php echo $donnees['email'];?></div>
<div class="titre_toutes_news"><a href="affichage_news.php?id=<?php echo $donnees['id'];?>&titre=<?php echo $donnees['titre'];?>">
<?php echo $donnees['titre'];?></a></div>
</div>
<?php
}
mysql_close();
?>
J'ai aussi essayé:
mysql_connect("localhost", "BDD", "MDP");
mysql_select_db("boite");
Je peux te donner les coordonnées de ma BDD si tu souhaites (pour vérifier).
@+
Lassé par la pub ? Créez un compte
Pour faire simple une base de données peut contenir plusieurs tables et une table contient les données que tu veux conserver dans les champs que tu as défini.