[RESOLU]Formulaire et BDD

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 : [RESOLU]Formulaire et BDD

par Freddo31 » 13 juin 2009, 13:28

Merci AB, je ne connaissais pas non plus...je suis pas un expert de Javascript...pour tout dire...j'y connais rien...:s

merci de votre aide dans tout les cas, c'est super ce que vous faites!!!

par AB » 12 juin 2009, 19:38

La méthode la plus académique et la plus simple c'est de faire :

Code : Tout sélectionner

<form action = "./supprOK.php" method = "post" onsubmit = "if(confirm('Demande de confirmation pour la suppression du truc ')) return true; else return false"> ... <input type="text" .... /> ... <input type="submit" value="Supprimer" /> ... </form>
Donc dans ce cas le formulaire ne sera soumis qu'après confirmation.
Tu peux toujours externaliser le code js dans une fonction externe si tu veux.

par Ryle » 12 juin 2009, 17:27

C'est parce qu'un bouton submit, c'est fait pour soumettre un formulaire, par pour demander son avis à l'utilisateur :)

Remplace ton submit par un bouton de type "button", ça fonctionnera déjà mieux :)

Par contre si ta fonction javascript ne fait qu'ouvrir la page supprOK.php sans lui passer plus d'infos, elle risque de pas savoir quoi supprimer... à la place du location.replace(..) pourquoi ne pas faire un document.nom_du_formulaire.submit(), qui va quant à lui soumettre le formulaire ? :)

par Freddo31 » 12 juin 2009, 16:25

Ah oui, merci...ça marche nickel...je ne connaissais pas cet attribut... :oops:

nouveau petit soucis...d'ordre technique...


alors dans un formulaire de suppression d'un utilisateur, j'ai un bouton de type "submit" qui renvoie sur une page supprOK.php, ou il y a le code de la requete SQL DELETE.
la suppression marche nickel.
par contre la ou arrive le soucis, c'est que j'aimerais qu'une confirmation soit demandé avant que le DELETE s'exécute.
alors j'ai trouvé une solution qui je pense doit marcher, mais dans mon code, quelque chose cloche...

c'est une fonction javascript.
voila mon boutton de type submit
<input type="submit" value="Supprimer" onClick="confirmation();" />
et dans le <head>, j'ai ça comme fonction...
<SCRIPT LANGUAGE="JavaScript">
function confirmation() {
var msg = "Êtes-vous sur de vouloir supprimer ce truc ?";
if (confirm(msg))
location.replace(./supprOK.php);
}
</SCRIPT> 
le soucis est que le onClick ne prend pas...que je le mette ou pas...c'est pareil, ça supprimer direct...
alors avez vous une astuce pour une demande de confirmation?

(je peux vous coller le code des 2 pages concernées si vous voulez...??)

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par AB » 12 juin 2009, 14:00

Tu ne peux pas le récupérer parce que ton input est disabled = "disabled" donc dans ce cas la valeur de l'input n'est pas transmise au tableau $_POST.

Si tu souhaites qu'on ne puisse pas modifier la valeur du login, mais que cette valeur soit néanmoins transmise au tableau $_POST, il faut écrire readonly = "readonly" à la place de disabled = "disabled"

[RESOLU]Formulaire et BDD

par Freddo31 » 12 juin 2009, 12:34

Bonjour à tous.
voici mon problème :

conditions :
- je suis administrateur d'un site et j'ai les droits pour éditer et supprimer des utilisateurs.
- Quand je clique sur le bouton membre
Image
j'ai un tableau récapitulatif des tous les membres inscrit sur le site
Image

ce tableau est crée par ce code...
<?php
			$i = 0;
			mysql_connect ("localhost", "root", ""); //connexion à la base
			mysql_select_db ("bd_test_eritec");//sélection de la base
			 $sql = 'SELECT LOGIN,NOM,PRENOM,AGE FROM utilisateur';
			 $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

			echo'<form action="./edit_membre.php" method="post" >';
			 echo '<fieldset>';
					echo'<legend>Liste des membres</legend>';
						echo'<table width="360"  border="1">';
							echo'<tr><th>N° Membre</th><th>Login</th><th>Nom</th><th>Prenom</th><th>Age</th><th>Action</th></tr>';
			 while ($membre = mysql_fetch_assoc($req))
			 {
			 	echo '<tr>';
					echo'<td align="center"> '.$i.'</td>';
					echo'<td align="center"><input type="text" value="'.$membre['LOGIN'].'" name="login" disabled="disabled" /></td>';
					echo'<td align="center">'.$membre['NOM'].'</td>';
					echo'<td align="center">'.$membre['PRENOM'].'</td>';
					echo'<td align="center">'.$membre['AGE'].'</td>';
					echo'<td align="center"><input type="submit" class="button" value="" /></td>';				
				echo'</tr>';
				$i++;
			}
			
			echo'</table>';
			echo'<div align="center">';
				echo'<a href="../home/accueil.php" id="retour"><img src="../images/bouton_retour.png" alt="Retour Accueil" width="150" border="0px" longdesc="../home/accueil.php" /></a>';                       
			echo'</div>';
			echo'</fieldset>';
			echo'</form>';
			mysql_close();
		?>
- et j'aimerais faire passer le login dans la page edit_membre pour arriver à faire un select du membre choisis et ainsi executer une requete update...
le problème est que je n'arrive pas à récupérer le login via la méthode post