Prb avec mon code php
Fermé
sanaa2200
Messages postés
16
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009
-
27 juil. 2009 à 13:25
sanaa2200 Messages postés 16 Date d'inscription lundi 27 juillet 2009 Statut Membre Dernière intervention 25 août 2009 - 29 juil. 2009 à 12:47
sanaa2200 Messages postés 16 Date d'inscription lundi 27 juillet 2009 Statut Membre Dernière intervention 25 août 2009 - 29 juil. 2009 à 12:47
A voir également:
- Prb avec mon code php
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
18 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
27 juil. 2009 à 13:42
27 juil. 2009 à 13:42
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 />"; }
sanaa2200
Messages postés
16
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009
27 juil. 2009 à 13:45
27 juil. 2009 à 13:45
merci c corrigé mais j'ai toujours le même prb et j'utilise wampserver et il parait qu'il marche tres bien
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
27 juil. 2009 à 13:52
27 juil. 2009 à 13:52
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
sanaa2200
Messages postés
16
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009
27 juil. 2009 à 13:55
27 juil. 2009 à 13:55
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
sanaa2200
Messages postés
16
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009
27 juil. 2009 à 15:26
27 juil. 2009 à 15:26
le service apache est déjà démarré :S
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
28 juil. 2009 à 10:04
28 juil. 2009 à 10:04
fais un essai avec ce petit script suivant:
<?php echo "Essai: configuration de php<br />"; echo phpinfo(); ?>
sanaa2200
Messages postés
16
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009
28 juil. 2009 à 11:49
28 juil. 2009 à 11:49
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.
@+
sanaa2200
Messages postés
16
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009
28 juil. 2009 à 12:56
28 juil. 2009 à 12:56
oui oui c'est fait mais ça change rien :S
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 ?
sanaa2200
Messages postés
16
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009
28 juil. 2009 à 13:12
28 juil. 2009 à 13:12
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
sanaa2200
Messages postés
16
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009
28 juil. 2009 à 13:24
28 juil. 2009 à 13:24
faut il pas metre le nom de la base donnee mais pas celle de la 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.
sanaa2200
Messages postés
16
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009
28 juil. 2009 à 13:33
28 juil. 2009 à 13:33
ok
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
28 juil. 2009 à 14:02
28 juil. 2009 à 14:02
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
sanaa2200
Messages postés
16
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009
29 juil. 2009 à 12:47
29 juil. 2009 à 12:47
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