insertion de script pour livre d'or

insertion de script pour livre d'or - PHP - Programmation

Marsh Posté le 20-11-2008 à 15:04:24    

Bonjour à tous,
Ma question est dans le titre. Ignorant complètement le langage php, et souhaitant mettre un livre d'or dans un site internet, j'ai trouvé le script suivant gentiment mis à disposition par son auteur: http://www.salemioche.net/script-php-2.php.
Je crois avoir bien suivi les instructions, j'ai inséré le code suivant dans une page créée avec KompoZer et renommée en guestbook.php:
 

Citation :

<form method=post action=writeguest.php
onSubmit='if ( this.nom.value.length < 2 ) { return false ;}' >
<table>
<tr><td>Nom :</td>
<td><input type=text name=nom size=25 ></td>
<td rowspan=2><input type=submit value=Envoyer></td></tr>
<tr><td>Mail :</td>
<td><input type=text name=mail size=25 ></td></tr>
<tr><td>Message:</td><td colspan=2>
<textarea name=message rows=4 cols=47></textarea>
</td></tr>
</table>
</form>
 
<?php include("guestbook.doc" ); ?>


 
 
Puis dans un fichier créé avec le bloc-notes et renommé en writeguest.php, j'ai mis ceci:

Citation :

<?
//Ouverture du fichier en écriture
$fp = fopen("guestbook.doc",a);
 
//On convertit les caracteres html
$nom = htmlspecialchars($_POST['nom']);
$mail = htmlspecialchars($_POST['mail']);
$message = stripslashes(nl2br(htmlentities($_POST['message'])));
$d = date ( "d/m/Y H:i:s" );
 
$page = "";
$lemail = "<a href=\"mailto:$mail\">$mail</a>";
$page .= "<b>$nom</b> (".$lemail." ) - $d<br>$message<br><hr>\n";
 
//On rajoute le message
fwrite($fp,"$page" ,strlen("$page" ));
 
//fermeture du fichier
fclose($fp);
 
//On affiche le message enregistré
echo "Merci $nom, nous avons enregistré: <br>";
echo "email : $mail <br> message : $message";
 
?>
<a href="guestbook.php">Retour au guestbook</a>


 
Enfin j'ai créé le fichier guestbook.doc, et donné à ce dernier les droits en écriture (en cochant les cases "écriture" ). Puis, j'ai tout transféré sur le serveur, et fait un test.
Voilà le résultat:
 
Warning: main(guestbook.doc) [function.main]: failed to open stream: Permission denied in /home.51/m/a/t/mathildeo/www/guestbook.php on line 47
 
Warning: main() [function.include]: Failed opening 'guestbook.doc' for inclusion (include_path='.:/usr/local/lib/php') in /home.51/m/a/t/mathildeo/www/guestbook.php on line 47
 
Certainement, j'ai raté quelque chose, mais quoi?
Merci d'avance pour votre aide!


Message édité par fuvola le 20-11-2008 à 15:08:47
Reply

Marsh Posté le 20-11-2008 à 15:04:24   

Reply

Marsh Posté le 20-11-2008 à 15:05:34    

tu as bien créé le fichier guestbook.doc ?
dans le même dossier que le script ?


Message édité par Profil supprimé le 20-11-2008 à 15:05:53
Reply

Marsh Posté le 20-11-2008 à 15:06:20    

Bonjour Lucas,
Oui bien sûr!

Reply

Marsh Posté le 20-11-2008 à 15:09:10    

la fonction include fonctionne partout ?

Reply

Marsh Posté le 20-11-2008 à 15:17:56    

Comment fait-on pour le savoir?

Reply

Marsh Posté le 20-11-2008 à 15:19:15    

tu utilises la fonction include sur un autre fichier

Reply

Marsh Posté le 20-11-2008 à 16:13:09    

Merci de vous intéresser à mon problème...
Est-ce que la réponse n'est pas dans le message d'erreur que je reçois:
 
Warning: main() [function.include]: Failed opening 'guestbook.doc' for inclusion (include_path='.:/usr/local/lib/php') in /home.51/m/a/t/mathildeo/www/guestbook.php on line 47

Reply

Marsh Posté le 20-11-2008 à 17:10:30    

alors, tu as essayé include sur un autre fichier ?

Reply

Marsh Posté le 21-11-2008 à 00:55:19    

tu as fait les bons CHMOD sur tes fichiers?


---------------
VNR CAMENBERT
Reply

Marsh Posté le 21-11-2008 à 09:10:52    

Bonjour César,
Qu'est-ce que c'est que les CHMOD?
Je ne connais rien du tout en langage php, j'ai trouvé ce script sur internet et je suppose que l'auteur n'a pas commis d'erreur. Donc, si cela ne marche pas, c'est qu'il y a un truc idiot qui vient de moi, peut-être un problème de droits en écriture, par exemple.
Bon, après avoir fait quelques vérifications supplémentaires, voilà ce que j'obtiens désormais lorsque j'essaie de remplir le livre d'or:
 

Citation :

$mail"; $page .= "$nom (".$lemail." ) - $d
$message
\n"; //On rajoute le message fwrite($fp,"$page" ,strlen("$page" )); //fermeture du fichier fclose($fp); //On affiche le message enregistré echo "Merci $nom, nous avons enregistré:
"; echo "email : $mail
message : $message"; ?> Retour au guestbook


 
Voilà, donc l'explication est certainement simple...sauf que je ne la trouve pas! Merci d'avance!


Message édité par fuvola le 21-11-2008 à 09:11:39
Reply

Marsh Posté le 21-11-2008 à 09:10:52   

Reply

Marsh Posté le 21-11-2008 à 18:25:31    

tu as du supprimer un tag PHP
et le CHMOD c'est les droits de lecture, d'exécution et d'écriture d'un fichier.
Pour qu'un fichier ait un maximum de droits son CHMOD doit être 777

Reply

Marsh Posté le 23-11-2008 à 09:09:54    

Bonjour Lucas,
J'ai mis le CHMOD sur 777, et cela ne change rien (à vrai dire, j'avais déjà essayé plusieurs possibilités)
Le tag PHP en question a pu être oublié par l'auteur (j'avais fait très attention à copier l'intégralité du code). Faute de connaissances en PHP, je ne peux pas le retrouver.
Si quelqu'un a une idée???

Reply

Marsh Posté le 23-11-2008 à 10:14:28    

non, il ne l'a pas oublié
le tag  c'est :

Code :
  1. <?php


pour l'ouverture

Code :
  1. ?>

Reply

Marsh Posté le 23-11-2008 à 11:15:55    

Excusez-moi, je ne comprends pas très bien...
Je vous redonne mon code:
 

Citation :

<?
//Ouverture du fichier en écriture
$fp = fopen("guestbook.doc",a);
 
//On convertit les caracteres html
$nom = htmlspecialchars($_POST['nom']);
$mail = htmlspecialchars($_POST['mail']);
$message = stripslashes(nl2br(htmlentities($_POST['message'])));
$d = date ( "d/m/Y H:i:s" );
 
$page = "";
$lemail = "<a href=\"mailto:$mail\">$mail</a>";
$page .= "<b>$nom</b> (".$lemail." ) - $d<br>$message<br><hr>\n";
 
//On rajoute le message
fwrite($fp,"$page" ,strlen("$page" ));
 
//fermeture du fichier
fclose($fp);
 
//On affiche le message enregistré
echo "Merci $nom, nous avons enregistré: <br>";
echo "email : $mail <br> message : $message";
 
?>
<a href="guestbook.php">Retour au guestbook</a>


 
Faut-il ajouter ou retirer quelque chose?
(et excusez-moi pour ma lenteur d'esprit!)

Reply

Marsh Posté le 23-11-2008 à 11:28:03    

[:pingouino]
 
Pour le tag, il suffit de lire, la réponse a été donnée par luc@s.
 
Tu n'aurais pas mis le fichier dans le mauvais répertoire?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 23-11-2008 à 11:32:45    

en tout cas si PHP ne trouve pas le fichier, je ne comprends pas pourquoi il renvoit un "permission denied" au lieu d'un "no such file"

Reply

Marsh Posté le 23-11-2008 à 11:35:45    

Bonjour Sircam,
J'ai bien lu la réponse de Lucas, mais je n'ai pas compris...
J'ai essayé de remplacer "<?" par "<?php", cela n'a rien donné...
Oui, les fichiers se trouvent bien dans le bon répertoire!

Reply

Marsh Posté le 23-11-2008 à 12:58:58    

Re-bonjour,
Eh bien, c'est très étrange, mais: en créant les fichiers avec le Bloc-Notes et en leur donnant l'extension .php, cela ne marche pas...
Et lorsque j'ouvre une page avec KompoZer et que je fais "insertion de code php", tout fonctionne! Allez comprendre...
Merci pour les réponses, et bon dimanche!


Message édité par fuvola le 23-11-2008 à 12:59:12
Reply

Marsh Posté le 23-11-2008 à 14:44:37    

Notepad rajoute un suffixe .txt au nom du fichier sauvegardé...

 


EDIT : Merci d'indiquer "résolu" dans le titre du topic. :o


Message édité par sircam le 23-11-2008 à 14:45:00

---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed