[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: циклы, PHP внутри PHP
MaximGQ
Здравствуйте всем!

Возникла проблема при вписании кода в код. Необходимо выводить на страницу ФОРМУ в зависимости от того, зарегистрирован пользователь или нет.
код такой:

<?php require_once('xxx.php'); ?>
<?php

if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
.......

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

$time1 = date("M jS, g:i a\ \(\G\M\T\)");
$time = '<font size="-2" color="#261BF8">'. '<dd>'. $time1. '</font>';
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "send_comm")) {
$insertSQL = sprintf("INSERT INTO comments (date_index, `date`, comm) VALUES (Now(), '{$time}', %s)",
GetSQLValueString($_POST['leave_comm'], "date"),
GetSQLValueString($_POST['leave_comm'], "text"),
GetSQLValueString($_POST['leave_comm'], "text"));

mysql_select_db($database_xxx, $xxx);
$Result1 = mysql_query($insertSQL, $xxx) or die(mysql_error());

$insertGoTo = "index.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

На самой странице:

<?php if (isset($_COOKIE["username"]))
echo '<form action="<?php echo $editFormAction; ?>" method="POST" name="send_comm" id="send_comm">
<table border="0" cellspacing="0" cellpadding="1">
<tr>
<td><div id="comm_leave"><textarea style="background:#b0ffff"
name="leave_comm" cols="30" rows="3"></textarea></div></td>
</tr>
<tr>
<td><input type="submit" name="post_comm" id="post_comm"
value="Post" /></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="send_comm" />
</form>'
;
else echo "Вы не можете просматривать....";
?>

Сама форма работает прекрасно, но если вставить ее в <?php if (isset($_COOKIE, то наблюдается такая картина - все отображается на странице замечательно но при нажатии на кнопку появляется 404 Страница не найдена и в заголовке что то вроде .....3%С?php echo $editFormAction; ?>.
Проблема с кавычками была сначала, поставил одинарные вокруг формы вместо двойных.
Как можно решить эту проблему? Может какие то дельные советы как это сделать другим способом?

Спасибо.



Спустя 26 минут, 44 секунды (28.01.2011 - 08:01) twin написал(а):
<?php if (isset($_COOKIE["username"]))
echo '<form action="'. $editFormAction .'" method="POST" name="send_comm" id="send_comm">

Спустя 24 минуты, 27 секунд (28.01.2011 - 08:25) MaximGQ написал(а):
Вау! Работает!!!!!!
Twin, спасибо огромное!!!

Все дело в точках)
Есть второе поле, отображение информации, которая вводится в первом поле. Там тоже самое, появляется контейнер div, но внутри пусто. как оживить этот код?
То есть вместо предидущей формы должна рисоваться таблица:

<div id="comments_left"><?php echo "<table width=270>\n";
while ($line = mysql_fetch_array($comm_list, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<tr>$col_value</tr>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
?></div>


Честноб специально не изучал phpб все методом проб и ошибок и тысяч ошибок.

Спустя 1 минута, 33 секунды (28.01.2011 - 08:27) MaximGQ написал(а):
попробую вынести таблицу как переменную и ввести ее в куки с точками wink.gif wink.gif

Спустя 9 минут, 59 секунд (28.01.2011 - 08:37) twin написал(а):
Цитата
Честноб специально не изучал phpб все методом проб и ошибок и тысяч ошибок.

А стоило хотя бы основы.
Без этого долго тыкать придется.

Спустя 4 минуты, 20 секунд (28.01.2011 - 08:41) MaximGQ написал(а):
уже столько перечитанно... вроде все понятно, ясно, и тут появляется другой тупик, прежние правила перестают работать. в сборниках все поверхностно описывается, а копни глубже...

Спустя 11 минут, 26 секунд (28.01.2011 - 08:53) MaximGQ написал(а):
Не будете ли вы так любезны помочь разобраться со второй проблемой, хотя б весомый намек?

Спустя 17 минут, 29 секунд (28.01.2011 - 09:10) MaximGQ написал(а):
то есть если вставить таблицу результатов на страницу, она работает отлично, но при вставке в зависимость от куки она не работает...

Спустя 3 минуты, 8 секунд (28.01.2011 - 09:13) linker написал(а):
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}

Спустя 18 минут, 45 секунд (28.01.2011 - 09:32) MaximGQ написал(а):
Если поменять

foreach ($line as $col_value) {
echo "\t\t<tr>$col_value</tr>\n";}


на

foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";}


То браузер будет выдавать данные по столбцам, мне нужно по строкам. Это дела не меняет, содержимое не отображается все равно. Что то неправильно с синтаксисом надо чтобы вид был такой:

<?php if (isset($_COOKIE["username"])) 
echo '<div id="comments_left"><?php
echo "<table width=270>\n";
while ($line = mysql_fetch_array($comm_list, MYSQL_ASSOC)) {
echo "\t<tr>\n";foreach ($line as $col_value) {
echo "\t\t<tr>$col_value</tr>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";?></div>'
;
else echo "Вы не можете просматривать....";?>

Спустя 5 минут, 26 секунд (28.01.2011 - 09:38) linker написал(а):
<?php 
if (isset($_COOKIE["username"]))
{
echo '<div id="comments_left">' . "<table width=\"270\">\n";
while ($line = mysql_fetch_assoc($comm_list))
{
foreach ($line as $col_value)
echo "\t\t<tr><td>$col_value</td></tr>\n";
}
echo "</table>\n" . '</div>';
}
else
echo "Вы не можете просматривать....";?>

Спустя 34 минуты, 33 секунды (28.01.2011 - 10:12) MaximGQ написал(а):
Спасибо linker!
Получилось вот так:

<?php if (isset($_COOKIE["usernamec"]))
{
echo '<div id="comments_left">' . "<table width=270>\n";
while ($line = mysql_fetch_array($comm_list, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<tr>$col_value</tr>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n" . '</div>';
}
else echo "jhbbk";
?>


Значит если одна функция вставляется в другую, надо убирать <?php ?> и ставить знако конкатенации)

уфффф...

Спустя 14 минут, 19 секунд (28.01.2011 - 10:26) MaximGQ написал(а):
Ссылка на сайт кстати, если нужны материалы
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.