|
|
|
| Из-за недостатка опыта не получается корректно построить HTML-таблицу, содержащую сценарий php. Подскажите пожалста, какой выход?
Допустим, структура страницы:
таблица из трех колонок, во второй находится содержательная часть - результат выполнения сценария:
<table>
<tr><td>1 колонка</td>
<td>2 колонка
<?php
if(условие){
процедура_1;
exit();
}
else{
процедура_2;
}
?>
</td>
<td>3 колонка</td></tr>
</table>
|
В случае, если в условном операторе выполняется процедура_1 и следующий за ней exit(), то 3 колонка таблицы не формируется - соответственно нарушается стиль страницы. Как правильно поступать в таких случаях? | |
|
|
|
|
|
|
|
для: Evgen
(01.04.2006 в 01:19)
| | А зачем вообще использовать exit? Он прекращает работу сервера над документом. Просто проделай процедуру_1 без exit'а. А вообще напиши поный листинг скрипта и будет тебе полный вразумительный ответ. | |
|
|
|
|
|
|
|
для: kokos
(01.04.2006 в 14:20)
| | Не вопрос!
Плиз - ...
<HTML>
<head>
<title>Регистрация нового клиента</title>
</head>
<body>
<H1><P align="center">ЗАГОЛОВОК</H1>
<hr align="center" width="98%">
<table border="0" cellpadding="1" cellspacing="1" align="left" valign="top" width="100%">
<tr>
<!-- 1-й столбец таблицы -->
<td valign="top" width="25%" bgcolor="#D0D0D0">
<table align="center" valign="middle" border="1" cellpadding="3" cellspacing="2">
<tr>
<td><font size="2"><a href="http://localhost/index.php">На первую страницу</a></font></td>
</tr>
<tr>
<td><font size="2"><a href="./form/query.html">Задать вопрос</a></font></td>
</tr>
</table>
</td>
<!-- 2-й столбец таблицы -->
<td width="50%" bgcolor="#FFFFFF">
<!-- Сценарий регистрации клиента -->
<?php
//проверка на заполнение всех необходимых полей
if (!$name || !$mail)
{
echo "Не заполнено одно из полей формы.<br>
После заполнения повторите попытку.";
exit;
}
//подключение к базе
include "config.php";
//Проверяем вновь вводимые данные на совпадения в базе
$query = "SELECT * FROM customers WHERE email='".$_POST['mail']."'";
$result = mysql_query($query);
if(!$result)
{
echo "Ошибка выполнения запроса";
exit();
}
//обработка полученного запроса
$num_rows=mysql_num_rows($result);
$namedb=mysql_result($result,0,"name");
if ($num_rows<1)
{
// запрос к базе - добавление нового клиента ...
echo "<p>$name : $mail : Запись добавлена";
exit();
}
else{
echo "<p>$name : $mail : Запись не добавлена";
exit();
}
}
elseif ($name!=$namedb)
{
//мыло есть, имя не совпадает
echo "<p>Есть уже такое мыло! Забыл пароль?.. и т.п.";
exit();
}
else
{
//мыло и имя совпадают
echo "<p>Заходи в двери - как положено!.. и т.п.";
exit();
}
?>
</td>
<!-- 3-й столбец таблицы -->
<td width="25%" align="right" valign="top" bgcolor="#D0D0D0"><font size="2">
<p>Реклама<br>
Реклама<br>
Реклама<br>
Реклама<br>
Реклама<br>
Реклама</p></font>
</td>
</tr>
</table>
</body>
</HTML>
|
| |
|
|
|
|
|
|
|
для: Evgen
(02.04.2006 в 01:50)
| | Не знаю, как будет правильнее в данном случае, но если вам так нужно использовать функцию exit(), то можно нужный html код записать в переменную
<?php
$html = "</td>
<!-- 3-й столбец таблицы -->
<td width=\"25%\" align=\"right\" valign=\"top\" bgcolor=\"#D0D0D0\"><font size=\"2\">
<p>Реклама<br>
Реклама<br>
Реклама<br>
Реклама<br>
Реклама<br>
Реклама</p></font>
</td>
</tr>
</table>
</body>
</HTML>";
?>
|
и выводить вместе с exit()
| |
|
|
|
|
|
|
|
для: Evgen
(02.04.2006 в 01:50)
| | По-моему структура циклов нарушена (Количество символов "{" не сооттветствует количеству символов "}"). Я тут попробовал исправить, но наверное это не то:
<HTML>
<head>
<title>Регистрация нового клиента</title>
</head>
<body>
<H1><P align="center">ЗАГОЛОВОК</H1>
<hr align="center" width="98%">
<table border="0" cellpadding="1" cellspacing="1" align="left" valign="top" width="100%">
<tr>
<!-- 1-й столбец таблицы -->
<td valign="top" width="25%" bgcolor="#D0D0D0">
<table align="center" valign="middle" border="1" cellpadding="3" cellspacing="2">
<tr>
<td><font size="2"><a href="http://localhost/index.php">На первую страницу</a></font></td>
</tr>
<tr>
<td><font size="2"><a href="./form/query.html">Задать вопрос</a></font></td>
</tr>
</table>
</td>
<!-- 2-й столбец таблицы -->
<td width="50%" bgcolor="#FFFFFF">
<!-- Сценарий регистрации клиента -->
<?php
//проверка на заполнение всех необходимых полей
if (!$name || !$mail)
{
echo "Не заполнено одно из полей формы.<br>
После заполнения повторите попытку.";
}
else{
//подключение к базе
include "config.php";
//Проверяем вновь вводимые данные на совпадения в базе
$query = "SELECT * FROM customers WHERE email='".$_POST['mail']."'";
$result = mysql_query($query);
if(!$result)
{
echo "Ошибка выполнения запроса";
}
//обработка полученного запроса
$num_rows=mysql_num_rows($result);
$namedb=mysql_result($result,0,"name");
if ($num_rows<1)
{
// запрос к базе - добавление нового клиента ...
echo "<p>$name : $mail : Запись добавлена";
}
else{
echo "<p>$name : $mail : Запись не добавлена";
}
elseif ($name!=$namedb)
{
//мыло есть, имя не совпадает
echo "<p>Есть уже такое мыло! Забыл пароль?.. и т.п.";
}
else
{
//мыло и имя совпадают
echo "<p>Заходи в двери - как положено!.. и т.п.";
}
}
?>
</td>
<!-- 3-й столбец таблицы -->
<td width="25%" align="right" valign="top" bgcolor="#D0D0D0"><font size="2">
<p>Реклама<br>
Реклама<br>
Реклама<br>
Реклама<br>
Реклама<br>
Реклама</p></font>
</td>
</tr>
</table>
</body>
</HTML>
|
А ввобще Drago дело говорит. | |
|
|
|
|
|
|
|
для: kokos
(02.04.2006 в 13:18)
| | Со скобками я действительно немного ошибся в примере - очепятка!..
Но то, что посоветовал Drago - работает, как надо !
Спасибо, уважаемые!!! | |
|
|
|