2012-10-30 7 views
22

So frage ich mich, ob es möglich ist, eine Variable aus einer bestimmten PHP-Datei zu erhalten, wenn der Variablenname in mehreren PHP-Datei verwendet wird. Ein Beispiel ist dies:PHP, bekomme Variable von einer anderen PHP-Datei

<header> 
<title> 
    <?php echo $var1; ?> 
</title> 
</header> 

page1.php hat $var1 = 'page1' page2.php hat $var1 = 'page2'

footer.php sollte <a href="">$var1 from page1</a><a href="">$var1 from page2</a>

Ok haben das Beispiel ist ein bisschen abstrakt, aber so kurz wie Ich kann es schaffen. Ich glaube, du bekommst, worauf ich hinaus will! So ist es in der Fußzeile, nach der ich bin! Hast du irgendwelche Lösungen?

+0

es sei denn, die globale Variable verwenden, die Sie zugreifen in einem bereits eingebundenen Datei ist, können Sie nicht ihren Wert. – jondinham

+0

Blick in Scoping und Globals - http://php.net/manual/en/language.variables.scope.php –

Antwort

54

Sie können, aber die Variable in Ihrem letzten enthalten wird die Variable in Ihrem ersten überschrieben:

myfile.php

$var = 'test'; 

mysecondfile.php

$var = 'tester'; 

test.php

include 'myfile.php'; 
echo $var; 

include 'mysecondfile.php'; 
echo $var; 

Ausgang:

Test

Tester

ich verschiedene Variablennamen empfehlen.

+0

Also mit anderen Worten ist das nicht wirklich möglich? Für diese Sache ist es nicht notwendig, würde mir nur besseren Code geben! –

+0

Das Problem ist wahrscheinlich Ihr Design. Was genau versuchst du zu tun? –

+1

Nun, ich versuche, den gleichen Text an zwei verschiedenen Orten, einer, der innerhalb der eigentlichen Seite ist, und einer, die auf einer universellen Fußzeile (footer.php) ist. Grundsätzlich benutze ich die Variable für einfaches Update! –

21

Sie können auch eine Sitzung für die Weitergabe von kleinen Informationen verwenden. Sie müssen session_start(); an der Spitze der PHP-Seiten, die die Sitzung sonst die Variablen zugänglich sein werden, nicht

page1.php

<?php 

    session_start(); 
    $_SESSION['superhero'] = "batman"; 

?> 
<a href="page2.php" title="">Go to the other page</a> 

page2.php

<?php 

    session_start(); // this NEEDS TO BE AT THE TOP of the page before any output etc 
    echo $_SESSION['superhero']; 

?> 
+1

Ich sehe nicht wirklich, warum das Stimmen runterzieht. Es ist eine vollkommen gültige Alternative zu Includes, die OP möglicherweise nicht in Betracht gezogen hat. – Chris

2

mit include 'page1.php' in der zweiten Seite verwenden ist eine Option aber es kann Warnungen und Fehler von nicht definierten Variablen erzeugen.
drei Methoden, mit denen Sie Variablen von einer PHP-Datei in einer anderen PHP-Datei verwenden können:

  • Verwendung Session-Variable, um von einer Seite zur anderen
    Methode:
    zuerst müssen Sie starten die Sitzung in sowohl die PHP-Befehl

    Dateien unter Verwendung

    sesssion_start();
    dann in der ersten Datei betrachten Sie haben eine Variable
    $ x = 'var1';

    jetzt Wert von $ zuweisen x zu einem Session-Variable unter Verwendung dieses:
    $ _SESSION [ 'var'] = $ x;
    jetzt in jeder anderen PHP-Datei bekommen Wert:
    $ y = $ _ SESSION [ 'var']; // $ y wird jede Variable deklariert

  • get-Methode und Variablen immer ein auf Klick Link
    Methode

    <a href="page2.php?variable1=value1&variable2=value2">clickme</a>
    Werte in page2.php Datei von $ bekommen _GET Funktion:
    $x=$_GET['variable1'];//value1 be stored in $x
    $y=$_GET['variable2'];//vale2 be stored in $y

  • wenn Sie Variablenwert mit der Taste weitergeben wollen, dann kann u es durch folgende Methode verwenden:

    $x='value1'
    <input type="submit" name='btn1' value='.$x.'/>
    in der zweiten php
    $var=$_POST['btn1'];

0

Sie könnten auch file_get_contents

$url_a="http://127.0.0.1/get_value.php?line=a&shift=1&tgl=2017-01-01"; 
$data_a=file_get_contents($url_a); 

echo $data_a; 
+0

Das liest die gesamte Datei als String ... um den Wert einer bestimmten Variablen zu erhalten, würde zusätzliche Verarbeitung erfordern. – TemporalWolf

+0

Es wäre interessant gewesen, etwas von der "zusätzlichen Verarbeitung" zu sehen – Aloha

Verwandte Themen