Ses derniers messages sur les forums
C'est quoi PDO ?
Je pense que tu n'escape pas tes données avant de les insérer en base de données.
Exemple :
$sql = "INSERT INTO blu ('champ1', 'champ2') VALUES ('".$_POST['toto']."', '".$_POST['titi']."')";
Ceci n'est pas bon, car si $_POST['toto'] ou $_POST['titi'] contiennent une ', ta requete SQL est fuckée, car elle devient :
INSERT INTO blu ('champ1', 'champ2') VALUES ('blublu ' toto', 'blu ' titi')"
Vois comment mysql se paume au niveau des '.
Bref, escape les données en faisant :
$sql = "INSERT INTO blu ('champ1', 'champ2') VALUES ('".mysql_escape_string($_POST['toto'])."', '".mysql_escape_string($_POST['titi'])."')";
PS : Pour avoir les messages d'erreurs SQL, mets des or die (mysql_error) sur tes mysql_query. Fais aussi des echo $sql, ca aide pour voir les requetes foireuses. Ah oui aussi, extract n'est pas une "bonne solution" : debrouille toi plutot pour faire en sorte que ta requete se lance si et seulement si ton $_POST existe.
Ben le mettre hors du DocumentRoot.
Oui, c'est possible.
Consulte la doc MySQL pour créer un utilisateur qui ne peut que lire les données.
(en même temps, ton mot de passe mysql, a priori, on ne peut pas le voir si il est dans un .php dans un define ou une variable, à moins bien sur d'afficher cette constante ou cette variable... Et au pire, si tu te fais rooter, le mec le trouvera, que tu le mettes dans un .php ou ailleurs. Ou sinon, tu peux le mettre dans un fichier, fichier qui n'est pas "visible" via apache et que tu include via php)
Ben si tu as besoin d'un if, tu veux utiliser quoi à part un if ? :)
Utilise le type double.
Deja, change ta requete en :
$sql2 = "Update ". $scroll_table ." ".
"SET titre = '". mysql_escape_string($titre) ."' ,
url = '". mysql_escape_string($url) ."' ,
message = '". mysql_escape_string($message) ."' ".
"WHERE id=".mysql_escape_string($id);
Ensuite, un echo de $sql2 donne quoi ?
Aussi oui :)
Je t'invite à lire le cours numéro 6 de ce site :)