2017-12-31 114 views
0

Ich versuche, die ID von der URL mit PHP abrufen.PHP ID-Formular URL und Show-ID auf Webapage

Der Code auf dieser Seite enthält alle Videos. Mit dem Thumbnail-Formular youtube und wenn Sie auf das Thumbnail klicken. Es wird auf eine andere Seite mit der ID in der URL umgeleitet.

Dies ist die URL, wenn ich auf einem Video klicken: http://pwebsite.project.local/?page=overzichtid?id=4?tag=dorp

Dieser Code ist unten auf der Seite, wo Sie ein Video klicken:

<div class="scrollbar"> 
    <a id="videoList" name="video" href="?page=overzichtid?id='.$videoid.'"> 
     <img src="' .htmlentities($thumbnail) . '" width="235"/> 
     <p id="titelText"><b>' . htmlentities($title) . '</b></p> 
    </a> 
</div> 

Hier mit der $_GET Methode Ich versuche, um die ID zu erhalten. Nur wenn ich die ID echo, wird es nicht auf der Webseite angezeigt.

Dieser Code ist auf der Seite overzichtid:

<?php 
    $id = $_GET['id']; 
    echo $id; 
?> 

Ist das richtig gemacht, oder sollte es etwas anderes sei es auf der Webseite zu zeigen?

+1

Sie haben '' '' anstelle von '&' in 'href' verwendet Sie' ein Tag href 'sollte' href = "sein? Page = overzichtid & id = '. $ Videoid.'" – M0ns1f

Antwort

1

Sie haben zwei ? in der url. Sie sollten & verwenden, wenn Sie mehr als eine Variable über Querystring übergeben.

<div class="scrollbar"> 
 
    <a id="videoList" name="video" href="?page=overzichtid&id='.$videoid.'"> 
 
     <img src="' .htmlentities($thumbnail) . '" width="235"/> 
 
     <p id="titelText"><b>' . htmlentities($title) . '</b></p> 
 
    </a> 
 
</div>

+0

Vielen Dank !! Das war die richtige Lösung !!! – MissesA

0

Wenn Sie im HTML-Modus sind, und wollen dies eine PHP-Variable, das ist die Syntax:

Ich denke, das Ihre DIV Situation korrigiert:

<div class="scrollbar"> 
    <a id="videoList" name="video" href="?page=overzichtid?id=<?php echo $videoid ?>"> 
     <img src="<?php echo htmlentities($thumbnail) ?>" width="235"/> 
     <p id="titelText"><b><?php echo htmlentities($title) ?></b></p> 
    </a> 
</div> 
0

$ _GET [ 'variable_name'] verwendet wird, aus Query-String zu extrahieren. Verwenden Sie & für die zweite Variable in Abfragezeichenfolge

0

Es ist fast richtig. Nach dem ersten Abfrageparameter müssen die folgenden durch ein '&' nicht ein '?' wieder:

<div class="scrollbar"> 
    <a id="videoList" name="video" href="?page=overzichtid&id='.$videoid.'"> 
     <img src="' .htmlentities($thumbnail) . '" width="235"/> 
    </a> 
    <p id="titelText"><b>' . htmlentities($title) . '</b></p> 
</a> 

Und es ist eine gute Praxis, nicht in Form/Abfrageparametern vertrauen. Sie sollten immer ihre Existenz überprüfen:

<?php 
$id = !empty($_GET['id']) ? $_GET['id'] : null; 
if (empty($id)) { 
    //e.g.:redirect to previous page 
} 
echo $id; //here is safe to use id 
?> 
0

Sie haben 2? Markierungen in Ihrer URL, aber eine andere wahre Problem, das Sie haben, ist, weil die Variable $ videoid PHP ist nie in die URL eingefügt ...

Dieser Code:

<div class="scrollbar"> 
    <a id="videoList" name="video" href="?page=overzichtid?id='.$videoid.'"> 
     <img src="' .htmlentities($thumbnail) . '" width="235"/> 
     <p id="titelText"><b>' . htmlentities($title) . '</b></p> 
    </a> 
</div> 

hat das Problem, in dem Sie angezeigt werden versuchen, zu die PHP-ID-Variable in den HTML-Code

< id = "videoList" name = "video" href = "? page = Überschreibung? id = '. $ videoid.' >

Sie haben PHP nicht angewiesen, einen Abschnitt von PHP in Ihrer HTML-Datei zu bewerten. Die Korrektur hierfür wäre:

< a id = "Videolist" name = "video" href = "? Page = overzichtid & id = < = $ videoid ;? >?" >

<div class="scrollbar"> 
    <a id="videoList" name="video" href="?page=overzichtid&id=<?=$videoid;?>"> 
     <img src="' .htmlentities($thumbnail) . '" width="235"/> 
     <p id="titelText"><b>' . htmlentities($title) . '</b></p> 
    </a> 
</div>