Dahil değişkenler PHP çalışmıyor

6 Cevap php

Tamam, bu yüzden bu gerçekten temel bir şey, ve ben birisi bana cevap söyler zaman ben gerçekten aptal hissediyorum gidiyorum biliyorum, ama aşağıdaki kod çalışmıyor neden bana yaşam için bilemiyorum:

index.php:

<?php include('config.php'); //this works fine. variables in this file are reached correctly - $_MYSQL is defined there ?>

<?php include($_MYSQL); ?>
<?php echo ($fruit);?>

db_config.php ($ _MYSQL bağlantılar, bu hiçbir sorun çalışıyor ne olduğu):

<?php 

$fruit = "apple";
echo($fruit);
?>

bütünlüğü için config.php gibi görünüyor:

<?php 

$_MYSQL = 'http://'.$_SERVER['HTTP_HOST'].'/public_html/db_config.php';

$BASE_URL = 'http://'.$_SERVER['HTTP_HOST'].'/public_html/Opto10/';

?>

Isimleri sonra kod veritabanına bağlanan bu db_config.php irtibata içindir ima, ama nedense db_config dosyasındaki değişkenler index.php genelinde taşımak görünmemektedir kadar. Tuhaf şey ('config.php') dahil olduğunu; mükemmel çalışıyor, ama ben index.php yukarıda gösterdiğim kodu "echo ($ meyve);" hiçbir şey yazmıyor. Db_config.php aynı satırda olsa (yani ben buna dahil anlamına gelmez sanırım) yok. Her nasılsa değişkenler boyunca geçmedi. Sadece bu yüzden db_config.php dosya geçerli dizinin üst bulunan, durumunda bu bir fark yaratıyor, biliyorum.

İyice herhangi bir yardım son derece hoş, şaşkın değilim. Teşekkür peşin,

Simon

Ne abovev var tam anlamıyla benim php kodudur.

6 Cevap

Böyle HTTP karşısında inlcude olamaz

Dan the manual

If "URL fopen wrappers" are enabled in PHP (which they are in the default configuration), you can specify the file to be included using a URL (via HTTP or other supported wrapper - see List of Supported Protocols/Wrappers for a list of protocols) instead of a local pathname. If the target server interprets the target file as PHP code, variables may be passed to the included file using a URL request string as used with HTTP GET. This is not strictly speaking the same thing as including the file and having it inherit the parent file's variable scope; the script is actually being run on the remote server and the result is then being included into the local script.

DB bağlantı başarısız olursa, siz değişken yanlış var, bu yüzden yanlış echo; echo'' gibidir; -> Hiçbir şey görürsünüz.

Var_dump ($ değişken) deneyin; $ meyve gibi Manzoo Ahmed size önerdi.

<?php
$_MYSQL = "db_config.php';
?>

ya da sadece için içerir değiştirin

<?php
include('db_config.php');
?>

Index.php

<?php

defined("BASEDIR", dirname(__FILE__));
defined("DIRMYSQL", BASEDIR . "/public_html/db_config.php");

?>

Eğer yapamaz, bir web sayfası ... eklemek için çalışıyoruz.

('http://some_domain/public_html/db_config.php') dahil işe gitmiyor ...

Bir dizindeki bir dosya eklemek istiyorsanız:

('C :/ some_directory / public_html / db_config.php') içerir