Vérification d'une commmande

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Vérification d'une commmande

par Samus » 21 janv. 2009, 15:38

oui merci ça marche super :P

par stopher » 20 janv. 2009, 15:58

Salut ,

Tu n'as pas de problémes de boucles infinie avec ce code ?
 while{$data = mysql_fetch_array($sql5)  OR $verif==0)                                                                            /* on boucle tant qu'on est pas à la fin des articles sélectionnés de la commande, ou que la variable verif est à 0, vérif passe à 1 si un article est commandé, on sort ainsi de la requete*/
    {
            $verif=0;                                /*par défaut vérif est à 0*/
            if ($data['statut']<>0)                    /*si le statut de l'article n'est pas à 0 il est donc commandé vérif passe à un et on sort de la boucle*/
            {
                $verif=1;
            }
    } 
Pourquoi ne comptes tu pas uniquement les articles qui ont un etat différent de 0 ...
S'il n'y a pas de resultat ( nb trouvé = 0 ), la commande peut être supprimé , sinon , non ...

Vérification d'une commmande

par Samus » 20 janv. 2009, 12:58

Bonjour tout le monde,
Pour mon site, l'administrateur qui gère les commandes des clients ne doit pas pouvoir en supprimer une si celle ci contient des articles non envoyés.

J'ai testé ça mais ça n'a pas l'air de marché, d'autant plus que mon wamp ne m'indique pas les erreurs, il ne veut juste pas aller sur la page... je sais pas je dois pas avoir activer un truc je trouve pas.
if(isset($_GET['sup_numcde'])) /*vérification de l'intégrité référencielle: une commande ne peut pas etre éffacée si un article est présent dans la commande*/
{
	$_GET['sup_numcde'] = addslashes($_GET['sup_numcde']);																			/*ajout de slash par sécurité*/

	$sql5=mysql_query('SELECT * FROM commande, article WHERE ncde="'.$_GET[sup_numcde].'" AND statut="'.$_GET[sup_numcde].'"');		/*on va prendre les commandes et les articles correspondant à ceux de la commande, ncde est le numéro de commande, et statut est un champ de la table article qui prend pour valeur le numéro de la commande s'il est commandé, 0 sinon*/
	while{$data = mysql_fetch_array($sql5)  OR $verif==0)																			/* on boucle tant qu'on est pas à la fin des articles sélectionnés de la commande, ou que la variable verif est à 0, vérif passe à 1 si un article est commandé, on sort ainsi de la requete*/
	{
			$verif=0;								/*par défaut vérif est à 0*/
			if ($data['statut']<>0)					/*si le statut de l'article n'est pas à 0 il est donc commandé vérif passe à un et on sort de la boucle*/
			{
				$verif=1;
			}
	}
	if (verif==0)
	{
		mysql_query('DELETE FROM commande WHERE ncde=\'' . $_GET['sup_numcde'] . '\''); /*si vérif est bien à 0 on peut lancer la suprresion*/
	}
}