(re) 1 petite chose qui facilite ... heu ... les choses :
- utilise la balise code, c'est l'icône

qu'il y a dans la zone de saisie lorsque tu écris ton message, suffit de choisir "PHP". Ca permet la coloration syntaxique, ce qui permet par exemple de s'apercevoir facilement que l'on a une erreur de syntaxe.
parse error:syntax eroor,unexpected T_BOOLEAN_OR in ...on line 2
=> erreur de syntaxe : opérateur binaire OU inattendu à la ligne 2
=> tu as une parenthèse fermante en trop, ce qui fait que le parser PHP s'attend à trouver une accolade ouvrante, ou rien.
mais si jai un mot de passe a root pk se ne serais pas securitaire et quelqun peut t'il recuperer les donner de ma base donner ou traffiquer les .php ou les .html
(re)=>
Renseigne toi sur les fonctions mysql_real_escape_string() ou mieux, PDO
Je ne peux pas lire la doc à ta place. Elle expliquera mieux que n'importe qui ici les problèmes de sécurité auxquels tu t'exposes.
Je te (re)conseille donc de la lire, et de ne pas hésiter si il y a quelque chose que tu ne comprends pas.
S'il en était besoin :
http://fr2.php.net/manual/en/function.mysql-real-escape-string.php
http://fr2.php.net/manual/en/security.database.sql-injection.php
+ google and co
Même si dans ta requête INSERT il n'est peut être pas possible d'effectuer une injection (quoique) il convient de prendre l'habitude systématique de traiter les données provenant de l'utilisateur, ne serait ce que pour éviter les plantages.
Si j'entre "toto'@machin.truc" dans le champ email que ce passe t il ?
Une autre chose à ne jamais faire :
Code PHP :
or die('Erreur de connexion '.mysql_error());
Avec ça tu peux donner des informations importantes sur ta base de données.
Si jamais une requête de connexion ou une requête SQL plante l'utilisateur n'a pas à en connaitre la raison, c'est un dysfonctionnement qui te regarde :
utilisateur => "désolé, un plantage à eu lieu"
toi => envoi d'un mail, log de l'erreur, ... avec l'intitulé exact et d'autres infos de débogage.
Par ailleurs tu as encore d'autres erreurs de syntaxe ... celles que j'expliquais dans mon premier post.
Je reformule pour être plus clair :
Sans accolades seule la ligne qui suit l'instruction if ou else est prise en compte.
Tu as plus d'une ligne dans le if() => tu dois mettre des accolades
J'entends par "une ligne" 1 instruction :
Code PHP :
<?php
if($machin)
// la ligne suivante contient 2 instructions, seule la première dépend
// du if(), le else générera une erreur
echo 'truc';echo 'trucmuche';
else // 1 else alors que l'on est plus dans une condition if() => plantage
echo 'bidule';
?>
Prends donc l'habitude de mettre des accolades partout et indente ton code, tu éviteras les soucis.
Cordialement,
Kohntark -