par
Cyrano » 27 oct. 2005, 23:23
Si dans les données il y a du texte comportant par exemple des apostrophes, elles vont créer un conflit avec les apostrophes encadrant les valeurs à insérer. il faut donc les protéger. L'utilisation de addslashes() (et non stripslashes() qui les enlève)
Ensuite, ton code aurait besoin d'un peu de ménage:
<?
/*
connexion a la base
*************
*************
*/
$semaine = $_POST['semaine'];
$jour = $_POST['jour'];
$num_jour = $_POST['num_jour'];
$mois = $_POST['mois'];
$annee = $_POST['annee'];
$minimes = $_POST['Minimes'];
$benjamins = $_POST['Benjamins'];
$poussins = $_POST['Poussins'];
$minipoussins = $_POST['Mini-Poussins'];
$type = $_POST['type'];
$l_rdv = $_POST['lieu_rdv'];
$rdv_h = $_POST['rdv_heure'];
$rdv_min = $_POST['rdv_minutes'];
$commentaires = $_POST['commentaires'];
$date = $jour." ".$num_jour." ".$mois." ".$annee;
$h_rdv = $rdv_h."h".$rdv_min;
for ($i = 0; $i < count($categorie); $i++)
{
echo "$categorie[$i] . ";
}
mysql_query("INSERT INTO matchmail(semaine,date,type,h_rdv,l_rdv,commentaires) ".
"VALUES('". $semaine ."', '". $date ."', '". $type ."', '". $h_rdv ."', '". $l_rdv ."', '". $commentaires ."')");
print("<center><br><br>". $type ." ajouté avec succès !</center>");
?>
-1- c'est plus lisible comme ça;
-2- les concaténation, c'est pas n'importe comment pour la création des heures et dates ou les valeurs dans la requête SQL;
-3- dans la requête d'insertion, préciser un champ pour mettre une valeur vide ne sert à rien: on enlève le champ et les apostrophes vides tout simplement.
Si dans les données il y a du texte comportant par exemple des apostrophes, elles vont créer un conflit avec les apostrophes encadrant les valeurs à insérer. il faut donc les protéger. L'utilisation de addslashes() (et non stripslashes() qui les enlève)
Ensuite, ton code aurait besoin d'un peu de ménage:
[php]<?
/*
connexion a la base
*************
*************
*/
$semaine = $_POST['semaine'];
$jour = $_POST['jour'];
$num_jour = $_POST['num_jour'];
$mois = $_POST['mois'];
$annee = $_POST['annee'];
$minimes = $_POST['Minimes'];
$benjamins = $_POST['Benjamins'];
$poussins = $_POST['Poussins'];
$minipoussins = $_POST['Mini-Poussins'];
$type = $_POST['type'];
$l_rdv = $_POST['lieu_rdv'];
$rdv_h = $_POST['rdv_heure'];
$rdv_min = $_POST['rdv_minutes'];
$commentaires = $_POST['commentaires'];
$date = $jour." ".$num_jour." ".$mois." ".$annee;
$h_rdv = $rdv_h."h".$rdv_min;
for ($i = 0; $i < count($categorie); $i++)
{
echo "$categorie[$i] . ";
}
mysql_query("INSERT INTO matchmail(semaine,date,type,h_rdv,l_rdv,commentaires) ".
"VALUES('". $semaine ."', '". $date ."', '". $type ."', '". $h_rdv ."', '". $l_rdv ."', '". $commentaires ."')");
print("<center><br><br>". $type ." ajouté avec succès !</center>");
?>[/php]
-1- c'est plus lisible comme ça;
-2- les concaténation, c'est pas n'importe comment pour la création des heures et dates ou les valeurs dans la requête SQL;
-3- dans la requête d'insertion, préciser un champ pour mettre une valeur vide ne sert à rien: on enlève le champ et les apostrophes vides tout simplement.