[PHP/MYSQL] Parse error: parse error, unexpec

Résolu
bichou92 Messages postés 14 Statut Membre -  
bichou92 Messages postés 14 Statut Membre -
Bonjour,
Voila je tente d'insérer des donné dans une base de données après avoir verifier quelle nexisté pas
mais il m'indique l'erreur suivante
Parse error: parse error, unexpected T_VARIABLE in C:\Program Files\EasyPHP 2.0b1\www\op\ent2.php on line 23
J'ais deja regarder les message similaire sur le forum (verifier les point virgule , isset ect.)

voici le code de ma page ent.php (formulaire)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
<center><h1>Saisie d'une entreprise</h1></center>
<form action="ent2.php" method="post">
<label>Raison Sociale: </label><input type="text" name="NOM_CLI" /><br />
<label>N° Rue: </label><input type="text" name="NUM_BAT_CLI" />
<label>Adresse: </label><input type="text" name="ADR_CLI" /><br />
<label>Ville: </label><input type="text" name="NOM_VILLE" />
<label>Code Postal: </label><input type="text" name="COD_POST_VILLE" /><br />
<label>Nom du Contact: </label><input type="text" name="NOM_CONT_CLI" />
<label>Numero Telephone Contact: </label><input type="text" name="NUM_TEL_CONT_CLI" /><br />
<input type="submit" value="Enregistré" />
</form>
</body>
</html>

et maintenant le code de ent2.php (mon script de verif et d'insertion)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
<?php
$_POST["COD_POST_VILLE"];
$liendb = mysql_connect("*******","*******","*******");
mysql_select_db("lionell_keepass");
$sql = 'SELECT * FROM VILLE';
$ville = mysql_query($sql);
while($row=mysql_fetch_row($ville)){
if($row[2]==$_POST["COD_POST_VILLE"]){
$villenew=false;
break;
}else{
$villenew=true;
}
}
if($villenew==true){
$sql='INSERT INTO VILLE (NOM_VILLE, COD_POST_VILLE) VALUES ('$_POST["NOM_VILLE"]','$_POST["COD_POST_VILLE"]')';
echo "ville crée";
}else{
echo "existe deja";
}
mysql_close($liendb);
?>
</body>
</html>
Configuration: Windows XP
Firefox 3.0

2 réponses

  1. bichou92 Messages postés 14 Statut Membre 2
     
    MERCI Julien pour ton aide
    1
  2. julien_k
     
    Le problème vient du fait que l'on ne peut place une variable globale dans du SQL (une variable du type $_POST[""] par exemple). Il faut donc créer une variable locale qui a pour valeur la-dite variable globale.

    Voici le code corrigé de ent2.php :

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    </head>
    <body>
    <?php
    $_POST["COD_POST_VILLE"];
    $liendb = mysql_connect("*******","*******","*******");
    mysql_select_db("lionell_keepass");
    $sql = 'SELECT * FROM VILLE';
    $ville = mysql_query($sql);
    while($row=mysql_fetch_row($ville)){
    if($row[2]==$_POST["COD_POST_VILLE"]){
    $villenew=false;
    break;
    }else{
    $villenew=true;
    }
    }
    if($villenew==true){
    $nom_ville = $_POST["NOM_VILLE"];
    $cod_post_ville = $_POST["COD_POST_VILLE"];
    $sql="INSERT INTO VILLE (NOM_VILLE, COD_POST_VILLE) VALUES ('$nom_ville','$cod_post_ville')";
    echo "ville crée";
    }else{
    echo "existe deja";
    }
    mysql_close($liendb);
    ?>
    </body>
    </html>
    0