Hello,
je m'y connais peu en php et en programmation web ! Habituellement, je me cantonne au html, css et ActionScript! Je fais juste un peu de php pour charger les pages de mon site !
Mais là, j'ai besoin d'installer un livre d'or sur mon site web alors pour éviter d'avoir en plus à me plonger la tête de le MYSQL, j'ai téléchargé plusieurs scripts de livres d'or n'exigeant pas de base de donnée.
Je les teste un à un et qu'est-ce que je constate ? Pour cahque version que j'ai testé, chaque fois que je veux exécuter un script php, le serveur bloque celui-ci ! Enfin, apparemment...
En tous cas, à tous les coups, je reçois ce message :
Cependant, j'ai dans les pages de mon site des scripts php qui fonctionnent très bien.
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, postmaster@www.monsite.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Je me demande si ça ne pourrait pas avoir un rapport avec la création du fichier texte qui doit récupérer le contenu des messages (puisque pas de recours au MYSQL)... Une question d'autorisation, qqch comme ça ! Je précise que le répertoire qui contient mes fichiers du livre d'or est en chmod 777.
A votre avis, d'où peut venir ce problème ?
Je ne pense pas que le problème vienne du script en lui-même étant donné que j'ai eu systématiquement le problème avec divers livres fournis par des auteurs différents mais je vous met quand même les scripts du dernier livre en date que j'ai testé ! On ne saist jamais, si ça peut aider à comprendre d'où vient le problème...
• Fichier "livredor.html"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <html> <head> <title>Livre d'or</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> </head> <body> <h1>Livre d'or</h1> <!-- On commence le formulaire, pour le resultat on invoquera la page "message.php" gâce à l'attribut action de la balise form --> <form action="message.php" method="post"> <div> <fieldset><legend>Votre Nom</legend> <input type="text" name="pseudo" /> </fieldset> <fieldset><legend>Postez un message pour le livre d'or</legend> <textarea cols="70" rows="4" name="message"></textarea> </fieldset> <input type="submit" /> <!-- On va créer un lien pour ceux qui veulent consulter le livre d'or sans poster dedans --> <p> Pour consultez simplement le livre d'or <a href="consultezlo.php">cliquez ici</a> </p> </div> </form> <!-- Notre formulaire est fini on ferme la balise form --> </body> </html>
• Fichier "message.php"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 <?php /* Date de création: 10/10/2010 par Vocos */ ?> <html> <body> <?php // Pour éviter qu'une unique personne poste 50 fois dans le livre d'or, on va insérer un cookie setcookie("ip",$_SERVER['REMOTE_ADDR'],time()+.3600*60*90); // Si le cookie est égale à l'ip du client alors on le stoppe if(isset($_COOKIE['ip']) && $_COOKIE['ip']==$_SERVER['REMOTE_ADDR']) { echo "<h1>Vous ne pouvez émettre qu'un seul avis et vous l'avez déjà donné !</h1>"; // On stoppe le script exit; } // Mettons le (futur) fichier dans une variable $commentaires="messages.txt"; // assignons nos 2 variables du formulaire et on en profite pour les protégers des balises HTML $pseudo=htmlentities($_POST['pseudo']); $message=htmlentities($_POST['message']); // Pensons au retour à la ligne et au stripslashes pour la variable $message $message=stripslashes(nl2br($message)); // On met en place quelques conditions pour les cellules (nom et message) // On vérifie avant tout si le fichier existe si ce n'est pas le cas on le crée if(!is_file($commentaires)) { $verif=@fopen($commentaires,"w+"); } // On vérifie que le login ou le message ne soient pas vide elseif (trim($message)=="" || trim($pseudo)=="") { echo "Vous devez remplir tous les champs ! <a href=\"livredor.htm\">Retour sur le livre d'or</a>"; // On sort du script ! exit; } // Après ces quelques vérification d'usage on passe à l'exécution de ce formulaire // Si ok on ouvre en écirture-enregistrement du fichier message.txt $verif=@fopen($commentaires,"r+"); // On analyse les anciennes données et on les stockent $stock=@fread($verif,filesize($commentaires)); // On met la date dans une varialbe $date=date ("d/m/Y à H:i"); // On paramère le tout dans la variable $opinion $opinion="<b>".$pseudo."</b> a écrit le : ".$date."<br />\n".$message."<br />\n<hr />"; // On remet le curseur du fichier en début de ligne rewind($verif); // On insère le nouveau commentaire fputs($verif,$opinion." \n".$stock); // On clore le fichier fclose($verif); // On affiche le tout readfile($commentaires); ?> </body> </html>
• Fichier "consultezlo.php"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php $consulter="messages.txt"; readfile($consulter); ?>
Partager