Prb avec mon code php
sanaa2200
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
sanaa2200 Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
sanaa2200 Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
mon prb c'est que a chaque fois je teste ma page un message s'affiche " Apache http sever a cessé de fonctionner..."
et voila mon code:
<!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>Mini-chat</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="minichat.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("coursphp");
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM minichat WHILE id=1 ORDER BY ID DESC LIMIT 0,10");
$donnees = mysql_fetch_array($reponse);
echo $donnees['pseudo'];
echo $donnees['message'];
// On se déconnecte de MySQL
mysql_close();
?>
mon prb c'est que a chaque fois je teste ma page un message s'affiche " Apache http sever a cessé de fonctionner..."
et voila mon code:
<!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>Mini-chat</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="minichat.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("coursphp");
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM minichat WHILE id=1 ORDER BY ID DESC LIMIT 0,10");
$donnees = mysql_fetch_array($reponse);
echo $donnees['pseudo'];
echo $donnees['message'];
// On se déconnecte de MySQL
mysql_close();
?>
A voir également:
- Prb avec mon code php
- Code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code blocks - Télécharger - Langages
18 réponses
Si Apache ne marche pas ce n'est pas lié à ton script php
si tu es en local Wamp ou Easyphp verifie que celui ci est bien lancé et actif
ensuite une remarque:
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM minichat WHILE id=1 ORDER BY ID DESC LIMIT 0,10");
$donnees = mysql_fetch_array($reponse);
echo $donnees['pseudo'];
echo $donnees['message'];
la requette n'est pas bonne il ne faut pas WHILE
mais WHERE pour faire une condition
ensuite pour afficher 10 reponses il faut faire une boucle while sur la reponse de la requette:
si tu es en local Wamp ou Easyphp verifie que celui ci est bien lancé et actif
ensuite une remarque:
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM minichat WHILE id=1 ORDER BY ID DESC LIMIT 0,10");
$donnees = mysql_fetch_array($reponse);
echo $donnees['pseudo'];
echo $donnees['message'];
la requette n'est pas bonne il ne faut pas WHILE
mais WHERE pour faire une condition
ensuite pour afficher 10 reponses il faut faire une boucle while sur la reponse de la requette:
while($donnees = mysql_fetch_array($reponse)){; echo $donnees['pseudo']; echo $donnees['message']; echo "<br />"; }
merci c corrigé mais j'ai toujours le même prb et j'utilise wampserver et il parait qu'il marche tres bien
il parait qu'il marche tres bien
il faut pas qu'il paraisse mais que tu vérifies qu'il soit bien lancé sur ton PC
un petit est:
tapes dans la barre d'adresse de ton navigateur: http://localhost
tu devrait avoir une réponse du serveur genre "Bienvenue .....
si ce n'est pas le cas tu cherches dans démarer tous les programmes tu dois avoir Wamp tu cliques pour le lancer
il faut pas qu'il paraisse mais que tu vérifies qu'il soit bien lancé sur ton PC
un petit est:
tapes dans la barre d'adresse de ton navigateur: http://localhost
tu devrait avoir une réponse du serveur genre "Bienvenue .....
si ce n'est pas le cas tu cherches dans démarer tous les programmes tu dois avoir Wamp tu cliques pour le lancer
oui j'ai deja fait tt ca et ca marche mais en testant ma page c'est la ou le msg deja cité s'affiche
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fais un essai avec ce petit script suivant:
<?php echo "Essai: configuration de php<br />"; echo phpinfo(); ?>
j'ai essayé ton script et une page ou il y tt les info sur php et apache mais la vérité j'ai po compris grandes choses
Slt,
remplace
mysql_connect("localhost", "sdz", "mot_de_passe"); par
mysql_connect("localhost", "root", "");
je pense que ca devrait marcher.
@+
remplace
mysql_connect("localhost", "sdz", "mot_de_passe"); par
mysql_connect("localhost", "root", "");
je pense que ca devrait marcher.
@+
Tu l'as changé aux 2 endroits ? Au debut quand tu te connectes a ta BDD et après quand tu veux afficher les messages ?
Dailleurs t'as pas besoin de te connecter 2 fois a ta BDD, et un seul mysql_close(); a la fin suffit.
Et quand t'essaies en réel ca fonctionne ?
Dailleurs t'as pas besoin de te connecter 2 fois a ta BDD, et un seul mysql_close(); a la fin suffit.
Et quand t'essaies en réel ca fonctionne ?
j'ai eneleve la commande mysql_close(); et je n'ai laissé qu'une seule mais un message s'affiche disant que
"Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'SYSTEM'@'localhost' (using password: NO) "
"Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'SYSTEM'@'localhost' (using password: NO) "
<!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>Mini-chat</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']))
{
if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL)
{
mysql_connect("localhost", "root", "");
mysql_select_db("coursphp");
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");
}
}
?>
<form action="minichat.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
$reponse = mysql_query("SELECT * FROM minichat WHILE id=1 ORDER BY ID DESC LIMIT 0,10");
$donnees = mysql_fetch_array($reponse);
echo $donnees['pseudo'];
echo $donnees['message'];
mysql_close();
?>
Il faut aussi que tu remplace "COURSPHP" par le nom de ta table
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Mini-chat</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']))
{
if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL)
{
mysql_connect("localhost", "root", "");
mysql_select_db("coursphp");
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");
}
}
?>
<form action="minichat.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
$reponse = mysql_query("SELECT * FROM minichat WHILE id=1 ORDER BY ID DESC LIMIT 0,10");
$donnees = mysql_fetch_array($reponse);
echo $donnees['pseudo'];
echo $donnees['message'];
mysql_close();
?>
Il faut aussi que tu remplace "COURSPHP" par le nom de ta table
Reprenons :
mysql_connect("localhost", "root", "");
mysql_select_db("coursphp");
Quand tu testes en local t'as juste a changer "coursphp" par le nom de ta table (et non de ta base).
Quand t'es en réél tu remplaces "localhost" par le nom de ta bdd, root par ton nom d'utilisateur et tu mets ton mot de passe entre les guillemets qui sont vides. Et tu changes "coursphp" par le nom de ta table.
mysql_connect("localhost", "root", "");
mysql_select_db("coursphp");
Quand tu testes en local t'as juste a changer "coursphp" par le nom de ta table (et non de ta base).
Quand t'es en réél tu remplaces "localhost" par le nom de ta bdd, root par ton nom d'utilisateur et tu mets ton mot de passe entre les guillemets qui sont vides. Et tu changes "coursphp" par le nom de ta table.
mysql_select_db("coursphp");
Quand tu testes en local t'as juste a changer "coursphp" par le nom de ta table (et non de ta base). .
NON
il faut bien mettre le nom de la base
mysql_select_db("nom_de_ta_base")
ça veut dire selectionner la database
Quand tu testes en local t'as juste a changer "coursphp" par le nom de ta table (et non de ta base). .
NON
il faut bien mettre le nom de la base
mysql_select_db("nom_de_ta_base")
ça veut dire selectionner la database
merci tt le monde j'ai trouvé les erreurs et je les corriger et mnt ca marche très bien
voila le script corrigé
<!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>Mini-chat</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
$base=mysql_connect('localhost', 'root', '');
mysql_select_db('coursphp',$base);
// 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
$sql='INSERT INTO minichat VALUES("", "'.$pseudo.'", "'.$message.'")';
mysql_query($sql);
// 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="minichat.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_select_db("minichat");
$sql1='SELECT * FROM minichat ';
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$base=mysql_connect('localhost', 'root', '');
mysql_select_db('coursphp',$base);
$reponse = mysql_query($sql1,$base);
$donnees = mysql_fetch_array($reponse);
echo $donnees['pseudo'];
echo $donnees['message'];
// On se déconnecte de MySQL
mysql_close($base);
// 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>
PS: le probleme c'etais ke je dois remplacer les guillemets avec des apostrophes
voila le script corrigé
<!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>Mini-chat</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
$base=mysql_connect('localhost', 'root', '');
mysql_select_db('coursphp',$base);
// 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
$sql='INSERT INTO minichat VALUES("", "'.$pseudo.'", "'.$message.'")';
mysql_query($sql);
// 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="minichat.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_select_db("minichat");
$sql1='SELECT * FROM minichat ';
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$base=mysql_connect('localhost', 'root', '');
mysql_select_db('coursphp',$base);
$reponse = mysql_query($sql1,$base);
$donnees = mysql_fetch_array($reponse);
echo $donnees['pseudo'];
echo $donnees['message'];
// On se déconnecte de MySQL
mysql_close($base);
// 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>
PS: le probleme c'etais ke je dois remplacer les guillemets avec des apostrophes