IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Почему переменные не обрабатываются? (http://www.imho.ws/showthread.php?t=52378)

Psionic Vision 28.02.2004 19:13

Почему переменные не обрабатываются?
 
Допустим есть два файла:

exec.php
-----------
$sel[1]="selected";
include(file.inc);

file.inc
-----------
<html>
<select><option <?php $sel[1] ?>>lalala</option></select>
</html>


Так вот, почему во втором файле $sel[1] является NULL? Как сделать чтобы он обрабатывался файлом exec.php?

plohich 28.02.2004 19:25

попробуй
PHP код:

<html>
<select><option <?php echo $sel[1?>>lalala</option></select>
</html>


Psionic Vision 28.02.2004 19:34

Не получается.
Дело в том, что $sel[1] равен NULL внутри второго файла, хотя равен 1 внутри первого... (это я получил с помощью var_dump)..

plohich 28.02.2004 19:46

так все работает

exec.php
PHP код:

<?php
$sel
[1]="selected";
include(
'file.inc');
?>

file.inc
PHP код:

<html>
<select><option <?php echo $sel[1?>>lalala</option></select>
</html>

ты забыл '' в include

Psionic Vision 28.02.2004 20:46

Ну, нет, я проверил - не работает...
Мои файлы:

redir.php
PHP код:

<?php
if ($n==NULL OR $n==""){
$n="x002";
} else {
$n=$n;
}
$num=substr($n,1,4);
var_dump("$num"); // выдает число 001-999
$sel[$num]="selected";
var_dump ("$sel[002]"//выдает "selected"
include("$n.html"); // вставляет соответствующий файл (символ 'x' +число)
?>

xronav.html

PHP код:

<html>
<?php var_dump ("$sel[002]"); ?> <!--выдает NULL-->
<select>
<option <?php echo $sel[001]; ?> >001</option> // пробел
<option <?php echo $sel[002]; ?> >002</option> // пробел
</select>
</html>

x001.html - x009.html

PHP код:

<html>
lalala
<?php include('xronav.html'); ?>
</html>

Добавлено через 12 минут:
оказывается, в echo и var_dump тоже нужны кавычки :) теперь работает. спасибо :)

plohich 28.02.2004 20:58

PHP код:

<?php 
if ($n==NULL OR $n==""){ 
$n="x002"
} else { 
$n=$n

$num=substr($n,1,4); 
var_dump("$num"); 
$sel[$num]="selected"
var_dump ("$sel[002]"); //забыл ;
include("$n.html"); 
?>

php в html у меня не обрабатывается, поэтому проверить не могу.
предыдущий пример проверил на localhost и на платном хостинге(dreamsee). В обоих случаях прекрастно работало.

Добавлено через 1 минуту:
Цитата:

Neo:
оказывается, в echo и var_dump тоже нужны кавычки теперь работает. спасибо
конечно, они же string обрабатывают

is_absent 29.02.2004 08:45

Цитата:

оказывается, в echo и var_dump тоже нужны кавычки теперь работает. спасибо
не нужны в var_dump кавычки. Результат будет соответствовать действительности, только если у тебя переменная была строкой до этого. вот пример:
PHP код:

<?php
  $a 
= array(123);
  
var_dump($a);
  
var_dump("$a");
?>

в первом случае будет выведен массив, во втором строка Array :-)


Часовой пояс GMT +4, время: 00:41.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.