PHP/Javascript - Pop-up de confirmation

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 : PHP/Javascript - Pop-up de confirmation

par Truc » 14 déc. 2006, 00:39

je vois pas de code pour popup :?

par Nico34 » 14 déc. 2006, 00:34

Héhé, bien vu ! Mais j'ai le meme probleme avec d'autres tableaux ou la il ne manquait pas de balise de fermeture de ligne :(

par Truc » 14 déc. 2006, 00:25

Il manque une fermeture de ligne </tr> en fin de boucle.... on ne sait jamais 8-|

par Nico34 » 14 déc. 2006, 00:07

Alors, voila pour la page dans laquelle sont affichées les données et ou est géré le popup :
<?php session_start(); ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Service des Langues de l'IUT de Montpellier - Gestion du Materiel</title>
<link rel="stylesheet" media="screen" type="text/css" title="Exemple" href="design_index.css" />
<script language="JavaScript">
function check(id)
{ if (confirm('Etes vous sur(e) de vouloir supprimer cette donnée ?'))
  { 
      window.location="delbon.php5?numbon="+id;
  }
  else
  { 
     return false;
  }
}
</script> 
</head>
<body vlink="white" link="white" alink="white">
<div id="corps">



				<fieldset>
				<legend class="verdana12">Liste des Bons de Commande</legend>
				
				<table align=center>
				<tr height="25"><td>N&deg; Bon</td><td>Nom du Demandeur</td><td>Urgence</td><td>Nom Fournisseur</td><td>Reference</td></tr>
				<?php
				include 'config.php';
				$result=mysql_query("SELECT * FROM bondecommande ORDER BY numbon");		
				while ($row = mysql_fetch_array($result))
				{	echo '<tr height="25"><td width="30"><a href="bondet.php5?numbon='.$row['numbon'].'">'.$row['numbon'].'</a></td>
					<td width="80">'.$row['nomdemandeur'].'</td><td width="80">'.$row['urgence'].'</td>
					<td width="80">'.$row['nomfournisseur'].'</td><td width="80">'.$row['reference'].'</td>
					<td width="20"><a href="formulaire_updbon.php5?numbon='.$row['numbon'].'">Modif</a></td>
					<td width="20"><a href="" onclick="return check('.$row['numbon'].')">X</a></td>'; } ?>
						
				
				</table>
				</fieldset><br><br>
				
	 
</div>

</body>
</html>

Voila...

par Truc » 13 déc. 2006, 23:43

remontre nous le code après modifications.

par Nico34 » 13 déc. 2006, 23:41

Bon je viens de tester, tout marche nickel sous Firefox.
Par contre sous Internet Explorer j'ai des trucs bizarres... Le pop up apparait bien mais quand j'appuie sur OK je me fais éjecter vers une page que je n'ai indiqué nulle part dans mon code (en fait vers la page d'identification qui permet l'acces au site), et il faut parfois s'y reprendre à 2 ou 3 fois pour correctement supprimer la donnée...

Quelqu'un a une idée quant à l'origine du probleme sous IE alors que tout marche très bien sous Firefox ?

par Nico34 » 13 déc. 2006, 22:07

Ca m'a l'air clair, je vais tester tout ca, merci pour vos réponses ;)

par Truc » 13 déc. 2006, 11:59

Tu peux aussi sortir le javascript de la boucle et placer la fonction dans l'en-tête (HEAD, comme ils se doit).
Et passer un paramètre pour savoir quel ID éliminer :
<script language="JavaScript">
function check(id)
{ if (confirm('Etes vous sur(e) de vouloir supprimer cette donnée ?'))
  { 
      window.location="delbon.php5?numbon="+id;
  }
  else
  { 
     return false;
  }
}
</script> 
Et par contre placer la ligne pour supprimer dans la boucle:
<?php 
While(....)
{
   ...
   echo'<td width="20"><a href="" onclick="return check('.$row['numbon'].')">X</a></td>';  ?>
}

par Erazer » 13 déc. 2006, 09:33

Bonjour Nico34,

Il y a déjà la fonction "confirm()" prévue pour ce que tu veux faire :)


Code : Tout sélectionner

<a href="tonUrl" onclick="return confirm('es-tu sûr?');">Supprimer</a>
Lorsque l'utilisateur va cliquer sur le lien, la fonction confirm('es-tu sûr?') sera appelée.

Elle ouvrira une boite demandant confirmation à l'utilisateur.

Si il clique sur OK, la fonction renvoie true et le navigateur continue vers l'url demandé.

Si il clique sur Annuler, la fonction renvoie false et le navigateur ne suis pas le lien.

Bonne amusement ;)

par albat » 13 déc. 2006, 01:50

Modération :
Nico34, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

PHP/Javascript - Pop-up de confirmation

par Nico34 » 13 déc. 2006, 01:27

Bonjour,

Je cherche a faire apparaitre un popup pour confirmer la suppression depuis un tableau, d'une donnée de ma base de données, en fonction de son identifiant dans la table (page dynamique pour supprimer...)

J'arrive a faire apparaitre le pop-up, mais quelque soit le champ sur lequel je clique ca me supprime toujours le champ du tableau dont l'identifiant est le plus haut.

Voila le code pour que vous compreniez mieux :
<?php
include 'config.php';
$result = mysql_query("SELECT * FROM bondecommande ORDER BY numbon");
while ($row = mysql_fetch_array($result))
      { echo '<tr height="25"><td width="30"><a href="bondet.php5?numbon='.$row['numbon'].'">'.$row['numbon'].'</a></td>
<td width="80">'.$row['nomdemandeur'].'</td><td width="80">'.$row['urgence'].'</td>
<td width="80">'.$row['nomfournisseur'].'</td><td width="80">'.$row['reference'].'</td>
<td width="20"><a href="formulaire_updbon.php5?numbon='.$row['numbon'].'">Modif</a></td>';
?>
<script language="JavaScript">
function check()
{ if (confirm('Etes vous sur(e) de vouloir supprimer cette donnée ?'))
     { window.location=<?php echo'"delbon.php5?numbon='.$row['numbon'].'"'; ?>
}
else
{ window.location="listebons.php5"
}
}
</script>
<?php echo'<td width="20"><a href="" onclick="check()">X</a></td>'; } ?>
J'ai essayé je sais pas combien de combinaison, pour le placement du script etc... Je me doute bien qu'il doit y avoir un probleme avec la boucle while que le script javascript doit pas reconnaitre ou un truc du style, en tout cas je bloque dessus depuis 2 heures....

Voila si vous pouvez m'aider, merci d'avance