Pouvez-vous corriger mon code PHP ?

Résolu
Greg -  
 Greg -
Bonjour,

Voici mon code PHP, dans lequel j'ailmerai ajouter :

else {
foreach($_POST as $index => $valeur) {
$$index = mysql_real_escape_string(trim($valeur));
}

Le souci est que je débute et que je vois pas du tout où il faut l'insérer... Pouvez-vous m'aider ?

Merci :

<?php
$ASP=$_POST['ASP'];
$CATEGORIE=$_POST['CATEGORIE'];
$ARTICLE=$_POST['ARTICLE'];
$NOTE=$_POST['NOTE'];
$COMMENTAIRE=$_POST['COMMENTAIRE'];
define('DB_SERVER', 'rdbms');
define('DB_SERVER_USERNAME', '*****');
define('DB_SERVER_PASSWORD', '*****');
define('DB_DATABASE', '*****');

$DATE = Date("d/m/Y H:i:s");
if ($ASP==x26p)
{
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());

mysql_select_db(DB_DATABASE, $connect);
$sql = "INSERT INTO notations(ID, DATE, CATEGORIE, ARTICLE, NOTE, COMMENTAIRE) VALUES ('','$DATE','$CATEGORIE','$ARTICLE','$NOTE','$COMMENTAIRE')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
mysql_close();
}
else
{
echo 'Le code anti-spam est incorrect : le vote n a pas été pris en compte';
}
?>
A voir également:

13 réponses

bissdebrazza Messages postés 2065 Date d'inscription   Statut Contributeur Dernière intervention   712
 
pour inserer les apostrophes dans tes champs,il faut faire ceci:
$COMMENTAIRE=add_slashes($_POST['COMMENTAIRE']);


1
Greg
 
Au fait...

Je cherche à faire cela, car dès qu'on écrit des apostrophes dans le champ "COMMENTAIRE", j'obtiens une erreur SQL.

Mais il y a peut-être plus simple...
0
bissdebrazza Messages postés 2065 Date d'inscription   Statut Contributeur Dernière intervention   712
 
salut!

Peut être ceci:

<?php
$ASP=$_POST['ASP'];
$CATEGORIE=$_POST['CATEGORIE'];
$ARTICLE=$_POST['ARTICLE'];
$NOTE=$_POST['NOTE'];
$COMMENTAIRE=$_POST['COMMENTAIRE'];
define('DB_SERVER', 'rdbms');
define('DB_SERVER_USERNAME', '*****');
define('DB_SERVER_PASSWORD', '*****');
define('DB_DATABASE', '*****');

$DATE = Date("d/m/Y H:i:s");
if ($ASP==x26p)
{
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());

mysql_select_db(DB_DATABASE, $connect);
$sql = "INSERT INTO notations(ID, DATE, CATEGORIE, ARTICLE, NOTE, COMMENTAIRE) VALUES ('','$DATE','$CATEGORIE','$ARTICLE','$NOTE','$COMMENTAIRE')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
mysql_close();
}
else if
{
echo 'Le code anti-spam est incorrect : le vote n a pas été pris en compte';
}
else {
foreach($_POST as $index => $valeur) {
$$index = mysql_real_escape_string(trim($valeur));
} 
?>

Bonne soirée!
0
bissdebrazza Messages postés 2065 Date d'inscription   Statut Contributeur Dernière intervention   712
 
Pour les apostrophes,lis ceci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Greg
 
Merci bissdebrazza, mais j'obtiens une erreur signalée à cette ligne :

else if
0
bissdebrazza Messages postés 2065 Date d'inscription   Statut Contributeur Dernière intervention   712
 
alors inverse!met else if et le code que tu voulais mettre!
0
Greg
 
Désolé, mais inverser quoi ? passer else if en if else ?
0
Greg
 
rien à faire, je ne trouve pas...
0
bissdebrazza Messages postés 2065 Date d'inscription   Statut Contributeur Dernière intervention   712
 
ça!
<?php
$ASP=$_POST['ASP'];
$CATEGORIE=$_POST['CATEGORIE'];
$ARTICLE=$_POST['ARTICLE'];
$NOTE=$_POST['NOTE'];
$COMMENTAIRE=$_POST['COMMENTAIRE'];
define('DB_SERVER', 'rdbms');
define('DB_SERVER_USERNAME', '*****');
define('DB_SERVER_PASSWORD', '*****');
define('DB_DATABASE', '*****');

$DATE = Date("d/m/Y H:i:s");
if ($ASP==x26p)
{
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());

mysql_select_db(DB_DATABASE, $connect);
$sql = "INSERT INTO notations(ID, DATE, CATEGORIE, ARTICLE, NOTE, COMMENTAIRE) VALUES ('','$DATE','$CATEGORIE','$ARTICLE','$NOTE','$COMMENTAIRE')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
mysql_close();
}
else if foreach($_POST as $index => $valeur) {
 
$$index = mysql_real_escape_string(trim($valeur));
} 
else
{
echo 'Le code anti-spam est incorrect : le vote n a pas été pris en compte';
}

?>

0
Greg
 
Toujours pas...
Erreur ligne 73, donc celle-ci :

else if foreach($_POST as $index => $valeur) {
0
bissdebrazza Messages postés 2065 Date d'inscription   Statut Contributeur Dernière intervention   712
 
ce qui pose problème c'est ça;
foreach($_POST as $index => $valeur)

la variable $index et $valeur tu l'ai a déclaré où?
0
Greg
 
Je ne les ai pas déclarées, je n'utilise que ce qu'il y a dans le code que j'ai posté.

J'ai trouvé ce bout de code sans trop savoir à quoi il correspond, j'ai juste vu qu'il permettait d'empêcher les attaques par injections, et surtout, d'autoriser les apostrophes.

Mon souci est que les données envoyées dans ma table peuvent, dans les champs "COMMENTAIRES" et "ARTICLES" contenir des apostrophes ou des guillemets.

Même avec l'article dont tu m'as donné le lien (sur add_slashes) je ne trouve pas comment l'insérer....

Dsl chui une bille en php
0
Greg
 
C'est nikel, ca marche :)

Merci infiniment !!!!!
0