Membre
|
bonjour,
je suis en train de creer un tchat en php,
voila et qu'en j'essais d'aller sur chat.php(Toute les pages avec une basses de donnés d'ailleurs)
Une petit fenetre s'ouvre :
Apache HTTP Server a rencontré un problème et doit fermer.Nous vous prions de nous excuser pour le désagrément encouru.
comment faire pour reglé ce problème
Merci
|
Admin
|
Bonjour,
Peut-tu mieux expliquer ton problème, est ce que tu utilise php/apache/mysql en local, ou c'est sur internet(sur un serveur) ou tout ce passe?
Si c'est en local, quel logiciel utilise tu? WAMP, EasyPHP, LAMP, ou encore tu est sur Linux et tu a installé php tout seul, apache tout seul, mysql...
Quand tu dis qu'une petite fenêtre s'ouvre, peut tu me dire si elle proviens de ton navigateur, ou du logiciel en question?
Peut tu montrer le code de ta page chat.php?
Est ce que tu rencontre ce problème juste avec cette page, ou avec toutes les pages du site?
Dans l'erreur qui a lieu, est ce qu'il y a quelque part le code de l'erreur? Erreur 500 par exemple?
Je sais que c'est beaucoup de questions, mais peut-tu me donner toutes(si possible) les réponses, ce sera beaucoup plus claire.
Merci
|
Membre
|
Oui c'est en local,j'utilise WAMP.
La petit fenètre c'est une fenetre windows(rapport d'erreurs)
L'erreur provient avec tout les pages avec une base de donnée
Il n'y a pas d'erreur 500 ou autre.
<!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" lang="fr">
<head>
<title>Chat-i</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<?php
if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent
{
if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
{
// D'abord, on se connecte à MySQL
mysql_connect("localhost", "sdz", "mot_de_passe");
mysql_select_db("coursphp");
// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
// Ensuite on enregistre le message
mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");
// On se déconnecte de MySQL
}
}
// Que l'on ait enregistré des données ou pas...
// On affiche le formulaire puis les 10 derniers messages
// Tout d'abord le formulaire :
?>
<form action="chat.php" method="post">
<p>
Pseudo : <input type="text" name="pseudo" /><br />
Message : <input type="text" name="message" /><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
// Maintenant on doit récupérer les 10 dernières entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("localhost", "root", "");
mysql_select_db("chat");
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");
// On se déconnecte de MySQL
mysql_close();
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p>
<?php
}
// Fin de la boucle, le script est terminé !
?>
</body>
</html>
voila
|
Admin
|
Bonjour,
ton code a l'air bizarre, car tu utilise deux bases de données pour le même script, la première "sdz" et la deuxième "root".
Mais pour commencer, on dirait que tu a oublier de fermer la base de donnée:
<!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" lang="fr">
<head>
<title>Chat-i</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<?php
if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent
{
if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
{
// D'abord, on se connecte à MySQL
mysql_connect("localhost", "sdz", "mot_de_passe");
mysql_select_db("coursphp");
// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
// Ensuite on enregistre le message
mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");
// On se déconnecte de MySQL
mysql_close();
}
}
// Que l'on ait enregistré des données ou pas...
// On affiche le formulaire puis les 10 derniers messages
// Tout d'abord le formulaire :
?>
<form action="chat.php" method="post">
<p>
Pseudo : <input type="text" name="pseudo" /><br />
Message : <input type="text" name="message" /><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
// Maintenant on doit récupérer les 10 dernières entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("localhost", "root", "");
mysql_select_db("chat");
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");
// On se déconnecte de MySQL
mysql_close();
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p>
<?php
}
// Fin de la boucle, le script est terminé !
?>
</body>
</html>
Mais le problème ne viens pas de là
Je crois que le problème viens de WAMP, donc désinstalle le, et réinstalle le:
http://www.wampserver.com/download.php
Si le problème persiste, désinstalle le, et essaye avec un équivalent, par exemple easyphp:
http://www.easyphp.org/download.php
Merci
|