01net    Web


Actuellement en ligne : 1010 Utilisateurs dont 34 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > PHP
> [debutant en apprentissage] bug dans un programme
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
indy84
  
   
      ?   @     Posté le 13/04/2007 11:26:52  
Voter pour ce message
Bonjour,
je fais mon apprentissage du PHP sur le siteduzero.com

j'essaie d'executer un programme mais j'ai des messages d'erreur, j'ai fait une recherche pour essayer de debugger,rien...

l'erreur doit etre toute bete mais comme je suis en apprentissage je ne la vois pas

ça a pour but de realiser un livre d'or dont l'execution est ici

voici le code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Livre d'or</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
form, .pages {
text-align:center;
}
</style>
</head>
<body>
<form method="post" action="livredor.php">
<p>Mon site vous plait? Laissez-moi un message !</p>
<p>
Pseudo : <input name="pseudo" /><br />
Message: <br />
<textarea name="message" rows="8" cols="35"></textarea><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<p class="pages">
<?php
mysql_connect("localhost","root","");
mysql_select_db("coursphp");

if (isset($_POST['pseudo']) AND isset($_POST['message'])){
$pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES);
$message = htmlentities($_POST['message'], ENT_QUOTES);
$message = nl2br($message);
mysql_query("INSERT INTO livredor VALUES('', '" . $pseudo . "' , '" . $message . "')");
}

$nombreDeMessagesParPage = 20;
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livredor');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);

echo 'Page : ';
for ($i = 1; $i <= $nombreDePages ; $i++){
echo '<a href="livredor.php?page=' . $i . '">' . $i . '</a> ';
}
?>
</p>
<?php
if (isset($_GET['page'])){
$page = $_GET['page'];
}
else{
$page = 1;
}
$premierMessageAafficher = ( $page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM livredor ORDER BY id DESC LIMIT ' .
$premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

while ($donnees = mysql_fetch_array($reponse)){
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a ecrit : <br />' . $donnees['message'] . '</p>';
}

mysql_close();
?>
</body>
</html>

les messages d'erreurs:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\documents and settings\yak\mes documents\tests php\livredor.php on line 38
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\documents and settings\yak\mes documents\tests php\livredor.php on line 59

je me dis qu'il faut peut etre creer la base avant à travers easyphp?

sinon auriez vous un livre à me conseiller apres avoir fini de lire ce site ;)





-->Message édité par indy84 le 13/04/2007 11:32:28<--
Minus-et-Cortex
  
   
      ?   @     Posté le 13/04/2007 14:36:09  
Voter pour ce message
Salut!

J'ai essayé ton code, il semble fonctionner. Ceci dit, si tu as une erreur, c'est peut-être parce que tu n'as pas de base de données nommée coursphp ou tu n'as pas de table livredor dans cette base, ou encore, il te faut un mot de passe pour te connecter à la base. Vérifie les paramètres de connection, et les noms de la table et de la base.

@+
-------
Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
Gustave Parking
bob57050
  Un mouton, un loup. Héhéhé
  :-)
      ?   ^   @     Posté le 19/04/2007 19:27:23  
Voter pour ce message
Refait le même code mais avec OR DIE (mysql_error ()); à la fin de tes requêtes
comme ci-dessous :

mysql_query("INSERT INTO livredor VALUES('', '" . $pseudo . "' , '" . $message . "')")OR DIE (mysql_error ());


Normalement les erreurs devraient apparaître en français.

Il est effectivement très probable que tu te sois trompé dans les paramètres de connexion et de sélection de la base de données ou de la table.

P.S : Si tu as Easy PHP, la fonction mysql_connect doit ressembler à ceci :

mysql_connect ('localhost', 'root', '');
-------
Xtrem-computer.com
Astuces et tutos en informatique
Jfou
  http://indigest-riders.com
  :-)
      ?   ^   @     Posté le 21/04/2007 14:29:22  
Voter pour ce message
Sa sent le copier coller du sdz sans avoir pris le temps de creer les bdd!

Tu as quelques micro fautes de code mais comme on te la deja dit mentionne a la fin de tes ordres OR DIE (mysql_error ());

Tu comprendras mieux ;)
-------
Sport extreme is the must ! freeride ! http://indigest-riders.com
<     1       >

01net > Forum de 01net > Programmation et développement > PHP
> [debutant en apprentissage] bug dans un programme

Aller à :

Page générée en : 0.154s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Automobile 
Découvrez l'essai vidéo de la Kia Sorento Shilton : un 4x4 aussi à l'aise sur route que sur piste.
Jeux
Nouveauté : Les chats et les chiens, c’est mignon, mais avez-vous déjà essayé d’élever un requin ?