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é
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>