faire un lien avec plusieurs variables

faire un lien avec plusieurs variables - PHP - Programmation

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>

Reply

Marsh Posté le 10-06-2002 à 20:15:49   

Reply

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.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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

Reply

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]


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

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

Reply

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


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

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

Reply

Marsh Posté le 11-06-2002 à 13:41:19    

echo "<a href=validation.php3?id=" . $id . "&idnouv=$idnouv&action=0>";

Reply

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 ....:??:

Reply

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 ? :??:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 11-06-2002 à 13:51:19   

Reply

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 :heink:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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

Reply

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


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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 ?

Reply

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 ?

Reply

Marsh Posté le 11-06-2002 à 15:51:10    

:cry:

Reply

Marsh Posté le 11-06-2002 à 15:54:01    

montre le code qui entoure ton lien ... (oui, le maximum possible).

Reply

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


Message édité par peemousse le 06-11-2002 à 16:10:42
Reply

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 ?

Reply

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

Reply

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


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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 )


Message édité par peemousse le 06-11-2002 à 16:35:51
Reply

Marsh Posté le 11-06-2002 à 16:38:11    

:sweat:
 
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 ...

Reply

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+

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed