livre d'or erreur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : livre d'or erreur

Re: livre d'or erreur

par morganK » 20 avr. 2014, 09:30

Pour $query, c'était celui qui fait l'insert ! :D

Re: livre d'or erreur

par ludo2163 » 19 avr. 2014, 15:43

Et si tu fais la même chose avec $query et $result ?
Cela me met "SELECT date,name,email,comment FROM guestbook ORDER BY date DESC1 messages " pour $query
et "Resource id #51 messages" pour $result

Re: livre d'or erreur

par morganK » 19 avr. 2014, 12:35

Et si tu fais la même chose avec $query et $result ?

Re: livre d'or erreur

par ludo2163 » 19 avr. 2014, 10:41

il y a "Resource id #4" qui apparait en haut de la page

Re: livre d'or erreur

par morganK » 19 avr. 2014, 10:37

Peux-tu nous poster le résultat d'un
print_r($db);
juste après
$db = mysql_connect('localhost', 'root', ''); 

Re: livre d'or erreur

par ludo2163 » 19 avr. 2014, 10:17

Tu n'as pas de mot de passe dans ton premier extrait de code alors qu'il est spécifié dans le second.
juste une petite erreur de ma part, mais cela ne change rien, le code ne marche pas

Re: livre d'or erreur

par morganK » 19 avr. 2014, 09:58

Tu n'as pas de mot de passe dans ton premier extrait de code alors qu'il est spécifié dans le second.

Re: livre d'or erreur

par ludo2163 » 19 avr. 2014, 07:51

Il y a déjà tous le code.
Mais le revoici étant donner qu'il y a eu pas mal de modification:

page 1, guestbook.php:
<html>
  	 <head>
  	 <title>Mon livre d'or</title>
  	 <script language="JavaScript">
<!--
function verif(lemail) {
    var arobase = lemail.indexOf("@"); var point = lemail.lastIndexOf(".")
    if((arobase < 3)||(point + 2 > lemail.length)||(point < arobase+3))
        return false
        return true
}

function testform(lenom,mail,comment) {
    if(lenom.value=="") {
        lenom.focus();
        return false
    }
    if(!verif(mail.value)) {
        mail.value="";
        mail.focus();
        return false
    }
    return true
}
//-->
</script>
  	 </head>
  	 <body>
  	 <?php
  	 include('config.inc.php');
  	 // Ici on ouvre une connexion au serveur MySQL
	 // on se connecte à MySQL
$db = mysql_connect('localhost', 'root', ''); 
mysql_select_db('test',$db);
  	 // Voir le tutorial sur ce sujet
  	 
  	 // Si le formulaire à été soumis, $ajout vaudra true
  	 if (isset($_POST['ajout'])) {
   	 
   	// On récupère les données postées : Voir les tutos dans la section "Débutez"
	 
  	 // On vérifie que les champs ne sont pas vides
  	 if (!empty($name) && !empty($lemail) && !empty($comment)) {     
  	     // Définit la variable de date
  	     $date = time();
  	 
  	     // Créé la requête
  	     $query = "INSERT INTO $table(date,name,email,comment) VALUES('$date','$name','$lemail','$comment')";
  	 
  	     // Exécute la requête d'insertion du message
  	     $result = mysql_query($query) or die('Erreur SQL : '.mysql_error());
  	 } else {
  	     // On affiche un message d'erreur
  	     echo '<script language="javascript">alert(\'Merci de remplir tout les champs.\');location.href='.$_SERVER['PHP_SELF'].';</script>';
  	     echo '<noscript>Merci de remplir tout les champs. <a href="'.$_SERVER['PHP_SELF'].'">retour</a></noscript>';
}

  	 }
  	 
  	 // Ici se trouve le script permettant d'afficher la liste de messages
?>
<table width="100%" height="100%" ><tr><td>
  	     <b><?php
  	     
  	     // Requête ordonnant les messages par dates
  	     $query = "SELECT date,name,email,comment FROM $table ORDER BY date DESC";
  	     
  	     // Exécute la requête précédente
  	     $result = mysql_query($query) or die('Erreur SQL : '.mysql_error()); 
  	     
  	     // Renvoie le nombre de lignes pour pouvoir afficher le nombre total de messages postés
  	     echo mysql_num_rows($result); 
  	     ?> 
  	     messages
  	     </b>
  	     <table width="95%"><tr><td>
  	         <hr size=1>
  	 
  	     <?php
  	     // Définit la boucle : tant qu'il y a des messages dans la BDD
  	     while ($val = mysql_fetch_array($result)) { 
  	         echo '<font color="black" face="verdana, arial">Message de :</font>';
  	         // Affiche le pseudo du posteur de message (avec lien mailto:)
  	         echo '<a href="mailto:'.$val['email'].'">'.$val['name'].'</a>'; 
  	         echo '<font color="black" face="verdana, arial">Posté le : </font>';
  	         // Affiche la date où a eté posté le message
  	         echo '<font color="orange">'.date("d/m/Y",$val['date']).'</font>';
  	         // Affiche le message posté
  	         echo '<div>'.htmlentities($val['comment']).'</div>';
  	         echo '<hr size=1>';
  	     } 
  	     // Ici se trouve le formulaire d'ajout de message
	 ?>
  	     </td></tr></table>
  	 </td></tr></table>
  	 
  	 
<table width="80%"><tr><td>
  	     <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" onSubmit="return testform(this.name,this.lemail,this.comment)">
  	     <input type="hidden" name="ajout" value="true">
  	     <table cellspacing="0" cellpadding="0" style="border: 1px solid red;" height="288">
  	         <tr>
  	             <td width="130"><font color="red">Nom</font></td>
 	             <td width="205"><input name="name" size="20"></td>
 	         </tr>
 	         <tr>
  	             <td width="130"><font color="red">Votre Email :</font></td>
  	             <td width="205"><font color="red"><input name="lemail" size="20"></font></td>
  	         </tr>
  	         <tr>
  	             <td colspan="2">
  	                 <textarea name="comment" rows="4" cols="55"></textarea>
  	                 <br><br>
  	                 <input type="Submit" value="Valider">
  	                 <br><br>
  	                 <a href="#">Haut</a><br>
  	             </td>
  	         </tr>
  	     </table>
  	     </form>
  	 </td></tr></table> 
  	 <?php
  	 // Et ici on ferme la connexion à la base de données 
	 @mysql_close();
  	 ?>
  	 </body></html> 
Et la seconde page, config.inc.php:
<?php
  	 
  	 // l'adresse de votre serveur php
  	 $host = 'localhost'; 
  	 
  	 // votre login : root sur localhost
  	 $user = 'root'; 
  	 
  	 // votre pass : vide sur localhost
  	 $pass = 'ludo'; 
  	 
  	 // le nom de la base de données
  	 $bdd = 'test';
  	 
  	 // le nom de votre table Sql
  	 $table = 'guestbook';
  	 
  	 // Renvoie vers la page de code php, ici c'est la page même !
  	 $_SERVER['PHP_SELF']; 
 	 
  	 ?> 
Voilà et voici le lien du site ou j'ai pris le code: http://www.phpdebutant.org/article95.php

Re: livre d'or erreur

par moogli » 18 avr. 2014, 21:59

Montre nous le code parce que la c'est pas simple ;)

Tu as peu être une différence de configuration entre les ordis de ton lycée et le tiens (conf. de php).


@+

Re: livre d'or erreur

par ludo2163 » 18 avr. 2014, 21:30

Comment sa ?
je ne vois pas ce que tu veux

Re: livre d'or erreur

par morganK » 18 avr. 2014, 20:44

Peux-tu poster ce que renvoit $query et $result ?

Re: livre d'or erreur

par ludo2163 » 18 avr. 2014, 18:29

Encore merci pour vos réponse.
Ce matin avec mon prof d'ISN on a regarder, et on a également essayer le code avec cette modification, mais l'ordi ne me donner aucune erreur(la version doit etre trop veille sur les ordi du lycée)
du coup me revoici chez moi, et les erreur sont bien de nouveau présente. Donc j'ai refait les modif, mais aucune erreur, cependant rien ne s'enregistre dans la base de donné et aucun message n'apparait :(


Mon prof ma donner un code qui marche, après s’être énerver sur ce code. Et ma dis qu'il doit manquer certain élément sur ce code. J'aurai bien aimer réussir a faire marcher ce code, mais je crois que cela ne pourra pas se faire, sans vous, et je pense qu'il y a d'autre personne qui on besoin de votre aide (étant donner que j'ai maintenant un code qui marche).

Re: livre d'or erreur

par morganK » 18 avr. 2014, 17:06

ligne 54 et 55 de guestbook.php
J'avais trouvé moi aussi ... :^o

Re: livre d'or erreur

par moogli » 18 avr. 2014, 16:16

Tu as dû mettre quelque part HTTP_REFERER au lieu de $_SERVER['HTTP_REFERER'] !

ligne 54 et 55 de guestbook.php :)

@+

Re: livre d'or erreur

par morganK » 18 avr. 2014, 08:18

Tu as dû mettre quelque part HTTP_REFERER au lieu de $_SERVER['HTTP_REFERER'] !