Scripts php bloqués par le serveur

Fermé
Gizmil Messages postés 706 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 3 octobre 2022 - 28 févr. 2011 à 17:56
Gizmil Messages postés 706 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 3 octobre 2022 - 28 févr. 2011 à 21:19
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 :

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.


Cependant, j'ai dans les pages de mon site des scripts php qui fonctionnent très bien.

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 fourni le script du dernier livre que j'ai testé, si ça peut aider :


* Fichier "livredor.html"

<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"

<?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"

<?php
$consulter="messages.txt";
readfile($consulter);
?>

4 réponses

seebz Messages postés 38 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 6 mars 2011 28
28 févr. 2011 à 20:10
Par hasard, il n'y avait pas un fichier .htacces dans le dossier du script ?
Si c'est le cas, il peut être la cause du problème mais l'idéal serait de vérifier dans les logs d'erreurs d'Apache.
0
Gizmil Messages postés 706 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 3 octobre 2022 65
28 févr. 2011 à 20:18
Salut, Seebz ! Merci pour ta réponse ! (-;

Non, pas de fichier .htacces, juste 3 fichiers, ceux cités ci-dessus !!

Comment vérifier les logs d'erreur d'Apache ?
0
seebz Messages postés 38 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 6 mars 2011 28
28 févr. 2011 à 20:33
Il faut voir ça avec votre hébergeur, en théorie il devrait vous permettre d'y accéder (quelque part dans votre espace FTP ou encore via une interface d'admin)

ps: plutot regarder du coté des logs d'erreurs php vu que vous n'avez pas de fichier .htacces
0
Gizmil Messages postés 706 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 3 octobre 2022 65
28 févr. 2011 à 21:19
Bon, j'ai cherché mais pas trouvé ! Je suis chez OVH, voici une petite capture de mon menu :

https://www.casimages.com/i/110228092040625350.jpg.html

Si je vais sur "synthèse", j'ai bien ceci :

Statistiques & logs
http://logs.ovh.net/monsite.com/urchin6/
http://logs.ovh.net/monsite.com/osl/
http://logs.ovh.net/monsite.com/awstats-osl/

Mais ce sont plutôt des stats de connexion, pas des logs d'erreur...
0