Выполнение php кода в html (ничего не помогает)
Здравствуйте. Подскажите плиз как заставить сайт на html обрабатывать php код, ни в какую не хочет. Домен добавлен на сервер с поддержкой PHP как CGI В .htaccess прописано следующее:
#AddDefaultCharset UTF-8
DirectorySlash Off
AddHandler php-cgi .html .htm .phtml .php
# important!
RewriteEngine On
RewriteCond % ^site.ru
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]
RewriteRule ^robots.txt$ — [L]
RewriteRule ^sitemap.xml$ — [L]
Запись AddHandler php-cgi .html .htm .phtml .php верна.
Вставки php в html начинают работать только если отключить этот кусок кода в .htaccess :
RewriteEngine On
RewriteCond % ^site.ru
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]
RewriteRule ^robots.txt$ — [L]RewriteRule ^sitemap.xml$ — [L]
RewriteCond % !/_routing.php$
RewriteRule ^(.*)$ _routing.php?$1 [QSA,L]
Но если его отключить — сайт перестаёт корретно отображаться.
Копромиса, к сожелению найти не удалось.
➡️ Быстрый Выкуп Ссылок без комиссии и ежедневными выплатами$: тут (https://vk.cc/24qpKr), тут (https://vk.cc/9jsXhr) и тут (https://vk.cc/9jsVKl) ➡️ Лучший хостинг на земле! Ответ саппорта в течении 1-2 минут. Попробуйте и скажите мне — Спасибо (https://vk.cc/9jsY3X).
Вопрос: У меня сайт на чистом HTML, как мне вставить скрипт? Ответ: В корневом файле .htaccess (если его нет, то нужно создать в корневой папке сайта) добавить строчку: AddType application/x-httpd-php .php .htm .html или AddHandler application/x-httpd-php .php .htm .html .phtml или AddHandler x-httpd-php .php .htm .html .phtml или AddType application/x-httpd-php5 .php .htm .html или AddHandler application/x-httpd-php5 .php .htm .html .phtml или AddHandler x-httpd-php5 .php .htm .html .phtml или AddHandler cgi-script .html .htm
✅ Трастовых площадок под размещение статей и ссылок. Опыт 15 лет! ( https://searchengines.guru/ru/forum/675690 ) ⭐ Купить вечные трастовые ссылки для сайта ( https://getmanylinks.ru/?srh ) ⭐ Новый аналог AllSubbmitter (заполнение форм) https://getmanylinks.ru/getmanysubmits.html (Бесплатное демо)
LEOnidUKG:
Вопрос: У меня сайт на чистом HTML, как мне вставить скрипт?
Ответ: В корневом файле .htaccess (если его нет, то нужно создать в корневой папке сайта) добавить строчку:
AddType application/x-httpd-php .php .htm .html
AddHandler application/x-httpd-php .php .htm .html .phtml
AddHandler x-httpd-php .php .htm .html .phtml
AddType application/x-httpd-php5 .php .htm .html
AddHandler application/x-httpd-php5 .php .htm .html .phtml
AddHandler x-httpd-php5 .php .htm .html .phtml
AddHandler cgi-script .html .htm
Спасибо, пробовал без результатно, сейчас еще раз попробую. Увы но результат такой же, php не обрабатывается, а в большинстве случаев и вовсе сайт перестает работать и вместо открытия страницы предлагает скачать файл _routing.php я так понимаю в нем и проблема наверное кроется. Вот его содержание:
//———mysql———//
$conf[‘mysql’][‘host’] = ‘localhost’;
$conf[‘mysql’][‘user’] = ‘root’;
$conf[‘mysql’][‘pass’] = ‘qwerty’;
$conf[‘mysql’][‘db’] = ‘lookup’;
$conf[‘mysql’][‘table’] = ‘lookup’;
if (!$p || $p == «/») $p = ‘./’; // index page
if (preg_match(‘#^(\/|\.\./)#’, $p)||preg_match(‘#\./\.#’,$p)) die_not_found();
$get_node = «get_node_».$conf[‘active’];
$node = $get_node($p);
if (!file_exists($node[‘realname’])) die_not_found();
// if (preg_match(‘/.*\.php$/i’, $node[‘realname’])) include_once($node[‘realname’]);
// else echo file_get_contents($node[‘realname’]);
$html = file_get_contents($node[‘realname’]);
parse_asserts($html);
echo $html;
function get_node_plain($uri) global $conf;
$routes = file_get_contents($conf[‘plain’][‘db’]);
$regex = quotez($uri).’\s*=>\s*(.*?)\s*=>\s*(.*)’;
$regex = str_replace(‘#’, ‘\#’, $regex);
//die($regex);
$row = array();
if (preg_match(«#$regex#», $routes, $matches))
$row[‘realname’] = trim($matches[1]);
$row[‘ctype’] = trim($matches[2]);
function get_node_sqlite3($uri) global $conf;
if (!_enabled(‘sqlite3’)) die();
if (!file_exists($conf[‘sqlite3’][‘db’])) die(«SQLITE ERROR: NO ROUTING DB»);
$db = new SQLite3($conf[‘sqlite3’][‘db’]);
if (!$db) die(«SQLITE ERROR: DB OPEN FAILED»);
$stmt = $db->prepare(«SELECT * FROM `».$conf[‘sqlite3’][‘table’].»` WHERE `uri` = :uri LIMIT 0,1″);
$stmt->bindValue(‘:uri’, $uri);
$res = $stmt->execute();
if ($row = $res->fetchArray(SQLITE3_ASSOC)) return $row;
> else return false;
>
function get_node_mysql($uri) global $conf;
$db = mysql_connect($conf[‘mysql’][‘host’], $conf[‘mysql’][‘user’], $conf[‘mysql’][‘pass’]) or die(«db open error: «.mysql_error());
mysql_select_db($conf[‘mysql’][‘db’]) or die(«cannot select db: «.mysql_error());
mysql_query(«SET NAMES utf8»);
$uri = mysql_real_escape_string($uri);
$query = «SELECT * FROM `».$conf[‘mysql’][‘table’].»` WHERE `uri` = ‘$uri’ LIMIT 0,1″;
$res = mysql_query($query) or die(mysql_error());
if ($row = mysql_fetch_assoc($res)) return $row;
> else return false;
>
function get_uri_heuristic() global $conf;
//$p = $_SERVER[‘QUERY_STRING’];
$z = $_SERVER[‘REQUEST_URI’];
$z = preg_replace(‘/^’.quotez($conf[‘site_uri’]).’/’, », $z, 1); // только 1 замена
if ($z == «index.html») $z = «»; // на некоторых серваках такой сброс нужен
function _enabled($opt) switch($opt) case ‘sqlite3’:
if (!class_exists(‘SQLite3’)) print nl2br(‘SQLITE_3 NOT ENABLED
sudo apt-get install php5-sqlite
and restart Apache’);
return 0;
> else return 1;
>
function get_site_dir() /*
$p = $_SERVER[‘QUERY_STRING’];
$z = $_SERVER[‘REQUEST_URI’];
if ($p == «index.html») $p = «»; // на некоторых серваках такой сброс нужен
*/
$script_name = «_routing.php»;
$s = $_SERVER[‘SCRIPT_FILENAME’];
if (preg_match(‘#.*/(\S+)#’, $s, $m)) $script_name = $m[1];
$r = $_SERVER[‘DOCUMENT_ROOT’];
$ret = preg_replace(‘/^’.quotez($r).’/’, », $s);
$ret = preg_replace(‘/’.quotez($script_name).’$/’, », $ret);
if (!$ret) $ret=»/»;
return $ret;
>
foreach (glob(«$_dir/*.inc.php») as $filename) include_once($filename);
>
foreach($assert as $mask => $val) foreach(glob(«$_dir/*$mask») as $fname) if (file_exists($fname)) ob_start();
include_once($fname);
$assert[$mask] .= ob_get_clean();
>
>
>
В html не видит php
ЗЫ. Например это тож не пашет как надо:
Цитата:
В чем может быть дело? |
в том, что апач знает, что файлы с расширением .php нужно обрабатывать с помощью php интерпретатора.. а про .html он такого не знает
1) попробуйте написать в конфиг апача (httpd.conf)
AddType application/x-httpd-php .html
AddType application/x-httpd-php .htm
Код:
ForceType x-mapp-php4 |
и его в нужную папку закинуть
$link = mysql_connect($DBSERVER, $DBUSER, $DBPASS)
or die(«Не могу подключиться» );
mysql_select_db($DB, $link) or die (‘Не могу выбрать БД’);
if(md5(crypt($_SESSION[‘user’],$_SESSION[‘password’])) != $_SESSION[‘SID’]) <
if(!$_POST[‘do’])
>
if($_POST[‘do’]) <
$login = $_POST[‘login’];
$upass = $_POST[‘password’];
if($login !=» AND $upass !=») <
$q1=mysql_query(«SELECT * FROM users WHERE nick='».$login.»‘ AND password='».md5($upass).»‘ AND status=1″);
if(mysql_num_rows($q1)===1) <
$r=mysql_fetch_array($q1);
$_SESSION[‘user’] = $r[‘nick’];
$_SESSION[‘password’] = $r[‘password’];
$q2 = @mysql_query(«SELECT * FROM users WHERE nick='».$_SESSION[‘user’].»‘ AND password='».$_SESSION[‘password’].»‘ AND status=1″);
if(@mysql_num_rows($q2)==1) <
$r2 = @mysql_fetch_array($q2);
Цитата:
хочу вставить его на главную в index(.html).. Каким образом это правильно сделать? |
никак.. либо настраиваете сервер, чтобы html файлы обрабатывал как php, либо вставляете html код в php файл.
Цитата:
Но в самом php коде я не понимаю, поэтому и спрашиваю, как правильно вставить. |
просто вставить где хочется и все.
html код в php файле, находящийся вне тегов — не обабатывается и выдается напрямик в браузер
$link = mysql_connect($DBSERVER, $DBUSER, $DBPASS)
or die(«Не могу подключиться» );
mysql_select_db($DB, $link) or die (‘Не могу выбрать БД’);
if(md5(crypt($_SESSION[‘user’],$_SESSION[‘password’])) != $_SESSION[‘SID’]) <
if(!$_POST[‘do’])
>
if($_POST[‘do’]) <
$login = $_POST[‘login’];
$upass = $_POST[‘password’];
if($login !=» AND $upass !=») <
$q1=mysql_query(«SELECT * FROM users WHERE nick='».$login.»‘ AND password='».md5($upass).»‘ AND status=1″);
if(mysql_num_rows($q1)===1) <
$r=mysql_fetch_array($q1);
$_SESSION[‘user’] = $r[‘nick’];
$_SESSION[‘password’] = $r[‘password’];
$q2 = @mysql_query(«SELECT * FROM users WHERE nick='».$_SESSION[‘user’].»‘ AND password='».$_SESSION[‘password’].»‘ AND status=1″);
if(@mysql_num_rows($q2)==1) <
$r2 = @mysql_fetch_array($q2);
Цитата:
авторизация проходт, т.е. скрипт работает, но выдает такую ошибку: |
session_start и все операции с заголовками должны быть ДО любого вывода текста в браузер
Цитата:
Как это сделать, если форма должна находиться в определенном диве? |
либо выводить session_start сразу, до html.. либо html код запихивать в строковую переменную и выводить после вывода заголовков. либо читать про буферизацию вывода
www.php.net/ob_start
и выводить, опять же, после выдачи заголовков
Компьютерный форум Ru.Board » Интернет » Web-программирование » В html странице не работают вставки php |
Реклама на форуме Ru.Board.
Powered by Ikonboard «v2.1.7b» © 2000 Ikonboard.com Modified by Ru.B0ard © Ru.B0ard 2000-2023 браузер не видит PHP скрипты которые я пишуэтот пример с сайта на котором учебник простой по РНР, почему то не получается выполнить даже это. хотя уже более-менее освоил HTML и CSS. может скрипт в какой то тег нужно ставить? Браузер не видит js-скрипты Как скрипты видят другие скрипты, которые были объявлены ранее? Пишу скрипты на заказ т.е. все РНР так открываются? Добавлено через 4 минуты Добавлено через 6 минут html> head> title>PHP/title> /head> body> echo "Ваше имя: ."; ?> /body> /html>
А у тебя PHP вообще установлен?
да дело не в этом, что то нужно ещё настраивать что бы они работали? кликаю по ярлыку запусть денвер, открывается окошко, через некоторое время оно исчезает, дальше что делать? просто писать скрипты на веб страницах и они должны работать?
Как открываете страницу в браузере? Через домен http:// или прямо файл из папки? Надо через домен, чтобы файлы отдавал веб-сервер.
Добавлено через 1 минуту я набирал, всё работает, он показывал мне страницу «ура заработало» Также имеет значение как (в какой кодировке) вы сохраняите фаил(покрайней мере у меня по вистой такие проблемы были)!! ваазаап), Если Вы кладете файл, например, в /home/test.ru/www/index.php , то в браузере к нему надо обращаться http://test1.ru/index.php «Forbidden Подсказка Денвера При большом желании вы все же можете запускать скрипты и из www-директории. Для этого создайте в ней файл .htaccess (с точкой в начале) следующего содержания: Добавлено через 3 часа 31 минуту 1 2 3 4 5 6 7 8 9 10 11 12 13 14 html> head> title>чат/title> /head> body bgcolor=#f0f0f0> form action="file://localhost/C:/Users/Тимур/Desktop/чат/чат.php" method="post"> пиши сюда: input type="text" name="name" value=""> input type="submit" value="Отправить"> /form> hr> echo "сообщение: $_POST[`name`]"; ?> /body> /html> |