PHP_SELF
Résolu/Fermé
cotta
Messages postés
294
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
3 mai 2010
-
4 janv. 2009 à 16:50
cotta Messages postés 294 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 3 mai 2010 - 4 janv. 2009 à 20:46
cotta Messages postés 294 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 3 mai 2010 - 4 janv. 2009 à 20:46
2 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
4 janv. 2009 à 18:13
4 janv. 2009 à 18:13
Bonsoir,
essayes comme ça:
essayes comme ça:
<form method="post" action=" <?php $_SERVER['PHP_SELF'] ; ?>">
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
4 janv. 2009 à 18:32
4 janv. 2009 à 18:32
<?php $localhost="localhost"; //Nom du l'hote $user="root"; //Nom de user $passwoed="";// Mot de passe de user $base ="agence_ormes"; //le nom de votre base// "; $table ="livreor"; //la table sur laquelle ce script va enrengistrer les donnees (ex: livre_or)// $req= "select * from $table "; ?> <form method="post" action=" <?php $_SERVER['PHP_SELF'] ; ?>"> <p></p> <p> <span class="txt-livreor"> Pseudo : <input name="pseudo" /><br /></span><!-- tu n'as pas l'impession qu'il manque des attributs à cet <input ?? type= value=--> <span class="txt-livreor" > Message : <br /></span> <textarea name="message" rows="8" cols="35"></textarea><br /> <input type="submit" value="Envoyer" class="txt-mois"> <input type="reset"value="Effacer" class="txt-mois"> </p> </form> <p class="pages"> <?php mysql_connect("localhost", "root", ""); mysql_select_db("agence_ormes"); // --------------- Etape 1 ----------------- // Si un message est envoyé, on l'enregistre // ----------------------------------------- //ci dessous pourquoi tu récuperes pseudo et message alors qu etu le fias 5 ligne splus base //et tu ne peux le faire que si tu as teste if(isset(... //$pseudo=$_POST['pseudo']; //$message=$_POST['message']; if (isset($_POST['pseudo']) AND isset($_POST['message'])) { $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message $message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br /> // On peut enfin enregistrer :o) mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')"); } // --------------- Etape 2 ----------------- // On écrit les liens vers chacune des pages // ----------------------------------------- // On met dans une variable le nombre de messages qu'on veut par page $nombreDeMessagesParPage = 5; // on va essayez de changer ce nombre pour voir // On récupère le nombre total de messages $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor'); $donnees = mysql_fetch_array($retour); $totalDesMessages = $donnees['nb_messages']; // On calcule le nombre de pages à créer $nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage); // Puis on fait une boucle pour écrire les liens vers chacune des pages echo 'Page : '; for ($i = 1 ; $i <= $nombreDePages ; $i++) { echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> '; } ?> </p> <?php // --------------- Etape 3 --------------- // Maintenant, on va afficher les messages // --------------------------------------- if (isset($_GET['page'])) { $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4) } else // La variable n'existe pas, c'est la première fois qu'on charge la page { $page = 1; // On se met sur la page 1 (par défaut) } // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage; $reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage); while ($donnees = mysql_fetch_array($reponse)) { echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>'; } ?>
cotta
Messages postés
294
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
3 mai 2010
3
4 janv. 2009 à 18:41
4 janv. 2009 à 18:41
Ah oui ta raison ca marche, j'ai trouvé l'insertion dans ma table livreor,
mais il ya une chose qui va me rendre folle pourquoi ce msg d'erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp12-8\www\web_ormes-immo\ormes\livreor.php on line 498
pourkoi il ne reconné ps le tableau?
mais il ya une chose qui va me rendre folle pourquoi ce msg d'erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp12-8\www\web_ormes-immo\ormes\livreor.php on line 498
pourkoi il ne reconné ps le tableau?
cotta
Messages postés
294
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
3 mai 2010
3
4 janv. 2009 à 18:55
4 janv. 2009 à 18:55
Le probleme c'est que la derniére etape ca marche pas , l'insertion ci, mais l'affichage non, ta une idée?
cotta
Messages postés
294
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
3 mai 2010
3
4 janv. 2009 à 18:58
4 janv. 2009 à 18:58
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
echo '<table height="10%" width="80%" border="0" bordercolor="lavender">
<tr bgcolor="#0099FF">
<td width="100%" height="5%" align="center" valign="middle">' . $donnees['pseudo'] . '</tr>
<tr align="center" valign="middle"><td width="100%" height="50%" bordercolor="lavender" bgcolor="white"> a écrit :<br />'
. $donnees['message'] . '</p>';
}
mysql_close();
?>
// Maintenant, on va afficher les messages
// ---------------------------------------
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
echo '<table height="10%" width="80%" border="0" bordercolor="lavender">
<tr bgcolor="#0099FF">
<td width="100%" height="5%" align="center" valign="middle">' . $donnees['pseudo'] . '</tr>
<tr align="center" valign="middle"><td width="100%" height="50%" bordercolor="lavender" bgcolor="white"> a écrit :<br />'
. $donnees['message'] . '</p>';
}
mysql_close();
?>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
>
cotta
Messages postés
294
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
3 mai 2010
4 janv. 2009 à 20:17
4 janv. 2009 à 20:17
Ce message d'erreur veut dire que la ressource passsée à mysql_fetch_array n'est pas bonne donc ça vient de ta requette juste avant:
mets comme ça:
mets comme ça:
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage) or die("Pb requette: ".mysql_error());
cotta
Messages postés
294
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
3 mai 2010
3
>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
4 janv. 2009 à 20:21
4 janv. 2009 à 20:21
stp tu peut me renvoyé ta solution j'ai l'affichage decalé j peu pas lire,
excuse moi pr ce derangement
excuse moi pr ce derangement
4 janv. 2009 à 18:17
oui je l'ai essayé mais j'ai encore ce message d'erreur:
Notice: Undefined index: pseudo in c:\program files\easyphp12-8\www\web_ormes-immo\ormes\livreor.php on line 440
Notice: Undefined index: message in c:\program files\easyphp12-8\www\web_ormes-immo\ormes\livreor.php on line 441
Page : 1
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp12-8\www\web_ormes-immo\ormes\livreor.php on line 498
je sais pas pourquoi il reconnait pas le tableau, le probléme c'est que j'ai déja fait ce script et ca maché trés bien !!!
4 janv. 2009 à 18:19
$localhost="localhost"; //Nom du l'hote
$user="root"; //Nom de user
$passwoed="";// Mot de passe de user
$base ="agence_ormes"; //le nom de votre base// ";
$table ="livreor"; //la table sur laquelle ce script va enrengistrer les donnees (ex: livre_or)//
$req= "select * from $table ";
?>
<form method="post" action=" <?php $_SERVER['PHP_SELF'] ; ?>">
<p></p>
<p>
<span class="txt-livreor"> Pseudo : <input name="pseudo" /><br /></span>
<span class="txt-livreor" > Message : <br /></span>
<textarea name="message" rows="8" cols="35"></textarea><br />
<input type="submit" value="Envoyer" class="txt-mois">
<input type="reset"value="Effacer" class="txt-mois">
</p>
</form>
<p class="pages">
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("agence_ormes");
// --------------- Etape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------
$pseudo=$_POST['pseudo'];
$message=$_POST['message'];
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
// On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
// De même pour le message
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
// On peut enfin enregistrer :o)
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
}
// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 5; // on va essayez de changer ce nombre pour voir
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
}
?>
</p>
<?php
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
}
?>