Popup avec variable php

Résolu/Fermé
agui - 12 nov. 2009 à 11:34
 agui - 17 nov. 2009 à 11:55
Bonjour à tous !

Voilà, j'ai créé un système de news sur mon site. J'ai deux pages admin qui fonctionnent correctement et deux pages accessibles aux visiteurs qui posent problème...

La première page (index.php) affiche les titres des 5 dernières news publiées. J'aimerais que ces titres soient cliquables, si ils contiennent un contenu (descriptif) ou un lien (vers un autre site), et que cela ouvre une popup (news.php) qui affiche uniquement le titre + le contenu et/ou le lien de la news sur laquelle le visiteur a cliqué.

Je pense savoir d'où viennent les erreurs mais j'ai essayé pas mal de choses et là je ne sais plus quoi faire...
Voici les problèmes rencontrés sur ma page index.php. Je devrais avoir un lien sur mes titres uniquement si la news concernée possède un contenu et/ou un lien mais j'ai des liens sur chaque titre... Autre chose, depuis que j'ai modifié le lien vers une page classique du site en un lien vers un popup, ma page index.php ne s'affiche plus et m'indique une erreur de syntaxe (unexpected T_STRING, expecting ',' or ';' ligne echo '<a target=... de mon script ci-dessous). Voici ma condition et ma popup :

 
if (isset($contenu) OR isset($lien)) // Si les variables contenu ou lien existent
     {
     // On crée les entrées en HTML avec les liens
     echo '<a target="_blank" HREF="#" onClick="window.open('news.php?id=$id&amp;titre=$titre&amp;contenu=$contenu&amp;lien=$lien
','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0, width=524, height=500');return(false)">' . $titre . '</a>';
      }
     else
     {
     // On crée les entrées en HTML sans lien
     echo $titre;
      }


Un grand merci d'avance pour votre aide !!!
A voir également:

29 réponses

Tsunami Chups Messages postés 224 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 21 juillet 2010 12
13 nov. 2009 à 17:40
nl2br() ne te sert a rien sur le titre

et verrifie bien les champs que ce sont les bon et que chaque ligne de ta bdd remplis le isset
ca ce trouve tu as decaler
0
J'ai essayé sans nl2br pour la $titre mais ça ne change rien. Si ça ne change rien, j'envisage de la garder alors car pourquoi pas de saut de ligne pour le titre ?

Pour le reste, je ne cesse de tout vérifier encore et encore mais je ne trouve pas la faille. Les champs de ma db correspondent. Les voici à titre informatif :
- id en auto-incr + clé primaire
- titre
- contenu
- lien
- publier
- timestamp

La meilleure nouvelle pour la fin... Après avoir trifouillé dans le manuel PHP vu que j'ai tjs une erreur sur ma page index.php, je me suis dit que peut-être !empty conviendrait mieux dans ce cas que isset. Cela donne maintenant :

if(!empty($contenu) OR !empty($lien)) // Si les variables contenu ou lien existent
{
 // On crée les entrées en HTML avec les liens
    ?>
    <a  href="#" onClick="window.open('news.php?id=<?php echo $id; ?> & titre=<?php echo $titre; ?> & contenu=<?php echo $contenu; ?> & lien=<?php echo $lien; ?>','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0, width=524, height=500');"><?php echo $titre; ?></a>
      <?php
}
else
{
 // On crée les entrées en HTML sans lien
     echo $titre;
}


Et là, encore un petit miracle, le titre qui ne doit pas être cliquable ne l'est pas ! Super !!! Par contre, deux autres sur les 5 ne le sont pas alors qu'ils devraient l'être.
Bilan : 3 sur 5 !

On avance mais une petite erreur persiste...
Je continue de mon côté. Merci de me dire si tu trouves qqch du tien...
0
Tsunami Chups Messages postés 224 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 21 juillet 2010 12
14 nov. 2009 à 13:37
va sur mon profils et envois moi tes deux page par mail s'il te plais
je pense que je verrais mieux ce qu'il ne va pas
si tu n'y vois pas d'inconvénient
0
OK merci !

Je t'envoie ça tout de suite par mail...

J'ai encore fait pas mal de modifs, j'ai créé plus de eslsif en décrivant toutes les situations possibles :

Pour rappel :
1° cas : on a juste un titre et pas de contenu ni de lien extérieur donc pas de lien vers news.php (là ça marche !)
2° cas : on a un titre et un contenu mais pas de lien extérieur donc lien vers news.php (là ça marche une fois sur 2)
3° cas : on a un titre, pas de contenu, mais un lien extérieur donc lien vers news.php (là ça marche !)
4° cas : on a un titre, un contenu et un lien extérieur donc lien vers news.php (là ça ne marche pas)

Voilà, en esérant que ce soit + clair avec les pages...
Merci encore !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci Tsunami pour ton aide ! On y est arrivé !!!
0
Tsunami Chups Messages postés 224 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 21 juillet 2010 12
17 nov. 2009 à 11:43
Good
je veu bien que tu me renvois les feuille
(marque comme resolu)
0
Je te l'envoie tout de suite.
par contre, comment je peux mettre ceci comme "résolu" pour le forum ?
0
Tsunami Chups Messages postés 224 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 21 juillet 2010 12
17 nov. 2009 à 11:45
Su le premier post tu as un cadre en haut a droite tu as resolu et tu clic sur ok ^^
0
Non, il n'y a pas de cadre sur mon premier post et nulle part ailleurs... J'ai juste la possibilité d'avertir un modérateur, ce que j'ai fait !
Voilà, ça fera un de plus de résolu !
Je t'envoie les pages, et merci encore Tsunami !
0