1

Тема: Вопросы по сайту

Уважаемые пользователи и администрация, в связи с тем что я создаю новый сайт,  у меня возникают некоторые вопросы, которые я буду вылаживать тут.
Заранее спасибо всем кто поможет=)

Сообщение добавлено Mon Dec  7 00:24:42 2009
Помогите плиз решить маленькую проблемку
Я хочу реализовать вывод в цикле информации которая будет заноситься в таблицу состоящую из 2-ух столбцов.
Смысл в том что бы произвёлся запрос в БД и посмотрело сколько у нас там есть статей если их 2 то создало таблицу из 2 столбцов и одного рядка если 4 то из 2 столбцов и 2 рядков и тд.
Помогите плиз!
Даю код:

do
{
     printf ("<p><img src='%s' height='100' width='100'><br><a class='rek_href' href='view_rek.php?id=%s'>%s</a></p>",$myrow4["img"],$myrow4["id"],$myrow4["title"]);
}

while ($myrow4 = mysql_fetch_array($result4));
}

2

Re: Вопросы по сайту

<?php

if (mysql_num_rows($result4) > 0) {
    $bRow = true;
    while ($myrow4 = mysql_fetch_array($result4)) {
        if ($bRow) print '<tr>';
        print '<td>';
         printf ("<p><img src='%s' height='100' width='100'><br><a class='rek_href' href='view_rek.php?id=%s'>%s</a></p>",$myrow4["img"],$myrow4["id"],$myrow4["title"]);
        print '</td>';
        if (!$bRow) print '</tr>';
        $bRow = ($bRow) ? false : true;
    }
    if (!$bRow) print '</td><tr>';
}

?>

3

Re: Вопросы по сайту

модератор, огромное спасибо)

4 (изменено: falke5, 2009-12-09 17:41:43)

Re: Вопросы по сайту

вот ещё одна проблемка я её уже 2 дня устранить не могу(
вот форма
  <form name="form1" method="post" action="add_rek.php">
         <p>
           <label>Введите название вашей рекламы<br>
           <input type="text" name="title" id="title">
           </label>
         </p>
         
         <p>
           <label>Введите краткое описание рекламы<br>
           <textarea name="text" id="description" cols="50" rows="8"></textarea>
           </label>
         </p>
         <p>
           <label>Введите текст рекламы<br>
           <textarea name="text" id="text" cols="50" rows="12"></textarea>
           </label>
         </p>
         
         <p>
           <label>Введите путь к картинке<br>
           <input type="text" name="img" id="img">
           </label>
         </p>
         
         <p>
           <label>Введите адрес Вашего сайта(для рекламы веб сайтов)<br>
           <input type="text" name="url" id="url">
           </label>
         </p>
         <p>
           <label>Введите Ваше имя<br>
             <input type="text" name="author" id="author">
             </label>
         </p>
         <p>
           <label>Введите Ваш емейл<br>
           <input type="text" name="email" id="email">
           </label>
         </p>
         <p>
           <label>Введите желаемый срок рекламирования(ознакомьтесь с <a href="preis.php">тарифами</a>)<br>
             <input type="text" name="srok" id="srok">
             </label>
         </p>
         <p>
           <label>Введите wmid с которого была произведена оплата<br>
           <input type="text" name="wmid" id="wmid">
           </label>
         </p>
       
         <p>
           <label>
           <input type="submit" name="submit" id="submit" value="Заказать рекламу">
           </label>
         </p>
       </form>
а вот мой обработчик:
сначала провожу проверку
<? include ("blocks/bd.php");
session_start();
if (isset ($_SESSION['login']))
{
$login = $_SESSION['login'];
$result = mysql_query("SELECT * FROM users WHERE login='$login'",$db);
$myrow = mysql_fetch_array($result);
}
else
{
header("location: ../login.php");
exit;
}


include ("blocks/bd.php");
/* Если существует в глобальном массиве $_POST['title'] опр. ячейка, то мы создаем простую переменную из неё. Если переменная пустая, то уничтожаем переменную.   */
if (isset($_POST['title']))      {$title = $_POST['title']; if ($title == '') {unset($title);}}
if (isset($_POST['description']))      {$description = $_POST['description']; if ($description == '') {unset($description);}}
if (isset($_POST['text']))        {$text = $_POST['text']; if ($text == '') {unset($text);}}
if (isset($_POST['author']))      {$author = $_POST['author']; if ($author == '') {unset($author);}}
if (isset($_POST['email']))      {$email = $_POST['email']; if ($email == '') {unset($email);}}
if (isset($_POST['wmid']))      {$wmid = $_POST['wmid']; if ($wmid == '') {unset($wmid);}}
if (isset($title))
{
$title = stripslashes($title);
$title = htmlspecialchars($title);
}
if (isset($description))
{
$description = stripslashes($description);
$description = htmlspecialchars($description);
}
if (isset($text))
{
$text = stripslashes($text);
$text = htmlspecialchars($text);
}
$img = stripslashes($img);
$img = htmlspecialchars($img);

$url = stripslashes($url);
$url = htmlspecialchars($url);

$srok = stripslashes($srok);
$srok = htmlspecialchars($srok);
if (isset($author))
{
$author = stripslashes($author);
$author = htmlspecialchars($author);
}
if (isset($email))
{
$email = stripslashes($email);
$email = htmlspecialchars($email);
}
if (isset($wmid))
{
$wmid = stripslashes($wmid);
$wmid = htmlspecialchars($wmid);
}
?>
.
.
.
потом код проверки:
<?php
if (isset($title) && isset($description) && isset($text) && isset($img) && isset($url) && isset($srok) && isset($author) && isset($wmid)&& isset($email) )
{
/* Здесь пишем что можно заносить информацию в базу */
$result = mysql_query ("INSERT INTO reklama_mod (title,description,text,img,url,srok,author,wmid,email) VALUES ('$title', '$description','$text','$img','$url','$srok','$author','$wmid','$email')");

if ($result == 'true') {echo "<p align='center'>Ваш заказ рекламы успешно отправлен.<br>После модерации реклама будет размещёна на сайте!</p>";}
else {echo "<p>Ваша реклама не отправлена на модерацию!</p>";}


}        
else

{
echo "<p align='center'>Вы ввели не всю информацию, поэтому реклама в базу не может быть добавлена.</p>";
}
        
        
        
         ?>
Мне выводит надпись что Вы ввели не всю информацию, поэтому реклама в базу не может быть добавлена.

5

Re: Вопросы по сайту

falke5
Не все переменные принимаются из $_POST массива (img, url).

Еще у вас созданы два textarea имеющие параметр name="text", чего быть не должно.

В данном случае проверку можно упростить:

<?php

$aPost = array('title', 'text'); // Все элементы формы.
foreach ($aPost as $key) {
    if (empty($_POST[$key]) {
        echo 'Все поля должны быть заполнены.';
    }
}

?>

6

Re: Вопросы по сайту

спасибо!

7

Re: Вопросы по сайту

помоги плиз тут:
{         
         
print <<<HERE

         <table width="100%" border="0">
        <tr>
          <td>
           <p>Ваш логин:    echo $myrow["login"]</p> тут ошибку находит
         </td></tr>
          <tr><td><p>
           <label><div  style="margin-bottom:10px; margin-left:20px">Введите старый пароль</div>
           <input type="text" name="pas" id="pas" style="background-color: #f6f6ff;margin-left:40px">
           </label>
         </p></td>
         <td><p>
           <label><div  style="margin-bottom:10px; margin-left:20px">Введите новый пароль</div>
           <input type="text" name="pas" id="pas_n" style="background-color: #f6f6ff;margin-left:40px">
           </label>
         </p></td>
        </tr>
        <tr>
         
          <td> <p>
           <label><div  style="margin-bottom:10px; margin-left:20px">Введите новый емейл</div>
           <input value=" $myrow1[email]" type="text" name="email"  id="email" style="background-color: #f6f6ff;margin-left:40px">
           </label>
         </p></td>
         <td><p>
           <label><div  style="margin-bottom:10px; margin-left:20px">Введите новый wmid</div>
           <input value=" $myrow1[wmid]" type="text" name="wmid" id="wmid" style="background-color: #f6f6ff;margin-left:40px">
           </label>
         </p></td>
        </tr>
        <tr>
          <td><p>
           <label><div  style="margin-bottom:10px; margin-left:20px">Введите ваше имя</div>
           <input  value=" $myrow1[name]"type="text" name="name" id="name" style="background-color: #f6f6ff;margin-left:40px">
           </label>
         </p></td>
        <td> <p align="right" style="margin-top:40px;">
           <label>
           <input type="submit" name="submit" id="submit" value="Сохранить изменения">
           </label>
         </p></td>
        </tr>
      </table>



HERE;
}
пришит ошибку Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in z:\home\localhost\www\sait\system\person.php on line 74

8

Re: Вопросы по сайту

falke5
По синтаксису правильно в HEREDOC писать элементы массива так:
{$myrow["login"]}

9

Re: Вопросы по сайту

пишет вот такую ошибку теперь Notice: Undefined index: login in z:\home\localhost\www\sait\system\person.php on line 74
вот эта строка            <p>Ваш логин:    echo {$myrow["login"]}</p>

10

Re: Вопросы по сайту

falke5
Это означает, что в массиве $myrow нет элемента login. Проверьте выше по коду как формируется $myrow.