execution de script en depit d'un isset...

Mammouth du PHP | 702 Messages

24 avr. 2012, 11:53

Bonjour à tous, j'ai ce script ci, il s'execute en depit de ma condition sinequa none...
du coup ça me met des messages d'erreurs, ce qui est normal puisque le formulaire n'est pas validé (le formulaire et la verification sont sur la meme page)

voici mon code:
<?php if (isset($_POST['commentaire'])) { ?>
<?php
$date22= date(Y-m-d) ;

    $sql444 = 'INSERT INTO  commentaire SET 
code_client					= "'.mysql_real_escape_string($_GET['code_client']).'",
n_doss						= "'.mysql_real_escape_string($_GET['n_doss']).'", 
date		 				= "'.mysql_real_escape_string($date22).'", 
user						= "'.mysql_real_escape_string($_SESSION['login']).'", 
commentaire					= "'.mysql_real_escape_string($_POST['commentaire']).'" ,
' ;                  
   


mysql_query($sql444) or die(__LINE__.mysql_error().$sql444);

?>
Données insérées avec succès. Poursuivons: <a href="suivi.php?id=<?php echo $_GET['id'] ; ?>&n_doss=<?php echo $_GET['n_doss'] ; ?>&code_client=<?php echo $_GET['code_client'] ; ?>" ><img src="images/misc_22.png"  border="0"/></a>
<?php } ?>
je ne vois pas ce qui cloche.

d'avance merci pour votre aide.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

24 avr. 2012, 12:08

comme déja dit vire le <?php en trop c'est ,n'importe quoi c'est pas lisible ton code la !
surtout pour faire une fermeture en fin de ligne pour ouvrir en dessous !

a tu regardé ce qu'il y a dans $_POST (un var_dump() dans le if)

par exemple
<?php 
if (isset($_POST['commentaire'])) {
	var_dump($_POST);

	$date22= date(Y-m-d) ;

	$sql444 = 'INSERT INTO  commentaire SET
	code_client                                     = "'.mysql_real_escape_string($_GET['code_client']).'",
	n_doss                                          = "'.mysql_real_escape_string($_GET['n_doss']).'",
	date                                            = "'.mysql_real_escape_string($date22).'",
	user                                            = "'.mysql_real_escape_string($_SESSION['login']).'",
	commentaire                                     = "'.mysql_real_escape_string($_POST['commentaire']).'" ,
	' ;
	mysql_query($sql444) or die(__LINE__.mysql_error().$sql444);

	echo <<<eot
Données insérées avec succès. Poursuivons:
<a href="suivi.php?id=${_GET['id']}&n_doss=${_GET['n_doss']}&code_client=${_GET['code_client']}"><img
	src="images/misc_22.png" border="0" /> </a>
eot;
}
?>
le fait de tester une valeur n'inclus pas que les autres existes. de plus tu mélange get et post il faut tester toute les valeurs avant de les utilisers.

sans le formulaire associer je peu pas en dire plus.

@+
Il en faut peu pour être heureux ......