conseil ?

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 : conseil ?

par donny » 18 mai 2005, 12:00

javascript alors c est le plus simple

par donny » 18 mai 2005, 10:09

en faite pour enregistrer,supprimer, faire un update j utilise un type submit et pour le reste si je souhaite faire une operation j utilise un type button.
Donc moi ma page au chargement contient des donnée donc c est pour cela que sa ne fonctionne pas ok

il me faut alors utiliser un type bouton
mais le truc c est que pour mettre mes champs a blanc si par exemple
<input type="text" name="a"...>

je met $a="" vu que je ne peux pas acceder à la methode get

par Cyrano » 18 mai 2005, 09:58

non, les formulaires sont indépendants les uns des autres.
Si le bouton reset ne fonctionne pas, c'est soit parce qu'il y a une erreur de syntaxe dans ton code, soit parce que tu essayes de vider un formulaire de données qui étaient là à l'ouverture de la page.

Le bouton reset remet le formulaire dans l'état où il était au chargement d'une page: s'il y avait des données, ça le remet en place.

C'est un type "reset" pas "erase" (qui n'existe pas)
Si tu veux vider un formulaire, tu peux avoir un bouton avec un gestionnaire d'évènement qui appelle une fonction maison : cette fonction peut vider le contenu de ton formulaire en mettant les "value" à "" (chaine vide). Mais là, c'est un type "button", pas "reset" ni "submit"

par donny » 18 mai 2005, 09:50

le truc c est que je viens de mettre un bouton reset mais il ne se passe rien
est ce que sa viens du faite que j ai deja d autre bouton sur ma page ???

par zeus » 18 mai 2005, 09:47

Et comment il récupère les données de ses <input> si il a 4 formulaires ?

Désolé mais ça ne marchera que pour 'effacer' mais pas pour 'enregistrer' et 'modifier'
On ne peut pas. Quand tu as plusieurs formulaires sur la même page, le clic sur un bouton submit va envoyer des valeurs en post ou en get en provenance du formulaire utilisé, pas des autres.
Je sais bien, c'est pour ça que j'ai posté ce message

par Cyrano » 18 mai 2005, 09:47

chaque formulaire est distinct: imagines une page: tu peux avoir un formulaire d'identification dans un coin: sur unepage catalogue, tu peux aiussi avoir des cases à cocher pour sélectionner un produit. Ce sont deux formulaires différents, mais tu peux ajouter des articles dans ton panier sans t'identifier encore, tout comme tu peux t'identifier sans ajouter d'article: mais tu ne peux pas faire les deux en même temps.

Il faut donc que chaque formulaire ait son but propre et il faut savoir à la base que tu n'en traites qu'un seul à la fois.

par Hywan » 18 mai 2005, 09:44

alors comment faire au final ? :oops:

par Cyrano » 18 mai 2005, 09:35

Et comment il récupère les données de ses <input> si il a 4 formulaires ?

Désolé mais ça ne marchera que pour 'effacer' mais pas pour 'enregistrer' et 'modifier'
On ne peut pas. Quand tu as plusieurs formulaires sur la même page, le clic sur un bouton submit va envoyer des valeurs en post ou en get en provenance du formulaire utilisé, pas des autres.

par zeus » 18 mai 2005, 09:35

Si je comprend bien ton problème, tu peut effectivement te satisfaire de 2 boutons :

- RESET
- SUBMIT

¤ au chargement les infos sont chargées
¤ il peut les modifier et les enregistrer
¤ ton bouton RESET doit avoir la valeur "Nouvel enregistrement" et quand l'utilisateur va cliquer sur ce bouton, tout va être néttoyer et tu pourra recommencer un nouvel enregistrement

par donny » 18 mai 2005, 09:31

je suis obligé de faire un bouton effacer<input type=reset..>
et ensuite un autre bouton <input type=submit ..>

par zeus » 18 mai 2005, 09:27

Et comment il récupère les données de ses <input> si il a 4 formulaires ?

Désolé mais ça ne marchera que pour 'effacer' mais pas pour 'enregistrer' et 'modifier'

par Hywan » 18 mai 2005, 09:19

bonjour :),
et si tu fesais

Code : Tout sélectionner

<input type="button" value="ton bouton" onclick="window.location.href='ton lien';">
ca irait ?

ou sinon tu entoures chaque bouton d'une balise <form> avec une action différente pour chaque, et comme ca chaque boutton seront tous des type="submit"

:wink:

en espérant t'avoir aidé :)

par donny » 18 mai 2005, 08:44

je suis obliger de passer par 2 bouton alors

par donny » 17 mai 2005, 10:34

le truc c est que mon formulaire au chargement de la page il contient des donnée,et donc a par ajouter 2 autres bouton un pour mettre a blanc et un pour enregister je vois pas trop
<?php 
// on se connecte à MySQL 
$db = mysql_connect('localhost', 'root', ''); 

// on sélectionne la base 
mysql_select_db('conso',$db); 
if(isset($_GET['Modifier'])){ 
$id=@$_GET['t1'];
$marque=@$_GET['t0']; 
$modele=@$_GET['t2']; 
$nom=$_GET['t3'];
$tech=$_GET['t4'];
echo $nom; 
$sql="update objet set marque='".$marque."' ,modele='".$modele."',nom='".$nom."',technologie='".$tech."' where numserie=".$id; 
$result=mysql_query($sql); 
}elseif(isset($_GET['Supprimer'])){
$id=@$_GET['t1'];
$sql="delete from objet where numserie=".$id;
$result=mysql_query($sql); 
} 
?> 

<form action="<? $_SERVER['PHP_SELF'] ?>" method="GET"> 
<? if(!isset($_GET['max'])){ 
$result = mysql_query("SELECT * FROM objet"); 
$max = mysql_num_rows($result) - 1;//la numérotaion commence à 0 
$suivant = 1; 
$precedent = -1; 
$id = 0; 
} 
else { 
$max = intval($_GET['max']); 
$id = intval($_GET['id']); 
$suivant = $id + 1; 
$precedent = $id - 1; 
} 
//$sql = "SELECT * FROM personne LIMIT " . $id . ", 1"; 
//$sql = "SELECT * FROM personne offset " . $id . ", 1"; 
$sql = "SELECT * FROM objet LIMIT 1 OFFSET " . $id; 


$result = mysql_query($sql) or die('erreur'); 
//$result = pg_query($sql) or die('erreur'); 
$row = mysql_fetch_row($result); 
//print_r($row); 
?> 
<table>
<tr>
<input type="hidden" name="t1" value="<?php echo $row[0]; ?>">
<td><i>Marque</i></td><td><input type="text" name="t0" value="<?php echo $row[1]; ?>"></td></tr> 
<td><i>Modele</i></td><td><input type="text" name="t2" value="<?php echo $row[2]; ?>"></td></tr> 
<td><i>Nom</i></td><td><input type="text" name="t3" value="<?php echo $row[3]; ?>"></td></tr> 
<td><i>Technologie</i></td><td><input type="text" name="t4" value="<?php echo $row[4]; ?>"></td></tr>
</table> 
<?php $deb=$max-$max; 
echo "<a href=\"navig.php?max=" . $max . "&id=" . $deb . "\">DEBUT</a>  "; 

if($precedent != -1) 
echo "  <a href=\"navig.php?max=" . $max . "&id=" . $precedent . "\">PRECEDENT</a>  "; 

if($suivant <= $max) 
echo "  <a href=\"navig.php?max=" . $max . "&id=" . $suivant . "\">SUIVANT</a>  "; 

echo "  <a href=\"navig.php?max=" . $max . "&id=" . $max . "\">FIN</a>  "; 
?> 



<br>
<br>
<input type="submit" name="Modifier" value="Modifier" onclick=" return confirm('Vraiment modifier?')"> 
<input type="submit" name="Supprimer" value="Supprimer" onclick=" return confirm('Vraiment supprimer?')">
</form> 

par pjl » 17 mai 2005, 10:09

Un bouton de type reset, c'est du HTML de base et c'est spécifiquement prévu pour effacer le contenu d'un formulaire.
Je ne vois pas trop ou est le problème, sinon, n'aurais tu pas tendance à confondre bouton et lien ?