#php #html
#php #HTML
Вопрос:
я пытаюсь использовать php-скрипт на своем html-сайте. Php-скрипт работает так, как задумано, когда я его запускаю. Мой php скрипт:
<?php
mysql_connect("localhost","demo","123abc");
mysql_select_db("demo");
$sql=mysql_query("SELECT vorname FROM users");
if(mysql_num_rows($sql)){
$select= '<select name="select">';
while($rs=mysql_fetch_array($sql)){
$select.='<option value='.$rs['vorname'].'>'.$rs['vorname'].'</option>';
}
}
$select.='</select>';
echo $select;
?>
Теперь я хочу, чтобы выпадающий список на моем сайте был в разных местах. Моя идея заключалась в том, чтобы просто вставлять php-скрипт всякий раз, когда он мне нужен. Моя html-часть:
<td>
<?php include 'http://localhost/Testsamples/test.php'; ?>
</td>
Но он не работает, и я не знаю почему.
Может кто-нибудь мне помочь?
Спасибо
Комментарии:
1. HTML-файл находится в другой папке. Html = localhost/Prompt/index.html а затем php= localhost/Testsamples/test.php
2. Помимо приведенных ниже ответов о пути, ваш php, вероятно, не будет выполнен, если включаемый файл имеет
.html
расширение. Измените это на.php
также.3. @jeroen возможно, чтобы HTML выполнял php, но это требует некоторых настроек в системных файлах. Я понятия не имею, где он должен искать, поскольку я понятия не имею, какой локальный сервер он использует. Однако более безопасная ставка — это просто изменить
html
наphp
4. @Dorvalla Вот почему я сказал
probably
. Изменение настроек сервера OP действительно немного выходит за рамки этого вопроса 🙂5. @jeroen ваш пост был решением в конце. Большое спасибо всем за помощь от всех. = D
Ответ №1:
Вы не включаете файл по его URL, вы должны использовать системный путь к файлу:
<td>
<?php include '/path/to/Testsamples/test.php'; ?>
</td>
Комментарии:
1. Теперь я переместил их в ту же папку. Его localhost/Prompt/test.php сейчас же. HTML-файл также находится в папке Prompt. Я просто пишу /test.php каков теперь путь?
2. Вы можете сделать
./test.php
илиtest.php
3. @LittleMonstr Измените
include
наrequire
, сообщение об ошибке сообщит вам, какой путь ищет php.4. Если у вас включены отчеты об ошибках, PHP должен сообщать вам, не может ли он найти этот файл.
Ответ №2:
Вы не можете включить использование URL (например http://www.domain.com/script.php ).
Используйте относительный путь, например :
<?php include "/path/test.php"; ?>
Используйте require
лучше, чем include
, у вас будет прямая ошибка, если файл не найден.
Комментарии:
1.
"/path/test.php"
является абсолютным путем. У OP был URL-адрес.2. Вам следует немного изменить формулировку: как уже упоминалось, исходный путь — это URL, а используемый вами путь на самом деле является абсолютным путем.
3. Вы правы, я просто назвал «absolute» слишком быстро. Я редактирую свой ответ.
Ответ №3:
Чтобы включить его из абсолютного пути, вам необходимо allow_url_include
включить его в вашем php.ini.
Смотрите здесь: http://phpsec.org/projects/phpsecinfo/tests/allow_url_include.html
Однако, если ваш файл находится в той же системе, вы должны использовать относительные URL-адреса. т.е. include 'testSamples/test.php
(или что-то подобное). Вы также можете использовать базовую навигацию по папкам (например ../testSamples/test.php
, или использовать включение относительно root : /public_html/foo/bar/testSamples/test.php
)
Ответ №4:
Попробуйте это
<?php /* At the first instance of call, to eliminate multiple opening of SQL connections for the smae data */
ob_start();
get_file_contents('http://localhost/Testsamples/test.php');
$contents = ob_get_contents();
?>
<td>
<?php echo $contents; ?>
</td>
редактировать — как указано в других ответах, вы, вероятно, не хотите включать абсолютные пути!