2011-10-03 3 views
0

Je n'arrive pas à obtenir l'écho de ma variable sur la page même si elle apparaît dans l'URL. Voici le lien qui transmetVariable indéfinie - Passer une variable à travers l'URL

<a href='eventform.php?$eventname'> 

Et le code pour obtenir sur une autre page:

$eventname = 0; 
if (isset($_GET['eventname'])) { 
$eventname = $_GET['eventname']; 
} 
echo $_GET['eventname']; 

Il affiche le 0 mais pas la montagne 2012, ce qui est dans l'url en haut. S'il vous plaît aidez-moi avec ce problème

Suis-je l'afficher correctement sur l'autre page?

Répondre

3

Vous avez besoin:

  • Pour lui donner un nom dans la chaîne de requête
  • Pour aseptiser les données pour l'URI
  • Pour aseptiser l'URI pour le HTML

Ainsi:

<a href='eventform.php?eventname=<?php 
    echo htmlspecialchars(urlencode($eventname)); 
?>'> 
+0

Il se débarrasse de l'erreur, mais il ne fait toujours pas écho à la var sur la page avec mon code isset – SebastianOpperman

+0

aussi l'URL sort comme ceci: sportevent/eventform. php? eventname =% 3C? php% 20% 20% 20% 20echo% 20htmlspecialchars (% 20urlencode (% 20Marathon% 202012% 20)% 20);?% 3E – SebastianOpperman

+0

l'ai bien fait merci à tous pour l'aide – SebastianOpperman

-1
<a href='eventform.php?<?php=$eventname?>'> 

Ou:

<a href='eventform.php?<?php echo $eventname?>'> 

Bien que vous voudrez peut-être:

<a href='eventform.php?eventname=<?php echo $eventname?>'> 

^^ met $_GET['eventname'] à $eventname

+0

soyez prudent avec écho comme ça. Il pourrait être désactivé dans le fichier php.ini. –

+0

@Topener 'Depuis PHP 5.4.0, Neal

+1

bon à savoir, mais le Dernière stable est encore 5.3.8 –

2

Vous avez oublié de Mettez eventname = dans votre URL comme:

<a href="eventform.php?eventname=<?php echo $eventname; ?>">