2013-04-18 2 views
0

Прошу прощения, если это простой вопрос, я довольно новичок в php!Методы передачи кода с одной страницы php на другой

Как бы то ни было, моя проблема в следующем: у меня есть несколько строк кода на одной странице, в которых я использую mysql, html и php, и я хотел бы передать его на другую php-страницу. Сначала я думал, что я буду использовать $ _SESSION, но в то время как это нормально работает с текстом/переменными, оно не работает с более обширным кодом. Я предполагаю, что это не сделано для этого. Другая альтернатива, о которой я думал, заключалась в использовании функций include/require, но это означало бы взятие всей страницы кода, хотя мне нужна только небольшая часть. Какие у меня варианты?

Например, если у меня было следующее:

<html> 
<table> 
<td><select name="Example"> 
<?php 
while ($example_variable=mysqli_fetch_array($example_mysql_select)){ 
echo "<option>" . $example_variable['field'] . "</option>"; 
} 
?> 
</html> 

... он не будет работать с сеансом. Есть ли у меня какие-либо альтернативы, или я придерживаюсь require/include? Есть ли способы сделать сеанс для этого?

Большое спасибо.

+0

просто создайте страницу, содержащую ** только **, что вы хотите, и 'include()' it. – egig

+0

@Charlie, что было бы моим «планом B». Проще говоря, все было бы гораздо более организованным, если бы я сделал это, не отделяя свой код на разных страницах. В любом случае спасибо. – tmnol

+0

, если вы пытаетесь передать код, где есть логическая операция, а не переменная или константа, то 'include()' или 'require()' является единственным способом. – egig

ответ

0

Попробуйте сериализации:

$_SESSION['var'] = serialize($var); 

Затем к нему доступ:

$var = unserialize($_SESSION['var']); 
+0

Спасибо, но я не понимаю, как я получу весь код? Я просмотрел документацию, но я все еще не уверен ... – tmnol

0

Создайте простую функцию на один PHP странице:

function db_fetch($example_mysql_select){ 
    return mysqli_fetch_array($example_mysql_select) 
} 

С вашей HTML странице, просто использовать :

<html> 
<table> 
    <td> 
    <select name="Example"> 
    <?php echo "<option>" . db_fetch($example_mysql_select) . "</option>"; ?> 
</html> 
+0

Это не сильно меняет, потому что мне нужно будет добавить весь код (включая HTML) в сеанс. С другой стороны, могу ли я добавить все это в функцию, и тогда я смогу добавить функцию в сеанс? – tmnol

+0

Не уверен, что я понимаю, что вам действительно нужно @TudorManole. Вы также пытаетесь включить HTML в функцию? И нет, вы не можете добавить функцию к сеансу. – user

Смежные вопросы