Уважаемые программисты, пожалуйста помогите с кодом.
<h3>Сгенерировать страничку</h3>
<form action="site.php" method=post>
<p>Введите название странички</p>
<input type=text name=page1>
<p>Имя шапки дизайна</p>
<input type=text name=name1>
<br>
<input type=submit value="Поехали">
</form>
файл site.php
<?php
$HTTP_POST_VARS['title']='<title><? print $name1 ?></title>';
$HTTP_POST_VARS['table']='
<table width=100% border=1><tr><td>Тестовая шапка</td></tr></table>';
$file1=fopen('./page/'.$_POST["page1"].'.html','w');
fputs ($file1,$HTTP_POST_VARS['title']);
fputs ($file1,$HTTP_POST_VARS['table']);
fclose($file1);
?>
Скажите пожалуйста как добавить title к генерируемой страничке, я лох в php.
нужно чтобы генерилась страничка и выводился текст в теге title, который вводишь через форму.
Простите, ошибся вверху не index.php, а index.html
Никто не хочет помогать))) ну ладно, сам себе поотвечаю......нужка как то экранировать переменную $name1 или занести ее в массив, может поюзать List c each????
title должен быть в <head> документа.. а тело в <body>
RTFM короче
Так при чем тут разметка, в новой страничке в title выводиться такая хрень <? print $name1 ?>. Как титл взять из переменной введенной с формы........народ вы меня совсем за лоха держите)))))) как экранировать переменную, я кучу инфы перелопатил про POSIX и т.д. но не нашел ответа.
Код:
<h3>Сгенерировать страничку</h3>
<form action="site.php" method=post>
<p>Введите название странички</p>
<input type=text name=page1>
<p>Имя шапки дизайна</p>
<input type=text name=name1>
<br>
<input type=submit value="Поехали">
</form>
<form action="site.php" method=post>
<p>Введите название странички</p>
<input type=text name=page1>
<p>Имя шапки дизайна</p>
<input type=text name=name1>
<br>
<input type=submit value="Поехали">
</form>
Код:
<?php
$title='<title>'.htmlspecialchars($name1).'</title>';
$table='<table width=100% border=1><tr><td>Тестовая шапка</td></tr></table>';
$filename=$_POST["page1"];
if (!ereg("^[a-zA-Z0-9]+$", $filename, $regs)) {
die('Wrong file name');
}
$file1=fopen('./page/'.$filename.'.html','w');
fputs ($file1,$title);
fputs ($file1,$table);
fclose($file1);
?>
$title='<title>'.htmlspecialchars($name1).'</title>';
$table='<table width=100% border=1><tr><td>Тестовая шапка</td></tr></table>';
$filename=$_POST["page1"];
if (!ereg("^[a-zA-Z0-9]+$", $filename, $regs)) {
die('Wrong file name');
}
$file1=fopen('./page/'.$filename.'.html','w');
fputs ($file1,$title);
fputs ($file1,$table);
fclose($file1);
?>
Спасибо огромное mike, я совсем забыл про htmlspecialchars......буду дальше ботать синтаксис php.
Код:
<?php
$HTTP_POST_VARS['title']='<title><? print $name1 ?></title>';
$HTTP_POST_VARS['title']='<title><? print $name1 ?></title>';
Надо либо сменить тип кавычек и просто написать "<title>$name1</title>", либо с теми же кавычками использовать конкатеницию (сложение строк): '<title>'.$name1.'</title>'.
Читай внимательно про виды кавычек в PHP.
Код:
$title = '<title>'. $name1 .'</title>';
Код:
$title = "<title>{$name1}</title>";
fputs($f,$title);
этот кусок кода заработал на сборке Denwer 2006 года..... можете проверить сами. 2008 сборка HTTP сервака не принимает потоком переменные $_POST в файл.))))))))) очень интересная находка, надо написать админу проекта Denwer. ЕЩЕ РАЗ ВСЕМ СПАСИБО ЗА ОТВЕТЫ. ВАШ САЙТ ЛУЧШИЙ ИЗ ЛУЧШИХ
на самом деле сборка тут не причём )))) это дело в параметре register_globals
запостил на форум DENWER, жду объяснений))))))
Уважаемый mfender спасибо за подсказку. я мало что знаю про php.ini, но знаю только два параметка register_globals (ON/OFF), если OFF, то $_POST['name1']=$name1
Поэтому уже давно принято эту опцию отключать (default), а скоро её совсем уже не будет.
Спасибо, буду знать)))))