2011-02-02 23 views
5

Tamam, belki de beynim kapanıyor, ancak bunu işe yaratamıyorum.PHP genel değişkenler dosya genelinde

sayfa1.php:

<?php 
    $something = "hello"; 
    include "Page2.php"; 
?> 

sayfa2.php:

<?php 
    echo $something; 
?> 

İstenen çıkış (sayfa1.php giderek):

hello 

İşte tam kod

Gerçek dışı koymak boş. Küresel anahtar kelimeyi her yere koymaya çalıştım ve hiçbir şey olmuyor. Bir şey mi eksik?

+0

Küresel bağlantılı kapsamındadır/sayfadan çalışan dosyalar dahil. Ayrı zamanlarda çağrılan iki farklı sayfa değişkenleri paylaşmaz. Durum buysa, varsayılan olarak, bu kabus olurdu. –

+0

* Sayfalar ayrı zamanlarda çağrılmamaktadır * – riwalk

+0

Onun tarayıcı ile Page1.php isabet ettiği anlamına geldiğini düşünüyorum. – karim79

cevap

4

Bu hatayı yineleyemiyorum, bunu yerel sunucumda denedim ve kopyalayıp kodunuzu buraya yapıştırdım. Bir çeşit sözdizimi hatası yaptığınızdan şüpheleniyorum.

Hata raporlarını açın ve herhangi bir hata olup olmadığını öğrenin.

+2

Harika.Onları sayfa1 ve sayfa2 olarak adlandırmamalıydım. Yanlışlıkla bookmarked page2 vardı. Aslında bu kodu okuyan sadece 2 kişinin 1'i olmak için +1. – riwalk

+1

Hey, hepimiz hata yaparız. :) –

0

Yerel (Windows) üzerinde çalışan bir dizinin değerlerinin aynı işlem içerisindeki ilerlemeyi takip etmediği benzer bir sorun yaşadım.

C:/www/example.php için http://localhost/www/example.php dan dahil yolunu geçtikten sonra, artık iyi çalışıyor.

1

Bunun geç bir cevap olduğunu biliyorum, ama benzer bir şey yapmaya çalışıyorum. Her şeyden önce, bir şeyleri eklediğinizde hala onu "" içine koymanız gerekir. Php, $ 'ı koyduğunuz sürece bunu bir değişken olarak kabul edecektir.

İkinci olarak, page2.php sayfasını sayfa1'de bulabilirsiniz. Fantastik, ancak page2 $ bir şey tanımıyor. Şimdi, bunu başka bir şekilde yaparsanız, sayfa2'de $ bir şey bildirin ve sonra da dahil ettikten sonra sayfa 1'den arayın, çalışır. Başka bir şey gerektirecektir değişkeni değiştirme

...

+0

Her iki sayımda da yanlış. Değişken $ bir şey bir dizedir ve bu nedenle ek bir dönüştürme gerektirmez. İkinci noktaya gelince, basit bir test çalışmanın kanıtlandığını kanıtlıyor: http://etc.caffeineoncode.com/Page1.php – riwalk

1

ben çıkış sayfa2.php geliyor düşünüyorum. Haklı mıyım Bunun nedeni, sayfa2.php'de bir unset değişkenini yankılanıyor olmanızdır. Bunu yapmak için aşağıdaki verileri değiştirmeniz gerekir. Bunu kullanmak ve sayfa 1.php gezinmek olacaksa sayfa1.php

<?php 
include("page2.php"); 
echo $something; 
?> 

sayfa2.php

<?php 
$something="Hello"; 
?> 

sonra çıkış olacaktır Merhaba

İlgili konular