2016-07-25 7 views
-1

Der Code unten ist aus dem Zusammenhang gerissen, so dass es unsinnig erscheinen mag, egal, ich habe:Wie übergibt man den Wert einer Variablen an eine andere Variable?

Hier wird auf Antwort mein bearbeiten Code basiert, aber es scheint immer noch nicht zu funktionieren:

page #1: 
    <?php $catid = '4' ; ?> 
    <a href="<?php echo '_posts/' . ($name) . ".php?catid=" . $catid ?>" >next</a> 


partial page #2: 
<?php $_GET['catid'] ; ?> 

<?php 
... 
$myposts = get_posts('numberposts=3&category=' . $catid); // <<<< HERE 
... 
... ?> 

EDIT: Sorry, ich denke, es ist nicht „arbeiten“ (die Wordpress Beiträge mit Kategorie-ID von 4 nicht Beladung), weil später in dem Teil Seite # 2, da Javascript ist die erste von mir

var totalpost = "<?php echo count($myposts); ?>";" 

so enthält den Wert von 4 in eine Zeichenkette '4 umwandeln "Um es zu verketten, es versaut es ... vielleicht?

+3

Sie beginnen mit dem Lernen, dass '+' bedeutet __ad dition__, wie '1 + 2 = 3' –

+0

$ _GET [" catid "] ist ein Parse-Fehler. Sie sollten einen anderen Code dort haben – Anigel

+0

Möchten Sie zwei Stachel verketten? Wenn ja, verwenden Sie '. ', Aber folgen Sie der PHP-Syntax. '+' wird zum Verketten in Javascript nicht php verwendet. In PHP ist es arithmetischer Operator. – Avishake

Antwort

-1

Wenn ich den Code betrachte, möchte ich vermutlich auf die Variable catid GET zugreifen.

Sie sollten den folgenden Code versuchen:

if(isset($_GET['catid'])) 
{ 
    $catid = $GET['catid']; 
    $myposts = get_posts('numberposts=3&category=' . catid); 
} 
else { 
    // Raise an error of some sort. 
    echo 'catid is not set!' 
} 
+0

''numberposts = 3 & category =' + catid' wirklich? –

+0

Entschuldigung, und danke, dass Sie darauf hingewiesen haben. Ich habe eine Menge C# in letzter Zeit :) PS: Ich habe meine Antwort bearbeitet :) – pioneer

+0

@Jake - Dies sollte für Ihre Anforderungen gut funktionieren. – pioneer

0

Ich schlage vor, Sie einige Grundlagen von PHP zu erlernen, weil Sie wirklich große Fehler haben.

<?php 
.... 
$_GET['catid'] ; 
$myposts = get_posts('numberposts=3&category=' + catid); 
.... 
?> 

+ in PHP ist nicht dasselbe wie . Wenn Sie zwei Strings setzen wollen zusammen Sie . statt +

So asnwer ist

<?php 
$myposts = get_posts('numberposts=3&category=' . $catid); 
.... 
?> 

auch verwenden sollten, wenn Sie wollen $ _GET etwas dann verwenden Sie einzelnes Zitat in Klammern. So $_GET['somethin'] und nicht $_GET[something].

Wenn Sie vergessen (wie Sie es getan haben) $ dolar Anmelden am Anfang der Variablen dann PHP gibt Ihnen einen Fehler zurück.

0

Was Sie tun müssen, ist, müssen Sie zuerst den Wert der Variablen in der ersten Seite auf die zweite Seite übergeben wie

//On page 1 
$catid = '4'; 
$_SESSION['catid'] = $catid; 

//On page 2 
$catid = $_SESSION['catid']; 

dann

$myposts = get_posts('numberposts=3&category=' . $catid); 

Sie enthalten müssen Funktion session_start() auf beiden Seiten, wenn Sie $ _SESSION verwenden möchten für weitere Informationen können Sie auf diesen Thread verweisen PHP Pass variable to next page

+0

Danke, dass Sie sich die Frage genauer angeschaut haben, aber die Variable lief bereits erfolgreich von Seite 1 auf Seite 2 (Ich habe dies mit einer Echo-Erklärung auf der 2. Seite bestätigt).Ich habe den Code von page1 in meine Frage nicht eingefügt, aber es ist next Jake

+0

und dann während der $ _GET-Anweisung verwenden Sie Anführungszeichen wie $ _GET ['catid'] und speichern Sie es in eine Variable wie $ item = $ _GET ['catid "]; und in dieser Funktion "$ myposts = get_posts ('numberposts = 3 & category ='. catid);" verwende die Variable, in der du den Wert gespeichert hast, wie $ myposts = get_posts ('numberposts = 3 & category ='. $ item); hoffe das hilft –

Verwandte Themen