Condition avant de faire une action

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 : Condition avant de faire une action

par mali_67 » 04 mars 2008, 15:14

Bin zeus merci beaucoup pour ta patience, j'ai finalement trouver, le probleme etais que je demander ma condition au mauvaise endroit maintena sa fonctionne :D bonne journé a toi et aussi a tous ceux qui mon conseiller MERCI
par contre je ne trouve plus l'option "probleme résolue" :?

par zeus » 04 mars 2008, 13:20

oui en faite quand je remplie mon tableau mes checkbox on toute le même nom mais par contre on un id différent
Mais, de base, je ne trouve qu'une seule balise HTML qui commencer par

Code : Tout sélectionner

<input type="checkbox" name="Verif" ...
:?

par Berzemus » 04 mars 2008, 12:51

Wikipedia est ton ami:
L'indentation:
http://fr.wikipedia.org/wiki/Indentation

Styles d'indentation:
http://fr.wikipedia.org/wiki/Style_d%27indentation

Avant je codais au petit hasard, mais avec la proffesionallisation, mieux vaut adopter une pratique consistante, alors je me suis mis au style Whitesmiths, qui me plait assez bien.

par mali_67 » 04 mars 2008, 11:44

Comment je peu faire une meilleur identation?(c'est quoi l'identation? :? )
oui en faite quand je remplie mon tableau mes checkbox on toute le même nom mais par contre on un id différent

par zeus » 04 mars 2008, 11:34

Je te conseille de faire gaffe à l'indentation ... ton code est super dur à lire ;)

Sinon, est-ce qu'il est normal que tu n'ais qu'un seul checkbox qui se nomme 'Verif' ?

par mali_67 » 04 mars 2008, 10:24

oups voila le code html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html>

<head>
<link rel= "StyleSheet" type = "Text/Css" media="screen" Href = "Css.css">
<script language="JavaScript" type="text/javascript">
<!--
function focus(chp)
{
document.getElementById(chp).focus();
}
function CheckAllBox(statut)
{
	var allMyElement = document.Form1.nbrElement.value; // on récupère le nombre de checkbox
	if(statut == true) // si on a coché le bouton tout sélectionné
	{
		for(var i=0;i<allMyElement;i++) //alors on fait une boucle pour tout sélectionner
		{
			document.getElementById('box'+i).checked = true;
		}
	}
	else
	{
		for(var i=0;i<allMyElement;i++) //sinon on fait une boucle pour tout désélectionner
		{
			document.getElementById('box'+i).checked = false;
		}
	}
}
//-->
</script>
</head>

<body onload="focus('nombre')">
<form name='Form1' method="POST" action="Accueil.php?page=<?php echo $page?>" >
<center>

<H1>Référencement</H1>
<br>
<gras>Tableau récapitulatif des différents partenaires sur le site www.sprice.com</gras>
<br><br>
<?php
	//affiche les liens
	 echo 'Page : ';
        for ($i = 1 ; $i <= $nombreDePages ; $i++)
        {
        echo '<a href="Accueil.php?page=' . $i . '&nombre='.$_SESSION['nombrelignepage'].'">' . $i . '</a> ';
        }  	
?>
<br><br>
<a href="ajout.php">Ajouter un lien</a>
<br><br>
Nombre de resultat par page : 
<input name="nombre" type ='Text'>

&nbsp;
<input name='valider' type='Submit' value="valider"><?php echo '<span style="color:red;">'.$erreur.'</span>' ?>
<br><br>
Verifier les liens :&nbsp;
<input name="Verification" type="Submit" value="Verification"><?php echo '<span style="color:red;">'.$message.'</span>' ?>
<br>
<table id= "Table" width= 50% >
<hr>
<table border=1 align="center" cellpadding="0" cellspacing="0">
 
<tr> 
<th>Modifier</th>
<th>Supprimer</th>
<th>Verifier<br><br>Tous&nbsp;<input type='checkbox'  value="checkbox" onclick="CheckAllBox(this.checked);" /></th>
<th>Partenaire<br><input name='Submit1' type='Submit' value="+">&nbsp;<input name='Submit2' type='Submit' value="-"><br><br><input name='Text1' type='Text'>&nbsp;<input name='Submit15' type='Submit' value="GO"></th>

<th>Page Sprice<br><input name='Submit3' type='Submit' value="+">&nbsp;<input name='Submit4' type='Submit' value="-"><br><br><input name='Text2' type='Text'>&nbsp;<input name='Submit16' type='Submit' value="GO"></th>

<th>Code du lien<br><input name='Submit5' type='Submit' value="+">&nbsp;<input name='Submit6' type='Submit' value="-"><br><br><input name='Text3' type='Text'>&nbsp;<input name='Submit17' type='Submit' value="GO"></th>

<th>Page partenaire<br><input name='Submit7' type='Submit' value="+">&nbsp;<input name='Submit8' type='Submit' value="-"><br><br><input name='Text4' type='Text'>&nbsp;<input name='Submit18' type='Submit' value="GO"></th>

<th>Code du lien<br><input name='Submit9' type='Submit' value="+">&nbsp;<input name='Submit10' type='Submit' value="-"><br><br><input name='Text5' type='Text'>&nbsp;<input name='Submit19' type='Submit' value="GO"></th>

<th>Contact<br><input name='Submit11' type='Submit' value="+">&nbsp;<input name='Submit12' type='Submit' value="-"><br><br><input name='Text6' type='Text'>&nbsp;<input name='Submit20' type='Submit' value="GO"></th>

<th>Commentaire<br><input name='Submit13' type='Submit' value="+">&nbsp;<input name='Submit14' type='Submit' value="-"><br><br><input name='Text7' type='Text'>&nbsp;<input name='Submit21' type='Submit' value="GO"></th>
</tr>

<?php
$bool = true;
$nb = 0;
while ($Tab= mysql_fetch_array($result))
	{
?>
<tr>
<td><?php echo '<a href="Modification.php?NumLien=' . $Tab['NumLien'] . '">'; ?>Modifier</a></td>
<td><?php echo '<a href= "Accueil.php?NumLien=' . $Tab['NumLien'] . '" onclick="if ( !confirm(\'Etes-vous sur de vouloir supprimer ?\')) { return false; }">'; ?>Supprimer</a></td>
<td><input type='checkbox' name="Verif[]" value=<?php echo $Tab['NumLien'];?> id="box<?php echo $nb;?>" align="center"/></td>	
<td><?php echo $Tab['NomPartenaire'];?></td>

<td>
<?php    
if (isset($_POST['Verification']) &&  count($_POST['Verif']) != 0)
{
if (in_array($Tab['NumLien'], $_POST['Verif']))
	 {
	  $Test = $Tab['LibelleLienSprice'];
if (!$fp = @fopen(''.$Test.'',"r"))   //l
{
echo '<span style="color:red;">'.$Test.'</span>';
$bool=false;
}
else 
{
echo '<span style="color:green;">'.$Test.'</span>';
$bool=true;
}
	 }  
	 else
	 {
	echo $Tab['LibelleLienSprice'];	
	}
}
else
{
 $message="Vous devez cocher une case!";	 
 echo $Tab['LibelleLienSprice'];
}
?>

</td>
<td style="width:150"px;"">
<?php      
if (isset($_POST['Verification']) && count($_POST['Verif']) != 0 )
{
if($bool==true)
{
 $verif = $_POST['Verif'];
if (in_array($Tab['NumLien'], $_POST['Verif']))
	 {
	  $Test = $Tab['LibelleLienSprice'];

$fp = @fopen(''.$Test.'',"r"); //lecture du fichier
while (!feof($fp)) { //on parcourt toutes les lignes
  $page .= fgets($fp, 4096); // lecture du contenu de la ligne
}
if (preg_match("`".preg_quote($Tab[CodeLienSprice])."`i",$page,$regs)!=0)
{
echo '<span style="color:green;">'.htmlentities($Tab['CodeLienSprice']).'</span>';	
}
else
{
echo '<span style="color:red;">'.htmlentities($Tab['CodeLienSprice']).'</span>';	
}
fclose($fp);
}
else
{
echo htmlentities($Tab['CodeLienSprice']);	
}
 }
else
{
echo '<span style="color:red;">'.htmlentities($Tab['CodeLienSprice']).'</span>';	
}	
}
else
{
 $message="Vous devez cocher une case!";
echo htmlentities($Tab['CodeLienPartenaire']);
}
?>
</td>
 
<td>
<?php     
if (isset($_POST['Verification']) && count($_POST['Verif']) != 0)
{
	if (in_array($Tab['NumLien'], $_POST['Verif']))
	 {
	  $Test = $Tab['LibelleLienSprice'];
if (!$fp = @fopen(''.$Test.'',"r")) 
{
echo '<span style="color:red;">'.$Tab['LibelleLienPartenaire'].'</span>';
$bool=false;
}
else 
{
echo '<span style="color:green;">'.$Tab['LibelleLienPartenaire'].'</span>';
$bool=true;
}
}
else
	 {
	echo $Tab['LibelleLienSprice'];	
	}	
  
}
else
{
 $message="Vous devez cocher une case!";
 echo $Tab['LibelleLienPartenaire'];
}
?>
</td>
<td style="width:150"px;"">
<?php       
if (isset($_POST['Verification']) && count($_POST['Verif']) != 0)
{
if($bool==true)
{
if (in_array($Tab['NumLien'], $_POST['Verif']))
	 {
	  $Test = $Tab['LibelleLienSprice'];

 $fp = @fopen(''.$Tab['LibelleLienPartenaire'].'',"r"); //lecture du fichier
while (!feof($fp)) { //on parcourt toutes les lignes
  $page .= fgets($fp, 4096); // lecture du contenu de la ligne
}
if (preg_match("`".preg_quote($Tab[CodeLienPartenaire])."`i",$page,$regs)!=0)
{
echo '<span style="color:green;">'.htmlentities($Tab['CodeLienPartenaire']).'</span>';	
}
else
{
echo '<span style="color:red;">'.htmlentities($Tab['CodeLienPartenaire']).'</span>';	
}
fclose($fp);
}
else
{
echo htmlentities($Tab['CodeLienPartenaire']);	
}
}
else
{
echo '<span style="color:red;">'.htmlentities($Tab['CodeLienPartenaire']).'</span>';	
}

}
else
{
 $message="Vous devez cocher une case!";	
echo htmlentities($Tab['CodeLienPartenaire']);
}
?>
</td>

<td><?php echo $Tab['Contact'];?></td>
<td><?php echo $Tab['Commentaire'];?></td>
</tr>
<?php
$nb++;
}
?>

</table>
<input type="hidden" name="nbrElement" value="<?php echo $total;?>" id="hidden"/>
<br><a href="javascript:history.back();">Page Précedente</a>&nbsp;&nbsp;&nbsp;<a href="javascript:history.forward();">Page Suivante</a>
</center>
</form>
</body>
</html>	

par zeus » 04 mars 2008, 08:59

oui, le formulaire HTML stp ;)

par mali_67 » 04 mars 2008, 00:57

voici le code
<?php    
if (isset($_POST['Verification']) &&  count($_POST['Verif']) != 0)
{
if (in_array($Tab['NumLien'], $_POST['Verif']))
	 {
	  $Test = $Tab['LibelleLienSprice'];
if (!$fp = @fopen(''.$Test.'',"r"))   //l
{
echo '<span style="color:red;">'.$Test.'</span>';
$bool=false;
}
else 
{
echo '<span style="color:green;">'.$Test.'</span>';
$bool=true;
}
	 }  
	 else
	 {
	echo $Tab['LibelleLienSprice'];	
	}
}
else
{
 $message="Vous devez cocher une case!";	 
 echo $Tab['LibelleLienSprice'];
}
?>
s'il faut dotre renseignement

par zeus » 03 mars 2008, 23:52

Donne moi le code complet de ton formulaire et de ta vérification s'il te plait.

par mali_67 » 03 mars 2008, 18:51

ah parcke j'ai ecrit $_POST['check'] pour que l'on comprenne que se sont les checkbox en vrai c $_POST['Verif'] et j'ai fait un coller et oublier de mettre check a la place de Verif mais c'est la mm chose deso

par zeus » 03 mars 2008, 18:41

pourquoi $_POST['check'] est subitement devenu $_POST['Verif'] ?

par mali_67 » 03 mars 2008, 17:44

j'ai mis se que tu ma dit
if (isset($_POST['Verification']) &&  count($_POST['Verif']) != 0)
{
...}
mais mon message ne s'affiche pas

par zeus » 03 mars 2008, 16:35

alors, pour commencer $_POST['check'] != 0 est un dysfonctionnement heureux. Ton code vient de "tomber en marche" (cqfd "fonctionne mais tu ne comprend pas pourquoi").

La bonne syntaxe est count($_POST['check']) == 0 pour savoir que le nombre de checkbox cochée vaut 0.

Ensuite, pour le problème suivant, pas mieux que la réponse précédente ;)

par d0m » 03 mars 2008, 16:32

la variable $message est accessible pendant tout le script de ta page.

Si dans la même page,
echo $message;
affiche le message

et
<?php echo '<span style="color:red;">'.$message.'</span>' ?>
ne l'affiche pas,

c'est que soit :
- tu effaces la variable (unset,...)
- tu lui mets une autre valeur entre les 2 lignes de codes
- tu écris en rouge sur de rouge mais ça j'en doute...
- ta 2ème ligne est dans une boucle qui ne s'effectue pas.

A part ça $_POST['checked'] est un tableau.
Si il n'y a aucune valeur de coché, le tableau est donc vide et il ne vaut pas 0 mais array().
Pour savoir si il est vide il faut donc tester comme Zeus te le propose (en comptant les éléments du tableau) ou avec empty().

par mali_67 » 03 mars 2008, 16:20

en faite vu que quand $_POST['check'] == 0 aucune checkbox n'est selectionner je veut dire que si aucune checkbox n'est selectionner affiche mon message d'erreur
mais le probleme et que admetton je code ceci
<?php    
if (isset($_POST['Verification']) && $_POST['check']!= 0)
{
....
}
else
{
$message = "vous devez cocher une case!";
echo $message;
}
ici tout va bien le message s'affiche dans mon tableau
mais moi je souhaite afficher le $message a droite de mon bouton verification donc j'ai mis l'echo ici
<input name="Verification" type="Submit" value="Verification"><?php echo '<span style="color:red;">'.$message.'</span>' ?>
et le message ne s'affiche pas dans ce cas présent
je comprend rien :?