Salut, j'ai un problème. Sur mon site, quand j'ajoute une donnée je dois mettre des anti slash à chaque fois, c'est un peu ennuyeux. je voudrai donc faire un "addslashes" avant l'ajout. Sauf que ça marche pas...

<head>
<link rel="shortcut icon" href="favicon.ico" />
</head>
<?php
mysql_connect("localhost","swholocron"," ******");
mysql_select_db("swholocron_fiches");
if(!empty($_POST)){
   extract($_POST);
   addslashes($_POST"nom_per"]);
   addslashes($_POST"img_per"]);
   addslashes($_POST"contenu_per"]);
   addslashes($_POST"source_info"]);
   $sql = "UPDATE perso SET nom_per='$nom_per',img_per='$img_per',contenu_per='$contenu_per',source_info='$source_info' WHERE id_per={$_GET"id_per"]}";

   $req= mysql_query($sql) or die('Erreur SQL !<br />'.mysql_error());
   echo 'Fiche Editée !';
}
$id=$_GET"id_per"];
$sql = "SELECT * FROM perso WHERE id_per='$id'";
$req= mysql_query($sql) or die('Erreur SQL !<br />'.mysql_error());
$data=mysql_fetch_assoc($req);
?>
<form method="post" action="editer_fiche_perso.php">
   Nom Personnage:<input type="text" name="nom_per" value="<?php echo $data"nom_per"] ?>"/>
   <br />
   Image:<input type="text" name="img_per" value="<?php echo $data"img_per"] ?>"/>
   <br />
   Contenu:<br /><textarea name="contenu_per" rows="15" et cols="75"><?php echo $data"contenu_per"]; ?></textarea><br />
   <b />
   Source:<br /><textarea name="source_info" rows="15" et cols="75"><?php echo $data"source_info"]; ?></textarea><br />
    <br />

    <input type="submit" value="Ajouter"/><br />
</form>

Et si je rempli rien j'ai quand même une erreur ->

Notice: Undefined index: id_per in /home/swholocron/public_html/editer_fiche_perso.php on line 14

3 réponses


Guilhem
Auteur
Réponse acceptée
Pour ceux qui voudrez.
J'utilise ça:
<?php
foreach($_POST as $k=>$v)
{
    $_POST$k] = addslashes($v);
}
?>

En début de mes pages. :).

Salut !

Essaye ça :

extract($_POST);
$_POST"nom_per"] = addslashes($_POST"nom_per"]);
$_POST"img_per"] = addslashes($_POST"img_per"]);
$_POST"contenu_per"] = addslashes($_POST"contenu_per"]);
$_POST"source_info"] = addslashes($_POST"source_info"]);

Guilhem
Auteur

Erreur ->

Notice: Undefined variable: id in /home/swholocron/public_html/editer_fiche_perso.php on line 24
Erreur SQL !
UPDATE perso SET nom_per='Ahsoka Tano', contenu_per='LE CONTENU',source_info='SOURCE' WHERE id_per=
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'âge de trois ans, Ahsoka Tano est une jeune padawan togruta de quatorze ans, n?' at line 1