faire un lien avec plusieurs variables - PHP - Programmation
Marsh Posté le 10-06-2002 à 21:14:39
si t'es dans du php du fais simplement ça : 
 
<a href=\"validation.php3?id=$id&idnouv=$idnouv&action=0\">Supprimer</a> 
 
non ? 
 
PS: Attention à mettre & et pas juste &, en effet le & indique que ce qui suit est un caractère spécial. Même si tous les browsers vont bien l'interprêter, c'est mal, et pas standard. 
Marsh Posté le 11-06-2002 à 03:12:04
merci bien .... 
 
je vais essayer ca demain ...la je suis un peu tro Defonce ....OoPs 
 
 
ps: c'est vrai ke j'avais oublié de preciser que c'etait du PhP 
 
je vous tiens au corant 
Marsh Posté le 11-06-2002 à 03:46:17
| peemousse a écrit a écrit  : merci bien .... je vais essayer ca demain ...la je suis un peu tro Defonce ....OoPs ps: c'est vrai ke j'avais oublié de preciser que c'etait du PhP je vous tiens au corant | 
 
 
C'est pêché  ![[:banzai] [:banzai]](https://forum-images.hardware.fr/images/perso/banzai.gif) 
 
Marsh Posté le 11-06-2002 à 13:22:41
je viens d'essayer et ca marche pas.... bizarre 
 
j'ai l'erreur suivante : 
 
Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp\www\projetx\validation.php3 on line 81 
Marsh Posté le 11-06-2002 à 13:33:42
| peemousse a écrit a écrit  : je viens d'essayer et ca marche pas.... bizarre j'ai l'erreur suivante : Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp\www\projetx\validation.php3 on line 81 | 
 
 
si tu fais un echo"<a href="validation.php3?id=$id&idnouv=$idnouv&action=0">Supprimer</a>"; c'est normal car il va croire que ton echo s'arrette a mon caractere rouge et attends donc un ; juste apres ... 
Marsh Posté le 11-06-2002 à 13:39:55
ok j'ai corrigé cette erreur ...et ca fonctionne mais ....si je souhaite avoir cette syntaxe 
 
echo "<a href=validation.php3?id=<? echo "$id"; ?>&idnouv=$idnouv&action=0>" 
 
j'ai la meme errue que précédemment, il doit encore y avoir une histoire de "" ou de ;; mais je vois pas tro ou ? 
 
 
Merciii ... 
Marsh Posté le 11-06-2002 à 13:41:19
echo "<a href=validation.php3?id=" . $id . "&idnouv=$idnouv&action=0>";
Marsh Posté le 11-06-2002 à 13:50:44
Cette syntaxe fonctionne, j'ai plus d'erreur , mais j'ai besoin d'afficher le numero d'id ....ce qui n'est pas le cas avec cette 
syntaxe: 
 
echo "  <a href=validation.php3?id=" . $id . "&idnouv=$idnouv&action=0>Supprimer</a> \n"; 
 
je voudrais utilser cette syntaxe: 
 
<a href="pageprotege.php3?id=<? echo "$id"; ?>">AUTRE PAGE MEMBRE</a> 
 
qqchose comme ca : 
 
echo "<a href=validation.php3?id=<? echo "$id"; ?>&idnouv=$idnouv&action=0>"  
 
 
qui ici ne fonctionne pas .... 
 
Marsh Posté le 11-06-2002 à 13:51:19
la ligne que j'avais mise au tout début est quand même correcte, non ?  
 
Marsh Posté le 11-06-2002 à 13:52:14
| peemousse a écrit a écrit  : echo "<a href=validation.php3?id=<? echo "$id"; ?>&idnouv=$idnouv&action=0>" | 
 
 
je vois pas pourquoi tu veux refoutre cet echo en plein milieu  
 
Marsh Posté le 11-06-2002 à 13:53:51
ouais ca fonctionne mais ca affiche pas le numero d'ID, 
 
ca fait un lien du style : 
 
http://127.0.0.1/validation.php3?i [...] 0&action=0 
 
et moi je voudrais: 
 
http://127.0.0.1/validation.php3?i [...] 0&action=0 
 
 
avec le num d'ID apparent en fait ... 
Marsh Posté le 11-06-2002 à 13:57:54
bhen comme ce que je t'ai donné tout au début ça doit le faire 
ou alors c'est que ta variable $id ne contient rien 
Marsh Posté le 11-06-2002 à 13:58:47
| peemousse a écrit a écrit  : je voudrais utilser cette syntaxe: <a href="pageprotege.php3?id=<? echo "$id"; ?>">AUTRE PAGE MEMBRE</a> | 
il ne te reste plus qu'à modifier l'interpréter de php. j'espère que tu connais bien le C et yacc ?
Marsh Posté le 11-06-2002 à 15:25:43
Mais comment se fait-il alors que lorsque j'ecris: 
 
<a href="validation.php3?id=<? echo "$id"; ?>">valider</a>  
 
cela fonctionne ? 
Marsh Posté le 11-06-2002 à 15:54:01
montre le code qui entoure ton lien ... (oui, le maximum possible).
Marsh Posté le 11-06-2002 à 16:03:19
<? 
require("conf_membre.php3" ); 
 
// CONNEXION MYSQL 
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd); 
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf_membre.php3"; exit;} 
 
// SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS 
$requete=mysql_db_query($sql_bdd,"select * from membre where id=\"$id\"",$db_link) or die(mysql_error()); 
 
// SI L'ID N'EXISTE PAS 
if(mysql_num_rows($requete)==0) 
        { 
        // REDIRECTION PAGE ERREUR 
        header("Location:$url_erreur" ); 
        exit; 
        } 
 
// DECONNEXION MYSQL 
mysql_close($db_link); 
?> 
 
[ ...... Code HTML .......] 
 
<? 
echo "$id"; //affiche l'Id de l'utilisateur 
 
 
function display_contrib ( $idnouv, $idauteur, $dtsaisi, $lbrubriq, $titre, $texte) { 
 
 
 
echo "<CENTER>\n"; 
echo "  <TABLE WIDTH=95% CELLSPACING=0 BORDER=0 CELLPADDING=0 COLS=4>\n"; 
echo "    <!-- Ligne d'entête ,contient le titre de la nouvelle -->\n"; 
echo "    <TR>\n"; 
echo "      <TD WIDTH='20' BGCOLOR='#2F4162' ALIGN=RIGHT></TD>\n"; 
echo "      <!-- COL 2 : titre de la nouvelle -->\n"; 
echo "      <TD BGCOLOR='#2F4162' WIDTH=100%><span class=texte><B>$titre</B> </span></TD>\n"; 
echo "      <TD BGCOLOR='#2F4162' ALIGN=LEFT></TD>\n"; 
echo "      <TD WIDTH='20' BGCOLOR='#2F4162'></TD>\n"; 
echo "    </TR>\n"; 
echo "    <TR>\n"; 
echo "      <TD WIDTH=0 BGCOLOR='#526A95'> </TD>\n"; 
echo "      <TD BGCOLOR='#526A95' COLSPAN=2><span class=texte>$lbrubriq</I></span>\n"; 
echo "        <span class=texte><br>\n"; 
echo "        $texte</span>\n"; 
echo "   <span class=texte><br>"; 
echo "  <a href=validation.php3?id=$id&idnouv=$idnouv&action=0>Supprimer</a> \n"; 
echo "  <a href=validation.php3?id=$id&idnouv=$idnouv&action=1>Valider</a></span>\n"; 
echo "        <span class=texte><P align='RIGHT'><i>Posté\n"; 
echo "          le $dtsaisi par <B><A HREF='mailto:$idauteur'>$idauteur</A></B></i>\n"; 
echo "          </span>\n"; 
echo "      </TD>\n"; 
echo "      <TD WIDTH=4 BGCOLOR='#526A95'> </TD>\n"; 
echo "    </TR>\n"; 
echo "  </TABLE>\n"; 
echo "</CENTER><br>\n"; 
} ; 
?> 
 
<BODY> 
. 
. 
</html> 
 
 
j'ai aussi le fichier Login.php3 qui cree le numero d' ID et qui assure l'authentification. 
 
pour acceder à une page "protégé" je dois utiliser le code suivant: 
<a href="validation.php3?id=<? echo "$id"; ?>">valider</a>   
 
 
 
<? 
require("conf_membre.php3" ); 
 
/*------------------------------------------------
 
-----------------*/ 
/*	PROGRAMME PRINCIPAL  	*/ 
/*-----------------------------------------------------------------*/ 
 
// CONNEXION A LA BASE DE DONNEE 
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd); 
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;} 
 
// ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE LOGIN ET 
// MOT DE PASSE SAISIS A LA PAGE INDEX.HTM 
$requete=mysql_db_query($sql_bdd,"select pseudo,passe from membre where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"",$db_link) or die(mysql_error()); 
 
// SI AUCUN ENREGISTREMENT NE CORRESPOND 
if(mysql_num_rows($requete)==0) 
 { 
 // REDIRECTION VERS LA PAGE ERREUR 
 header("Location:$url_erreur" ); 
 } 
 
// SI LE LOGIN ET MOT DE PASSE SONT EXACTES  
else 
 { 
 // CREATION D'UN IDENTIFIANT ALEATOIRE 
 $taille = 20; 
 $lettres = "abcdefghijklmnopqrstuvwxyz0123456789"; 
 srand(time()); 
 for ($i=0;$i<$taille;$i++) 
 	{ 
 	$id.=substr($lettres,(rand()%(strlen($lettres))),1); 
 	} 
   
 // MISE A JOUR DE L'IDENTIFIANT DANS LA TABLE  
 $requete=mysql_db_query($sql_bdd,"update membre set id=\"$id\" where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"",$db_link) or die(mysql_error()); 
  
 // REDIRECTION VERS UNE PAGE PROTEGEE AVEC L'IDENTIFIANT SERVANT DE CLE 
 header("Location:zonemembre.php3?id=$id" ); 
 }  
 
// DECONNEXION MYSQL 
mysql_close($db_link); 
?> 
 
Si il te manque des infos dit le moi .... 
Marsh Posté le 11-06-2002 à 16:07:33
* où se situe le <? avant la fonction display_contrib() ? 
 
* si tu fais  
  echo $id;  
dedans, ça t'affiche quoi ? 
Marsh Posté le 11-06-2002 à 16:13:20
Excuse pour la balise <? , je l'ai oublié .... 
regarde le poste précédent je l'ai edité ... 
 
et si je fais un: 
 
 echo "$id"; 
 
(comme edité dans le post précédent) j'obtiends l'ID de l'utilisateur .... 
Marsh Posté le 11-06-2002 à 16:19:33
essaie de remplacer 
echo "  <a href=validation.php3?id=$id&idnouv=$idnouv&action=0>Supprimer</a> \n"; 
echo "  <a href=validation.php3?id=$id&idnouv=$idnouv&action=1>Valider</a></span>\n"; 
 
par 
echo "  <a href=\"validation.php3?id=$id&idnouv=$idnouv&action=0\">Supprimer</a> \n"; 
echo "  <a href=\"validation.php3?id=$id&idnouv=$idnouv&action=1\">Valider</a></span>\n"; 
 
on sait jamais qu'à cause de la non-présence des guillemets le browser aime pas trop... 
 
sinon je vois pas où est le problème... 
Marsh Posté le 11-06-2002 à 16:34:57
en effet c'est etrange car  ca ne fonctionne toujours pas .... 
Enfin si ca fonctionne , mais l'utilisateur n'est pas reconnu comme membre...,car comme indiqué dans un précédent post j'ai besoin de l'ID du membre dans le lien de la page. 
 
 
http://127.0.0.1/validation.php3?i [...] 0&action=0 
 
Par contre ( Ce qui doit etre normal finalement ), lorsque je fais: 
 
echo "$id"; 
 
dans la fonction la ca me renvoie rien du tout. 
 
exemple 
 
function display_contrib ( $idnouv, $idauteur, $dtsaisi, $lbrubriq, $titre, $texte) { 
 
echo "$id"; 
. 
. 
. 
. 
 
} 
 
je pense qu'il faudrait que je redefinisse la variable $ID dans la fonction. 
 
exemple 
 
function display_contrib ( $idnouv, $idauteur, $dtsaisi, $lbrubriq, $titre, $texte) { 
 
$ID= ( mettre la commande SQL vers l'ID généré pour ce membre ) 
Marsh Posté le 11-06-2002 à 16:38:11
 
 
 
si $id est une variable globale, il faut la définir comme telle dans la fonction : 
 
function display_contrib() 
{ 
global $id; 
  echo $id; 
} 
 
un des trucs que j'oublie quasiment toujours en php ... 
Marsh Posté le 11-06-2002 à 16:49:23
Bon merci a tous pour votre aide .... j'ai  pas reussi a faire ce que je voulais faire mais comme je suis pressé par le temps , je vais faire ca d'une maniere différente ..... 
 
MERCI et A+ 
Marsh Posté le 10-06-2002 à 20:15:49
voila j'essaye de faire un systeme de News, Lorsque l'utilisateur ajoute une news , la news est affiché sur une page
pour que l'administrateur la valide.
Seulement voila l'acces a cette page est possible uniquement avec un mot de passe et un login.
<a href=\"validation.php3?idnouv=$idnouv&action=0\">Supprimer</a>
ceci est le code pour supprimer la news.
Pour insérer des liens vers d'autres pages protégées j'utilise le code suivant :
<a href="pageprotege.php3?id=<? echo "$id"; ?>">AUTRE PAGE MEMBRE</a>
ou l' $id correspond a l'id qui est attribué l'utilisateur qui se connecte.
QUESTION
Comment faire pour mettre dan un seul lien ces 2 contraintes ?
exemple
voila ce que j'ai essayé de faire sans succès
<a href=\"validation.php3?id=<? echo "$id"; ?> idnouv=$idnouv&action=0\">Supprimer</a>