Clic sur un menu Html pour executer un code php

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 : Clic sur un menu Html pour executer un code php

par thecaco » 25 janv. 2008, 19:55

Il doit y avoir une petite erreur de syntaxe que je ne trouve pas car je reçois ce message:
Parse error: syntax error, unexpected '[', expecting ',' or ';' in /data/12/1/89/48/1089863/user/1136057/htdocs/lafilleverte/backoffice/admin.php on line 104
Sinon, quand je fais le test, tout s'affiche correctement : les id_utilisateur, email_utilisateur...

Mais il me semble que j'avais déjà essayé d'utiliser cette syntaxe et ça me faisait toujours la même chose, à savoir un ID vide dans l'URL... :(

par d0m » 25 janv. 2008, 17:30

Premièrement affiche les messages d'erreurs de tes requêtes et affiche carrement le contenu de tes lignes pour voir ce qui s'y trouve réellement.
$requete  = "SELECT id_utilisateur,email_utilisateur,date, nom_utilisateur FROM visiteur ORDER BY id_utilisateur DESC";  // Prepare le requete MySql
$limite=mysql_query($requete." limit $debut,$limit")  or die(mysql_error());
...
while($data = mysql_fetch_assoc($limite)) {
  //ligne de test
  print_r($data);echo '<BR>';
}
Si tout est bon, il suffit de remplacer la ligne de test par :
echo '<td><a href="modif.php?ID='.data['id_utilisateur'].'" ><img src="http://monsite.com/crayon.gif" /></a></td>'

par thecaco » 25 janv. 2008, 17:21

Je l'ai fait aussi, et l'URL donne ça:

Code : Tout sélectionner

http://monsite.com/modif.php?ID=
Esct-ce que vous pensez que le problème peut venir de ma page modif.php?

par d0m » 25 janv. 2008, 16:46

il faut peut être selectionnier le champ id_utilisateur avec dans ta requête SQL...

Code : Tout sélectionner

SELECT email_utilisateur,date, nom_utilisateur FROM visiteur ORDER BY id_utilisateur DESC

par thecaco » 25 janv. 2008, 16:11

Oui, il s'agit bien d'un fichier php. Quand je donne une valeur à id_utilisateur en faisant
<?php
$id_utilisateur = 13;
echo '<a href="modif.php?ID='.$id_utilisateur.'" >Modifier</a>';
?>
ça fonctionne, mais je n'arrive pas à faire passer l'id qui est dans la base...

Voilà mon code, ça pourra sûrement aider à y voir plus clair:
<?
 $id_utilisateur = $_POST['id_utilisateur'];
  $page = intval($_GET['page']);
 $requete  = "SELECT email_utilisateur,date, nom_utilisateur FROM visiteur ORDER BY id_utilisateur DESC";  // Prepare le requete MySql
 $ret = mysql_query($requete);
 $limit=30;   // Variable nbr d'enreg par Page...
 if($debut==""){$debut=1;}  // Initialisation de $debut ...
 $debut=$page*$limit;
 $nb_total=mysql_num_rows($ret);  // Nbr de résultats possibles ...
 $limite=mysql_query("$requete limit $debut,$limit");
 
echo '<table width="1080px">
			<tr> 
			<th align="left" bgcolor="#8D0000" width="280px"><u>Adresse Email</u></th>
			<th align="center" bgcolor="#8D0000" width="200px"><u>Date</u></th>
			<th align="center" bgcolor="#8D0000" width="100px"><u>Nom</u></th>
			</tr>
			</table>';
 
// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data = mysql_fetch_assoc($limite)) 
    { 
    // on affiche les informations de l'enregistrement en cours 
    echo 	'<table width="1080px">
			<tr>
			<td align="left" width="280px" bgcolor="#182421" >'.$data['email_utilisateur'].'</td>
			<td align="center" width="200px" bgcolor="#182421"><font size="2px">'.$data['date'].'</font></td>
			<td align="center" width="100px" bgcolor="#182421">'.$data['nom_utilisateur'].'</td>
			<td><a href="modif.php?ID='.$id_utilisateur.'" ><img src="http://monsite.com/crayon.gif" /></a></td>
			<td><a href="supprimer.php?ID=4" ><img src="http://monsite.com/croix.gif" /></a></td>
			
			</tr>
			</table>';
	
			}
	
    
 
// on ferme la connexion à mysql 
mysql_close();
 

par d0m » 25 janv. 2008, 11:17

il semblerait que ta page qui contient le lien
<a href="modif.php?ID=<?php echo $id_utilisateur; ?>" >Modifier</a>
n'interprete pas le PHP. L'extension de la page est elle bien .php?

par thecaco » 25 janv. 2008, 00:01

Bonjour à vous!

Je profite de cette discussion pour demander un petit conseil en plus.

Voilà ce que je voudrais faire:
J'ai une table utilisateur avec identifiant, adresse email, nom, prénom... Je voudrais pouvoir modifier des champs après avoir sélectionné l'utilisateur. Pour ça, il faut que je passe l'identifiant de l'utilisateur en URL et que je le récupère dans la page modif.php.
Le problème est que j'arrive bien à passer un paramètre en URL lorsque je le note moi même (par exemple:

Code : Tout sélectionner

<a href="modif.php?ID=4" >Modifier</a>
)
Mais lorsque je veux le récupérer en faisant:

<a href="modif.php?ID=<?php echo $id_utilisateur; ?>" >Modifier</a>
ça ne fonctionne pas. Dans l'URL je vois écris ceci:

Code : Tout sélectionner

modif.php?ID=%3C?php%20echo%20$id_utilisateur;%20?%3E
Je cherche la solution depuis trèèèès longtemps, j'ai testé pas mal de syntaxes différentes en me disant que l'erreur venait sûrement de là, mais rien n'y fait. :cry:

Si vous avez une idée, je vous remercie d'avance pour votre aide! :)

par d0m » 24 janv. 2008, 17:16

C'est un autre type de champ de formulaire :

Code : Tout sélectionner

<INPUT TYPE="password" NAME="..." VALUE="...">

par Jb_One36 » 24 janv. 2008, 17:02

C'est bon tout marche avec succès super !
Une petite qui n'a rien à voir avec le sujet mais s'il faut que je le déplace et le mettre dans un autre post aucun problème.
Je voulais juste connaitre la propriété d'une zone de texte qui permet de saisir en caractère masqué (un champs mot de passe)

par d0m » 24 janv. 2008, 16:35

peut être avec un drapeau en session.
lorsqu'on clique sur le lien, le drapeau est mis à 1.
Si le drapeau est à 1, alors on fait comme si il n'y avait pas le paramètre dans l'url.

par Jb_One36 » 24 janv. 2008, 16:10

Il n'y a pas un moyen de tout remettre à 0 ?

par d0m » 24 janv. 2008, 16:08

Si tu réactulises ta page (genre avec f5 ou le bouton actualiser), ça revient à recharger la page courante avec les mêmes paramètres.

par Jb_One36 » 24 janv. 2008, 15:58

Super ! et merci à tous pour votre patience et votre aide sa fonctionne à un détail prêt.
Si j'actualise ma page je reste avec l'affichage de mes données dans ma table.
Est-ce qu'il y a un moyen de réinitialiser la variable du href celle que j'utilise avec le code :
if(isset($_GET(nom_Var) && $_GET(nom_Var) == 1) { mon code; } au premier clique aucun soucis mais si j'actualise la page j'ai toujours la même comme si la valeur de ma variable était tjrs à 1.

Merci d'avance

par AB » 23 janv. 2008, 23:17

Merci de vous donnez autant de mal pour m'aider.
Si je comprend bien il faut que je mette dans le href de mon menu "Liste" une variable qui lors du clic me permettra de rafraîchir ma page et de donner l'ordre d'exécuter le code php par l'intermédiaire de ma condition.


<href = mapage.php?nom_de_ma_variable=1> (pour mon menu "Liste") et pour mon code PHP if ($_GET['nom_de_ma_variable'] == 1) { mon code; }

Est-ce que c'est ça ?
Oui mais il faut vérifier ta variable avant de pouvoir la comparer donc dans ton code php il faut plutôt écrire

if (isset($_GET['nom_de_ma_variable']) &&  $_GET['nom_de_ma_variable'] == 1) { mon code; }

par Jb_One36 » 23 janv. 2008, 22:24

Merci de vous donnez autant de mal pour m'aider.
Si je comprend bien il faut que je mette dans le href de mon menu "Liste" une variable qui lors du clic me permettra de rafraîchir ma page et de donner l'ordre d'exécuter le code php par l'intermédiaire de ma condition.


<href = mapage.php?nom_de_ma_variable=1> (pour mon menu "Liste") et pour mon code PHP if ($_GET['nom_de_ma_variable'] == 1) { mon code; }

Est-ce que c'est ça ?