Vérification avant de submit un formulaire

Petit nouveau ! | 6 Messages

03 juin 2009, 17:43

Bonjour,

J'aimerais savoir s'il existe une sorte d'équivalent à ce que serait un onSubmit en javascript en PHP.

Je m'explique, j'ai un formulaire html et un bouton submit qui exécute un script, seulement j'aimerais qu'il vérifie une condition avant d'exécuter ce script justement.

Je vous donne mon code (qui ne marche pas puisque la fonction est une fonction PHP) mais c'est pour que vous compreniez l'idée... Je comprends bien pourquoi cela ne marche pas, j'aimerais simplement comprendre comment faire autrement
function VerifStock() {
	
	// Nouvelle requete pour vérifier l'état des stocks de la BDD à l'instant t
	$erreur = "";
	$sql = "SELECT * FROM produits";
	$r = mysql_query($sql);
	$stock_verifie = array();
		while ($enr = mysql_fetch_assoc($r)) {
			$stock_verifie[] = $enr;
		}
	
	// Comparer panier et stock_verifie
	while(list($key, $val) = each($_SESSION['panier']))
    {
		if ($_SESSION['panier'][$key]['quantite'] > $stock_verifie['quantite'][$key])
		{
			$erreur = "Desoles, certains produits ne sont plus disponibles en quantite voulue.";
		} 
		
		if ($erreur !="") {
			echo '<script language="javascript">alert('.$erreur.')</script>';
			return false;
		} 
		else {
			return true;
		}
 	}
Et le formulaire :
echo '<form action="exe-pdf.php" method="POST" onSubmit="return VerifStock();">'; 
echo '<input type="image" src="images/btn_generate1.png" value="">';
echo '</form>';  

Mammouth du PHP | 1339 Messages

03 juin 2009, 18:11

Oui ca s'appelle de l'ajax :)

Tu lances un fonctions javascript qui appelle du PHP et te répond sans recharger la page.
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Petit nouveau ! | 6 Messages

03 juin 2009, 18:16

Bon, si c'est vraiment la seule solution je vais m'y mettre |*()

Il n'y aurait pas une autre méthode (totalement différente dans la construction je présume) qui permettrait de vérifier une condition avant d'exécuter un formulaire, uniquement en PHP ?

ViPHP
ViPHP | 1136 Messages

03 juin 2009, 18:35

non !

php se passe du coté serveur , donc la seule solution pour toi de vérifier ce qu'un utilisateur entre avant qu'il ne valide sont formulaire , et d'utiliser du javascript ( qui lui se passe du coté client )!

javascript pure , ou javascript + xml ( ajax ) , peut importe celà dépend surtout des vérifications que tu souhaites faire ...

Dans tous les cas , ne fais jamais confiance à 100% aux vérification javascript , qui sont tres facilement altérables .

Il faut toujours ajouter des vérifications coté php !

Ch.