A voir également:
- Caractères
- Caractères ascii - Guide
- Caractères spéciaux clavier azerty - Guide
- Caractères spéciaux - Guide
- Caractères spéciaux mac - Guide
- 8 caractères exemple - Guide
5 réponses
Bonsoir,
c'est un \ qui est rajouté automatiquement pour protéger les ' (car ce ' est aussi utilisé pour délimiter une chaine alors ça créerait une erreur)
pour l'enlever passes par la fonction stripslashes() avant d'afficher.
@lain
c'est un \ qui est rajouté automatiquement pour protéger les ' (car ce ' est aussi utilisé pour délimiter une chaine alors ça créerait une erreur)
pour l'enlever passes par la fonction stripslashes() avant d'afficher.
@lain
Bonjour,
Il doit manquer un bout de code, car je vois l'affichage de la pagination des messages, mais pas l'affichage du message lui même.
Il doit manquer un bout de code, car je vois l'affichage de la pagination des messages, mais pas l'affichage du message lui même.
re
oui tu as raison,voilà le code complet: que dois je faire?
<?php
mysql_connect("", "", "");
mysql_select_db("livreor");
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$message = nl2br($message);
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
}
$nombreDeMessagesParPage = 20;
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
}
?>
</p>
<?php
if (isset($_GET['page']))
{
$page =intval( $_GET['page']);
}
else
{
$page = 1;
}
$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> :<br />' . $donnees['message'] . '</p>';
}
mysql_close();
?>
oui tu as raison,voilà le code complet: que dois je faire?
<?php
mysql_connect("", "", "");
mysql_select_db("livreor");
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$message = nl2br($message);
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
}
$nombreDeMessagesParPage = 20;
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
}
?>
</p>
<?php
if (isset($_GET['page']))
{
$page =intval( $_GET['page']);
}
else
{
$page = 1;
}
$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> :<br />' . $donnees['message'] . '</p>';
}
mysql_close();
?>
Bonjour,
je ne pense pas qu'il y ait d' apostrophe dans le pseudo, sinon tu fais pareil pour $donnees['pseudo']
@lain
while ($donnees = mysql_fetch_array($reponse)) { echo '<p><strong>' . $donnees['pseudo'] . '</strong> :<br />' .stripslashes( $donnees['message'] ). '</p>'; }
je ne pense pas qu'il y ait d' apostrophe dans le pseudo, sinon tu fais pareil pour $donnees['pseudo']
@lain
re
sur un tuto du site du zero,ils disent ceçi:
Vous allez comprendre, voici un code qui annule l'effet des magic quotes :
Code : PHP
if(get_magic_quotes_gpc()) {
$_POST = array_map('stripslashes', $_POST);
$_GET = array_map('stripslashes', $_GET);
$_COOKIE = array_map('stripslashes', $_COOKIE);
}
Ce code permet donc de contrer l'effet des magic quotes. Les magic quotes agissent avant l'analyse du code, ce petit code est donc à placer au tout début de votre page.
ce n'est pas le même que le tien,il se place en début de scipt:qu'en penses tu?
a+
sur un tuto du site du zero,ils disent ceçi:
Vous allez comprendre, voici un code qui annule l'effet des magic quotes :
Code : PHP
if(get_magic_quotes_gpc()) {
$_POST = array_map('stripslashes', $_POST);
$_GET = array_map('stripslashes', $_GET);
$_COOKIE = array_map('stripslashes', $_COOKIE);
}
Ce code permet donc de contrer l'effet des magic quotes. Les magic quotes agissent avant l'analyse du code, ce petit code est donc à placer au tout début de votre page.
ce n'est pas le même que le tien,il se place en début de scipt:qu'en penses tu?
a+
Bonjour,
Comme je t'ai dit plus haut les \ pour les ' sont indispensables pour éviter par exemple que ta requette qui contient des ' en début et fin de chaine ne soit perturbée par les apostrophes contenues dans les variables.
'SELECT * FROM livreor ORDER BY id DESC WHERE message='.$message_recu.'
qui sera en réalité si $message_recu= j'ai faim : (c'est bidon)
et là le ' de j'ai est interprété comme message= j et la suite provoquera une erreur
Il faut donc les laisser passer jusqu'au script, mais les supprimer par stripslashes avant affichage.
Comme je t'ai dit plus haut les \ pour les ' sont indispensables pour éviter par exemple que ta requette qui contient des ' en début et fin de chaine ne soit perturbée par les apostrophes contenues dans les variables.
'SELECT * FROM livreor ORDER BY id DESC WHERE message='.$message_recu.'
qui sera en réalité si $message_recu= j'ai faim : (c'est bidon)
'SELECT * FROM livreor ORDER BY id DESC message= ' j'ai ',
et là le ' de j'ai est interprété comme message= j et la suite provoquera une erreur
Il faut donc les laisser passer jusqu'au script, mais les supprimer par stripslashes avant affichage.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Essayes avec ce que je t'ai donné
Mais pour la solution du site du zero, lis le post jusqu'au bout, il fait ensuite avant la requette à la base:
A toi de choisir
Essayes avec ce que je t'ai donné
Mais pour la solution du site du zero, lis le post jusqu'au bout, il fait ensuite avant la requette à la base:
# // Faire une requête sécurisée # $query = sprintf("INSERT INTO products (`name`, `description`, `user_id`) VALUES ('%s', '%s', '%d')", # mysql_real_escape_string($product_name, $link), # mysql_real_escape_string($product_description, $link), # $_POST['user_id']); # # mysql_query($query, $link);
A toi de choisir
13 nov. 2007 à 19:14
je t'avoue que je ne te suis pas voilà mon script que dois je rajouter?
merci
<?php
mysql_connect("", "", "i");
mysql_select_db("livredor");
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$message = nl2br($message);
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
}
$nombreDeMessagesParPage = 20;
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
}
?>
</p>
<?php