Onclick sur image

Eléphant du PHP | 388 Messages

30 mars 2010, 19:22

bonjour a tous,
j'ai une page mon compte qui a un bouton suppression donnée
je souhaiterai que lorsque je clic sur le bouton suppression donnée cela m'affiche une fenêtre me demandant si je veut supprimer l'enregistrement

dans ma balise <head> j'ai placé ce script

Code : Tout sélectionner

<script language="javascript"> function confirme( NUMUTILISATEURS ) { var confirmation = confirm( "Voulez vous vraiment supprimer vos données ?" ) ; if( confirmation ) { document.location.href = "suppression2.php?NUMUTILISATEURS="+NUMUTILISATEURS ; } } </script>
Cepedant je souhaiterai que se script se lance lorsque je clic sur l'image sup.png
pour cela il faudrait lancer un onClick=\"confirme mais je ne voit pas du tout comment associer cela dans un lien

se qui me renverra vers le lien suppression2.php

merci de votre aide

Eléphant du PHP | 74 Messages

30 mars 2010, 23:21

Bonjour,

sur une image :
<img src="lienimage" style="cursor:hand;" onclick="confirme(tonID);"/>
sur un lien/image
<a href="#"  onclick="confirme(tonID);"><img src="lienimage" style="cursor:hand;"></a>
sur un lien
<a href="#"  onclick="confirme(tonID);">lien</a>

Eléphant du PHP | 388 Messages

31 mars 2010, 12:54

Merci pour ta reponse

J'ai essayé cela
<?php<a href="#"  onclick="confirme('".$req->NUMUTILISATEURS."');"><img src="contenu/suppression.png" style="cursor:hand;"></a>;?>
Mais cela ne marche pas j'ai l'erreur

Parse error: syntax error, unexpected T_STRING in /homez.316/logisdesq/www/mesdonnees.php on line 113

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

31 mars 2010, 13:12

Ton problème est plus lié à la syntaxe PHP qu'à Javascript.... je déplace

tu as
<?php<a href="#"
qui n'est pas correct, il manque au moins un "echo"
<?php echo '<a href="#" .... '; ?>
mieux, n'interpréter que ce qui doit l'être
<a href="#"   onclick="confirme('<?php echo $req->NUMUTILISATEURS; ?>');"><img src="contenu/suppression.png" style="cursor:hand;"></a>
ceci dit si je m'amuse à lire ton code source je trouverai facilement cette ligne
document.location.href = "suppression2.php?NUMUTILISATEURS="+NUMUTILISATEURS ;
est-ce que je pourrai supprimer n'importe quel utilisateur en appelant cette page avec un paramètre allant de 1 à 1000 (ou plus) ?
si oui il y a un problème et tu devrais plutôt te servir de valeurs en session et non transmises dans l'URL

Truc

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 388 Messages

31 mars 2010, 18:17

En faite j'ai ma page donnee.php

et je souhaiterai que lorsque je clic sur le bouton suppression compte une fenetre s'affiche me demandant si je veut vraiment supprimer ou pas si l'utilisateur clic sur OUI alors il sera redirigé vers la page suppression et cela les paramétres de sa session seront défini.

Voici le code de ma page donnée.
<?php
// initialisation des sessions
session_start() ;

// tester la présence de la session numutilisateurs
if ( isset( $_SESSION['NUMUTILISATEURS']) ) {
// Recuperation pour la variable 
$NUMUTILISATEURS = $_SESSION['NUMUTILISATEURS'];
}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head> 
 <title>petite annonce gratuite pour particulier encart publicitaire pour profesionnel - mon espace</title>
 <meta http-equiv="Content-Type" content="text/html";
	charset=iso-8859-1" />
 <link rel="stylesheet" media="screen" type="text/css"
	title="Design espace" href="css/donneesutilisateurs_style.css" />
	
</head>
<body>






<div id="entete">
  <div id="h2">
<p><h2>Mes données personnelles  </h2></p>
</div>

</div>


<div id="corps">
 
    <img src="contenu/logisdesannonces.png" alt="logisdesannonces" class="logisdesannonces" />
    <img src="contenu/logo.png" alt="logo" class="logo" />	
	<a href="http://www.logisdesannonces.fr/accueil.html"><img src="contenu/bouton_accueil.png" alt="accueil" class="accueil" border="0"/></a>
	<a href="php/deconnexion.php"><img src="contenu/deconnexion.png" alt="deconnexion" class="deconnexion" border="0"/></a>
	 


		<div id="fond">
		<table>
		
		<tr>
			<td>
			<div id="mesannonces">
			<a href="mesannonces.php"><img src="contenu/favoris2.png" alt="mesannonces" class="mesannonces"  border="0"/></a>
			<a href="ajoutannonceparticulier.php"><img src="contenu/jajoute2.png" alt="jajoute" class="jajoute" border="0"/></a>
			<a href="modifierannonce.php"><img src="contenu/modifierannonces2.png" alt="modifierannonces" class="modifierannonces" border="0"/></a>			
			<a href="mesdonnees.php"><img src="contenu/mesdonnees2.png" alt="mesdonnees" class="mesdonnees" border="0"/></a>			
			
			<div id="texte"><hr><b>Actions :</b></hr>
			</td>
		</tr>		
		<tr>
				<td>
			<div id="tableauannonces">		
			<b>Bienvenue dans votre Logis:</b>
			<div id="textebienvenue">
				<br /><br />
				test
				<br /><br />
	          <img src="contenu/cartable.jpg" alt="cartable" class="cartable"  border="1"/></a>
				</td>
		</tr>
		
		</div>
		
</div>
		</table>
		</div>
			</div>
			</div>
			</div>		
<?php
include 'php/connect.php';
$sql = "SELECT * FROM utilisateurs WHERE NUMUTILISATEURS = '$NUMUTILISATEURS'";
$req= mysql_query($sql) or die ('erreur sql §<br />'.$sql.'<br />'.mysql_error());


while($data=mysql_fetch_array($req)) 
  { // ici la boucle qui permet d'effectuer la recherche 
  ?>
  
  <div id="donneesutilisateur">
	<div id="donneesutilisateur2">
		<?php echo 'Email : ', $data['MAILUTILISATEURS'],'<br />';?><br />
		<?php echo 'Nom : ', $data['NOMUTILISATEURS'],'<br />';?><br />
		<?php echo 'Prénom : ', $data['PRENOMUTILISATEURS'],'<br />';?><br />
		<?php echo 'Code Postal : ', $data['CPUTILISATEURS'],'<br />';?><br />
		<?php echo 'Ville : ', $data['VILLEUTILISATEUR'],'<br />';?><br />
		<?php echo 'Téléphone : ', $data['TELEPHONE'],'<br />';?><br />
			<a href="modificationcompte.php"><img src="contenu/modifier.png" alt="modifier" class="modifier" border="0"/></a>
			<a href="suppressioncompte.php"><img src="contenu/suppression.png" alt="suppression" class="suppression" border="0"/></a>
			
			
			
 
   </div>
  </div>
   
<?php
  }
 mysql_free_result ($req);
mysql_close ();
  ?>

		

		


 <div id="pied_de_page">
 
 </div>


	
	
</body>
</html>
Voit tu se que je souhaite faire ? le traitement qu'il y a derrière ce n'est pas un soucis mais c'est juste cette fenêtre intermédiaire que je souhaiterai mettre en place si OUI l'action se déroule et renvoie vers la page suppression si NON alors retour a mon compte

ViPHP
AB
ViPHP | 5818 Messages

31 mars 2010, 20:20

La syntaxe javascript pourrait être un truc dans le genre

Code : Tout sélectionner

<input type="button" value = "Suppression" onclick="if(confirm('Demande de confirmation pour la suppression du numero \'<?php echo addslashes(htmlspecialchars($num))?>\'')) document.location.href = 'suppression2.php?num=<?php echo htmlspecialchars($num)?>'; else return false" />

Eléphant du PHP | 388 Messages

31 mars 2010, 20:44

Merci pour ta réponse, donc j'ai essayer pour voir se que tu ma dit

Code : Tout sélectionner

<input type="button" value = "Suppression" onclick="if(confirm('Demande de confirmation pour la suppression du numero \' <?php echo addslashes(htmlspecialchars($NUMUTILISATEURS))?> \'')) document.location.href = 'suppression2.php?NUMUTILISATEURS= <?php echo htmlspecialchars($NUMUTILISATEURS)?>'; else return false" />
Aucune action se passe sur le bouton :(

Eléphant du PHP | 428 Messages

31 mars 2010, 21:26

Ce que tu pourrais faire pour avancer dans le chmilblik c'est :

- d'afficher le code source de la page dans ton navigateur
- repérer <input type="button" value = "Suppression" ...
- poster le résultat HTML de la balise <input type="button" value = "Suppression" .... dans le forum en complément.

C'est peut être un problème tout bête de variable non assignée ou autre en fait ... et le contenu du rendu html pourrais peut etre en dire long.

;)

Eléphant du PHP | 388 Messages

31 mars 2010, 22:05

Ce que tu pourrais faire pour avancer dans le chmilblik c'est :

- d'afficher le code source de la page dans ton navigateur
- repérer <input type="button" value = "Suppression" ...
- poster le résultat HTML de la balise <input type="button" value = "Suppression" .... dans le forum en complément.

C'est peut être un problème tout bête de variable non assignée ou autre en fait ... et le contenu du rendu html pourrais peut etre en dire long.

;)
Merci pour ta réponse j'ai executé le code source de la page ou il y a le input voici se que sa donne

Code : Tout sélectionner

<input type="button" value = "Suppression" onclick="if(confirm('Demande de confirmation pour la suppression du numero \' 1 \'')) document.location.href = 'suppression2.php?NUMUTILISATEURS= 1'; else return false" />
mais rien de plus :(

Eléphant du PHP | 428 Messages

31 mars 2010, 22:26

<input type="button" value = "Suppression" onclick="if(confirm('Demande de confirmation pour la suppression du numero \'
1 \'')) document.location.href = 'suppression2.php?NUMUTILISATEURS=
1';
else return false" />
C'était entre-autre pour vérifier si NUMUTILISATEUR s'affichait bien
pour moi, Il y a des \ en trop et des " mal placés ;)
Je regarde ça pour demain

a+
raph

ViPHP
AB
ViPHP | 5818 Messages

01 avr. 2010, 04:14

Merci pour ta réponse, donc j'ai essayer pour voir se que tu ma dit

Code : Tout sélectionner

<input type="button" value = "Suppression" onclick="if(confirm('Demande de confirmation pour la suppression du numero \' <?php echo addslashes(htmlspecialchars($NUMUTILISATEURS))?> \'')) document.location.href = 'suppression2.php?NUMUTILISATEURS= <?php echo htmlspecialchars($NUMUTILISATEURS)?>'; else return false" />
Aucune action se passe sur le bouton :(
Parce qu'il ne faut pas insérer de retour ligne dans le code javascript !

Code : Tout sélectionner

<input type="button" value = "Suppression" onclick="if(confirm('Demande de confirmation pour la suppression du numero \'<?php echo addslashes(htmlspecialchars($NUMUTILISATEURS))?>\'')) document.location.href = 'suppression2.php?NUMUTILISATEURS=<?php echo htmlspecialchars($NUMUTILISATEURS)?>'; else return false" />
Sélectionnes le bloc ci-dessus et colles le dans une page SANS INSERER DE RETOUR LIGNE et ça devrait aller (à condition que $NUMUTILISATEURS existe)

Eléphant du PHP | 388 Messages

01 avr. 2010, 07:26

cela marche nickel je ne savais pas qu'ont ne pouvais pas ajouter de retour a la ligne et pour rajouter mon image j'ai donc fait cela

Code : Tout sélectionner

<img src="contenu/suppression.png" alt="suppression" class="suppression" border="0" onclick="if(confirm('Demande de confirmation pour la suppression du numero \'<?php echo addslashes(htmlspecialchars($NUMUTILISATEURS))?>\'')) document.location.href = 'suppression2.php?NUMUTILISATEURS=<?php echo htmlspecialchars($NUMUTILISATEURS)?>'; else return false" />
Par contre peut tu me renseigner sur

Code : Tout sélectionner

htmlspecialchars($NUMUTILISATEURS)
Encore Merci :)

ViPHP
AB
ViPHP | 5818 Messages

01 avr. 2010, 13:21

Par contre peut tu me renseigner sur

Code : Tout sélectionner

htmlspecialchars($NUMUTILISATEURS)
Encore Merci :)
C'est par mesure de sécurité. On emploie htmlentities() ou htmlspecialchars() pour protéger son code et éviter le piratage quand on affiche des variables dans une page. Regarde dans le manuel pour plus de renseignements