petite aide pour un débutant... (addslahes)

petite aide pour un débutant... (addslahes) - PHP - Programmation

Marsh Posté le 06-08-2003 à 08:12:26    

mon prob est le suivant quand je veux updater mes info de ma bd via le formulaire qui suit tous les info suivants un / ou ' sont supoprimer j'ai lu qu'il faut utiliser la commande addslashes mais voila je vous avoue que je ne sais pas comment l'utiliser et que je n'ai pas trouver un explication simple c'est pourquoi si ququ pouvait me donner un exemple avec comme base se script je pense que je verrais beaucoup plus clair.
 
merci d'avance.
<?
print("<html><head>
<title>Ajout</title>
 
<body>" );
 
 global $age_d_application, $auteurs, $nom, $dommaine_d_application, $abreviations, $ref, $divers,$url,$prix,$catalog,$quoi,$categorie;
if ($envoyer)
        {
        $db = mysql_connect("localhost", "", "" );      // connexion à la base
        mysql_select_db('msgaphone',$db);                              // sélection de la base
 
        $sql = "UPDATE msg727 SET mm='$mm',dequi='$dequi',mmpourqui='$mmpourqui',pourqui='$pourqui',scte='$scte',tel='$tel',ap='$ap',ra='$ra',msg='$msg',quand='$quand',heure='$heure',lu='$lu' WHERE id='$quoi'";
 
         mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
         print("Vos infos on été ajoutées." );
         mysql_close();
        print("<script language='javascript'>\n window.location.replace('tema_droit.php');\n</script>" );
        }
 
$db = mysql_connect("localhost", "aphone", "online" );      // connexion à la base
mysql_select_db('msgaphone',$db);
$requete_sql= "SELECT * FROM msg727 WHERE id=$quoi";
$result = mysql_query($requete_sql, $db);
while ($row = mysql_fetch_array($result))
{
 
$item_id=$row[id];
$item_mm=$row[mm];
$item_dequi=$row[dequi];
$item_mmpourqui=$row[mmpourqui];
$item_pourqui=$row[pourqui];
$item_scte=$row[scte];
$item_tel=$row[tel];
$item_ap=$row[ap];
$item_ra=$row[ra];
$item_msg=$row[msg];
$item_quand=$row[quand];
$item_heure=$row[heure];
$item_lu=$row[lu];
print("<form method='POST' action='$PHP_SELF'>
<left>
<input type='hidden' name='quoi'  value='$quoi'>
<input type='hidden' name='mm'  value='$item_mm'>
<input type='hidden' name='lu'  value='todo'>
<input type='hidden' name='dequi'  value='$item_dequi'>
<input type='hidden' name='mmpourqui'  value='$item_mmpourqui'>
<input type='hidden' name='pourqui'  value='$item_pourqui'>
<input type='hidden' name='scte'  value='$item_scte'>
<input type='hidden' name='tel'  value='$item_tel'>
<input type='hidden' name='ap'  value='$item_ap'>
<input type='hidden' name='ra'  value='$item_ra'>
<input type='hidden' name='msg'  value='$item_msg'>
<input type='hidden' name='quand'  value='$item_msg'>
<input type='hidden' name='heure'  value='$item_heure'>
<b>LES MESSAGES DE TEMA EDITIONS</b><br><br>
 
<input type='submit' value='TO DO ? clicker pour OK' name='envoyer'>
</center>
</form></body></html>" ); }
?>

Reply

Marsh Posté le 06-08-2003 à 08:12:26   

Reply

Marsh Posté le 06-08-2003 à 09:24:29    

avant ton INSERT :
 
 
 

Code :
  1. $mm=addslashes($mm);
  2. $mmpourqui=addslashes($mmpourqui);
  3. // etc pour toutes tes variables pouvant contenir ce type de caracteres
  4. $sql = "UPDATE msg727 SET mm='$mm',dequi='$dequi',mmpourqui='$mmpourqui',pourqui='$pourqui',scte='$scte',tel='$tel',ap='$ap',ra='$ra',msg='$msg',quand='$quand',heure='$heure',lu='$lu' WHERE id='$quoi'";


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 06-08-2003 à 10:08:50    

le pbm peut aussi venir du html, si ce que t'as dit simogeo ne suffit pas à régler le pbm, essayes ça pour tes champs de formulaires:

Code :
  1. <input type='hidden' name='quoi'  value='<?= htmlentities($quoi)?>'>


 
tous les champs sont hidden, c'est normal :??:

Reply

Marsh Posté le 05-09-2003 à 20:13:18    

ben un ptit up car j'i testé et aucune des deux solution ne foncionne je ne comprend pas tres bien

Reply

Marsh Posté le 05-09-2003 à 20:20:09    

pcor a écrit :

ben un ptit up car j'i testé et aucune des deux solution ne foncionne je ne comprend pas tres bien


voilà la clef je pense [:aloy]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 05-09-2003 à 20:27:19    

ca sert à protéger les chaînes de caractères lors d'une requête :
$sql  = 'UPDATE table SET ';
$sql .= "champ_texte = '" . addslashes($champ_texte) . "', ";
$sql .= "champ_entier = " . $champ_entier . ", ";
$sql .= "WHERE id = " . $id;
 
(c'est inutile de mettre les entiers entre ' ')

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed