PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (4): « 1 [2] 3 4 »

> Найдено сообщений: 57
MadDen Отправлено: 11 Февраля, 2008 - 14:10:13 • Тема: Поговорим(и обсудим) о безопасном коде(на моём примере) • Форум: Программирование на PHP

Ответов: 2
Просмотров: 206
Здраствуйте уважаемые жители данного форума всем респект и уважуха за то что помогаете нам "новичкам" в изучение этого языка PHP Радость

Такс начнёмс...
вот у меня есть форма ввода допустим возъмём регу:
1. есть запросы в базу как их грамотно защитить и как их лучше оптимизировать?
2. есть проверка ввода данных (правильно ли она реализованна?)
3. есть инклуды (защищены ли они от взлома)?
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. session_start(); // стартуем сессию
  3. //
  4. include "conf.php"; // коннект к бд
  5. ///
  6. // страница реги
  7. ///
  8. include "header.php";
  9. ///////
  10. $pass = $_POST['pass'];
  11. $login = $_POST['login'];
  12. ///
  13. $login = NULL;
  14. $pass = NULL;
  15. ////
  16. // ограничение ввода данных
  17. ////
  18. If (!empty($_POST['login']))
  19. If (!preg_match("%^[a-z0-9]{3,15}$%",$_POST['login']))
  20.  {
  21.  echo '<div class="quote_conteiner">';
  22.  echo 'Неправильный логин!';
  23.  echo '</div>';
  24.  }
  25.  else $login = $_POST['login'];
  26.  
  27. If (!empty($_POST['pass']))
  28. If (!preg_match("%^[a-z0-9]{3,10}$%",$_POST['pass']))
  29.  {
  30.  echo '<div class="quote_conteiner">';
  31.  echo 'Неправильный пароль!';
  32.  echo '</div>';
  33.  }
  34.  else $pass = $_POST['pass'];
  35. ////
  36. // регистрация
  37. ////
  38. If (!empty($_SESSION['login']))
  39.  {
  40.  header( 'Refresh: 1; url=index.php' );
  41.  echo '<div class="quote_conteiner">';
  42.  echo 'Тебе тут нефиг делать иди';
  43.  echo '<a href="index.php"> сюда</a><br/>';
  44.  echo '</div>';
  45.  }

(Добавление)
PHP:
скопировать код в буфер обмена
  1.  else
  2. {
  3. if (empty($login) || empty($pass))
  4. {
  5. echo '<div class="quote_conteiner">';
  6. echo '<a href="index.php">Главная</a>/Регистрация';
  7. echo '</div>';
  8. echo '<form name="rega" action="rega.php" method="post">';
  9. echo '<div class="quote_conteiner">';
  10. echo "<b>Ваш(Ник):</b><br/> <input name='login' type='text'>";
  11. echo '</div>';
  12. echo '<div class="quote_conteiner">';
  13. echo "<b>Пароль для входа:</b><br/> <input name='pass' type='password'>";
  14. echo '</div>';
  15. echo '<div class="quote_conteiner">';
  16. echo '<input type="submit" name="ok" value="Пр0писатЪся" class="ibutton">';
  17. echo '</div>';
  18. echo '</div>';
  19. echo '<div class="quote_conteiner">';
  20. echo '
  21. При регистрации в "нике" разрешено использовать только знаки латинского алфавита и цифры.<br/>
  22. Длина "ника" не должна превышать 15 символов и быть не короче 3 символов.<br/>
  23. В пароле разрешены только знаки латинского алфавита и цифры.<br/>
  24. ';
  25. echo '</div>';
  26. echo '</form>';
  27. exit();
  28. }
  29.   else  
  30.   {
  31.   $result = mysql_query("SELECT `login` FROM `users` WHERE `login`='".$login."'");
  32.   if (mysql_num_rows($result))
  33.         {
  34.         header( 'Refresh: 1; url=rega.php' );
  35.         echo'
  36.        <div class="quote_conteiner">
  37.        Пользователь с таким логином уже есть!
  38.        <br/>
  39.        (Придумайте другой)
  40.        </div>
  41.        <div class="quote_conteiner">
  42.        <a href="rega.php">Попробовать ещё раз</a>
  43.        </div>
  44.        ';
  45.         }  

(Добавление)
PHP:
скопировать код в буфер обмена
  1. else
  2.    {
  3.      // заносим в базу
  4.      mysql_query("INSERT into `users`
  5.     (`login`,`pass`)
  6.     values ('$login','$pass')");
  7.  
  8.      // заносим в сессию
  9.      $_SESSION['login'] = $login;
  10.      
  11.      header( 'Refresh: 1; url=index.php' );
  12.      echo '<div class="quote_conteiner">';
  13.      echo 'Привет <b>'.$login.'</b>, запомни свой пароль: <b>'.$pass.'</b>.';
  14.      echo '<br/>и не забуть обновить сваю анкету!';
  15.      echo '</div>';
  16.      echo '<div class="quote_conteiner">';
  17.      echo '<a href="index.php">Далее</a><br/>';
  18.      echo '</div>';
  19.    }  
  20.   }
  21. }
  22. ///////
  23. include "footer.php";
  24. ///////
  25. ?>

подскажи кто имеет опыт в данной сфере, за ранее благодарен.
MadDen Отправлено: 01 Февраля, 2008 - 11:40:55 • Тема: Подскажите правильный запрос • Форум: Программирование на PHP

Ответов: 3
Просмотров: 244
новая проблема:
написал я чтобы в чате можно было редактировать сообщения пользователей работает но не так как надо ни могу разобраться в чём ошибка
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. session_start(); // стартуем сессию
  3. //
  4. include "conf.php"; // коннект к бд
  5. ///
  6. // страница реги
  7. ///
  8. include "header.php";
  9. ///////
  10. $result1 = "select admin from `users` where login='".$_SESSION['login']."'";
  11. $result = mysql_query($result1);
  12. $res = mysql_fetch_assoc($result);
  13.    if($res['admin']==1)
  14.   {
  15. if ( !empty( $_GET['login'] ) )
  16.    {
  17.     $login = $_GET['login'];
  18.    }
  19.     else
  20.    {
  21.     $login = $_SESSION['login'];
  22.    }
  23.     // Получаем данные из БД о сообщении
  24.    $query2 = "SELECT * FROM `mess` WHERE login='".$login."'";
  25.    $res2 = mysql_query( $query2 );
  26.    $user = mysql_fetch_array( $res2 );
  27.      // Если данные формы еще не отправлены
  28.   if ( !isset( $_POST['ok'] ) )
  29.    {
  30.    // Выводим форму
  31.     echo '<form name="room_edit" action="room_edit.php" method="post">';
  32.     echo '<div class="quote_conteiner">';
  33.     echo 'логин:<br/> <b>'.$user['login'].'</b>';
  34.     echo ''.date("[H:i] ",$user['ltime']);
  35.     echo '<br/>';
  36.     echo 'текст:<br/> <textarea name="msg" rows="3" type="text">'.$user['msg'].'</textarea>';
  37.     echo '</div>';
  38.     echo '<div class="quote_conteiner">';    
  39.     echo '<input type="submit" name="ok" value="Обновить">';
  40.     echo '</div>';
  41.     echo '</form>';
  42.     }
  43.  
  44.   else
  45.   {
  46.     // заносим в базу
  47.     $query = "UPDATE `mess` SET msg='".$_POST['msg']."' WHERE login='".$login."'";
  48.     mysql_query( $query );
  49.    
  50.     header( 'Refresh: 1; url=room.php' );
  51.     echo '<div class="quote_conteiner">';
  52.     echo 'Данные успешно обновленны.';
  53.     echo '</div>';    
  54.     echo '<div class="quote_conteiner">';
  55.     echo '<a href="room.php">Чат</a><br/>';
  56.     echo '</div>';  
  57.        }        
  58.   }
  59.    else
  60.   {
  61.    header( 'Refresh: 1; url=index.php' );
  62.    echo '<div class="quote_conteiner">';
  63.    echo 'Пшёл отсюдаго нах!';
  64.    echo '</div>';
  65.   }
  66. ///////
  67. include "footer.php";
  68. ///////
  69. ?>

Когда нажимаешь редактировать запись другово пользователя запись редактируется не у него а у меня у моего ника , думаю ошибка где-то в сессиях =( подскажите пожалуйсто
MadDen Отправлено: 01 Февраля, 2008 - 08:02:25 • Тема: Подскажите правильный запрос • Форум: Программирование на PHP

Ответов: 3
Просмотров: 244
мене нужен запрос в базу для определение логин который сейчас на сайте имеет права админа или нет: вот как яч пытался сделать:

PHP:
скопировать код в буфер обмена
  1. mysql_query("SELECT `users` SET `admin`='1' WHERE `login`='".$_SESSION['login']."'");
  2. If (!$_SESSION['login']==1)
  3. {
  4. echo '<div class="quote_conteiner">';
  5. echo '<a href="admin.php">Админка</a><br/>';
  6. echo '</div>';
  7. }
  8. else
  9. {
  10. echo 'Ты не админ!';
  11. }


И ничего не работает не вижу тут ошибки хотя чувствую =( подскажите как правильно
MadDen Отправлено: 31 Января, 2008 - 12:53:30 • Тема: Постраничный вывод • Форум: Программирование на PHP

Ответов: 3
Просмотров: 528
вот я сделал и почему то ошибка не могу понять где именно
PHP:
скопировать код в буфер обмена
  1.  // количество записей, выводимых на странице
  2.   $per_page=10;
  3.  
  4.   // получаем номер страницы
  5.   if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0;
  6.  
  7.   // вычисляем первый оператор для LIMIT
  8.   $start=abs($page*$per_page);
  9.   $zapros2 = "SELECT * FROM `mess` ORDER by `id`";  
  10.   $result2 = mysql_query($zapros2) or die('Невозможно сделать запрос');
  11.  
  12.   // составляем запрос и выводим записи
  13.   // переменную $start используем, как нумератор записей.
  14.   $q="SELECT * FROM `mess` LIMIT $start,$per_page";
  15.   $res=mysql_query($q) or die('Невозможно сделать запрос');
  16.  
  17.   $num = mysql_num_rows($result2);
  18.  
  19.   while ($row=mysql_fetch_array($res))
  20.        {
  21.          //echo ''.++$start.'';
  22.       echo '<div class="quote_conteiner">';      
  23.       echo ''.date("[H:i] ",$row['ltime']);      
  24.       echo '<a href="ank_r.php?login='.$row['login'].'"><b>'.$row['login'].'</b></a>:';
  25.      
  26.       echo ' '.$row['msg'].'';
  27.       echo '</div>';
  28.   }
  29.  
  30.   // дальше выводим ссылки на страницы:
  31.   $q="SELECT count(*) FROM `mess` ORDER by `id`";
  32.   $res=mysql_query($q) or die('Невозможно сделать запрос');
  33.   $row=mysql_fetch_row($res);
  34.   $total_rows=$row[0];
  35.  
  36.   $num_pages=ceil($total_rows/$per_page);
  37.  
  38.   for ($i=1;$i<=$num_pages;$i++)
  39.      {
  40.        if ($i-1 == $page)
  41.          {
  42.            echo $i." ";
  43.      } else {
  44.                echo '<a href="'.$_SERVER['PHP_SELF'].'&page='.$i.'">'.$i."</a> ";
  45.      }
  46.   }  
  47. ///

(Добавление)
вот ещё как сделал:
PHP:
скопировать код в буфер обмена
  1. // Постраничная навигация
  2.  
  3.    $query = "SELECT COUNT(*) FROM `mess` ORDER by `id`";
  4.    $tot = mysql_query($query);
  5.    $total = mysql_result($tot,0);
  6.    $number = intval(($total - 1) / $number_post) + 1;
  7.  
  8.    if($page != 1) $pervpage = '<a href='.$_SERVER[PHP_SELF].'?page=1><<</a>
  9.                               <a href='.$_SERVER[PHP_SELF].'?page='. ($page - 1) .'><</a> ';
  10.  
  11. // Проверяем нужны ли стрелки вперед
  12.  
  13.    if($page != $number) $nextpage = '<a href='.$_SERVER[PHP_SELF].'?page='. ($page + 1) .'>></a>
  14.                                     <a href='.$_SERVER[PHP_SELF].'?page=' .$number. '>>></a>';
  15.  
  16. // Находим две ближайшие станицы с обоих краев
  17.  
  18.    if($page - 2 > 0) $page2left = '<a href='.$_SERVER[PHP_SELF].'?page='. ($page - 2) .'>...'. ($page - 2) .'</a> | ';
  19.    if($page - 1 > 0) $page1left = '<a href='.$_SERVER[PHP_SELF].'?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
  20.    if($page + 2 <= $number) $page2right = ' | <a href='.$_SERVER[PHP_SELF].'?page='. ($page + 2) .'>'. ($page + 2) .'...</a>';
  21.    if($page + 1 <= $number) $page1right = ' | <a href='.$_SERVER[PHP_SELF].'?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
  22.  
  23.    echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage.'</p></td></tr></table>';

но вроде как я понял ошибка в фун-ии intval.
текст ошибки:
Warning: Division by zero in X:\home\localhost\www\t\room.php on line 43
___
з.ы. Пользуюсь денвером
(Добавление)
вот и проблема решена =)
PHP:
скопировать код в буфер обмена
  1. // Постраничная навигация
  2.    $queryset = "SELECT * FROM `mess`";  
  3.    $prtset = mysql_query($queryset);
  4.    $settings = mysql_fetch_array($prtset);
  5.  
  6.    if(empty($settings['number_post'])) $number_post = 10;
  7.    else $number_post = $settings['number_post'];
  8.  
  9.    $page = $_GET['page'];
  10.  
  11.    if(empty($page)) $page = 1;
  12.  
  13.    $begin = ($page - 1)*$number_post;
  14.    
  15.  
  16.    $result = mysql_query("SELECT * FROM `mess` ORDER by `ltime` desc LIMIT $begin, $number_post");
  17. if (!mysql_num_rows($result))
  18.    echo("Сообщений нет.");
  19. else
  20.  {
  21.    while($row=mysql_fetch_array($result))
  22.    {
  23.       echo '<div class="quote_conteiner">';      
  24.       echo ''.date("[H:i] ",$row['ltime']);      
  25.       echo '<a href="ank_r.php?login='.$row['login'].'"><b>'.$row['login'].'</b></a>:';
  26.      
  27.       echo ' '.$row['msg'].'';
  28.       echo '</div>';
  29.    };
  30.  }
  31.    
  32. // Постраничная навигация
  33.  
  34.    $query = "SELECT COUNT(*) FROM `mess` ORDER by `id`";
  35.    $tot = mysql_query($query);
  36.    $total = mysql_result($tot,0);
  37.    $number = intval(($total - 1) / $number_post) + 1;
  38.  
  39.    if($page != 1) $pervpage = '<a href='.$_SERVER[PHP_SELF].'?page=1><<</a>
  40.                               <a href='.$_SERVER[PHP_SELF].'?page='. ($page - 1) .'><</a> ';
  41.                                
  42. // Проверяем нужны ли стрелки вперед
  43.    if($page != $number) $nextpage = '<a href='.$_SERVER[PHP_SELF].'?page='. ($page + 1) .'>></a>
  44.                                     <a href='.$_SERVER[PHP_SELF].'?page=' .$number. '>>></a>';                                    
  45.  
  46. // Находим две ближайшие станицы с обоих краев
  47.    if($page - 2 > 0) $page2left = '<a href='.$_SERVER[PHP_SELF].'?page='. ($page - 2) .'>...'. ($page - 2) .'</a> | ';
  48.    if($page - 1 > 0) $page1left = '<a href='.$_SERVER[PHP_SELF].'?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
  49.    if($page + 2 <= $number) $page2right = ' | <a href='.$_SERVER[PHP_SELF].'?page='. ($page + 2) .'>'. ($page + 2) .'...</a>';
  50.    if($page + 1 <= $number) $page1right = ' | <a href='.$_SERVER[PHP_SELF].'?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
  51.  
  52.    echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage.'';
  53. ///

Спасибо всем, уважаю этот форум. Особенно кто на нём находится и помогает тким как я новичкам.
MadDen Отправлено: 31 Января, 2008 - 09:45:07 • Тема: Постраничный вывод • Форум: Программирование на PHP

Ответов: 3
Просмотров: 528
Подскажите как мне организовать нормальный не слишком сложный постраничный вывод по страницам.
Перерыл кучу информации ни чего не нашёл интересного и в общем то рабочего =(.
вот сам запрос в базу на вывод инфы из бд:
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM `mess` ORDER by `ltime` desc LIMIT 3");
  2. if (!mysql_num_rows($result))
  3.    echo("Сообщений нет.");
  4. else
  5.  {
  6.    while($row=mysql_fetch_array($result))
  7.    {
  8.       echo '<div class="quote_conteiner">';      
  9.       echo ''.date("[H:i] ",$row['ltime']);      
  10.       echo '<a href="ank_r.php?login='.$row['login'].'"><b>'.$row['login'].'</b></a>:';
  11.      
  12.       echo ' '.$row['msg'].'';
  13.       echo '</div>';
  14.    };
  15.  }


подскажите код пожалуйто, логику я понимаю но как писать не знаю =)
Логика такова что вместо limit 3 подставляется limit и переменные в которых записаны определённые значения. потом нужно методом гет разбить страницы у меня не получается это.
MadDen Отправлено: 28 Января, 2008 - 09:48:50 • Тема: Вычислить и вывести какой пользователь (именно) • Форум: Программирование на PHP

Ответов: 2
Просмотров: 305
проблема решена, всем спасибо =)
MadDen Отправлено: 28 Января, 2008 - 07:52:28 • Тема: Вычислить и вывести какой пользователь (именно) • Форум: Программирование на PHP

Ответов: 2
Просмотров: 305
Есть у меня главная где выводятся сообщения где указывается кто написал(логин) во сколько(время) написал и что написал(текст),
мене нужно сделать чтобы если кто нибуть нажимает на логин о ЭТОМ именно логине выводилась инфа из бд.
Весь вывод инфы я сделал не могу только сообразить как мене сделать чтобы с одной страницы где выводится логин передавался на другую
где о нем выводилась инфа, я не могу додуматься как можно это сделать.
з.ы. Скрипт работает на сессиях

страница где принимаются выводятся данные о юзере:
PHP:
скопировать код в буфер обмена
  1.    // Получаем данные из БД о пользователе
  2.     $query = "SELECT * FROM `users` WHERE login='".$_SESSION['login']."'";
  3.     $res = mysql_query( $query );
  4.     $user = mysql_fetch_array( $res );
  5.     //
  6.     echo '<div class="quote_conteiner">';
  7.     echo 'ID: '.$user['id'].'';
  8.     echo '<br/>';
  9.     echo 'Ник: '.$user['login'].'';
  10.     echo '<br/>';
  11.     echo 'Постов: '.$user['posts'].'';
  12.     echo '<br/>';
  13.     echo 'Имя: '.$user['name'].'';
  14.     echo '<br/>';
  15.     echo 'Пол: '.$user['sex'].'';
  16.     echo '<br/>';
  17.     echo 'Дата рождения: '.$user['bday'].'-'.$user['bmonth'].'-'.$user['byear'].'г.';
  18.     echo '<br/>';
  19.     echo 'О себе: '.$user['osebe'].'';
  20.     echo '<br/>';
  21.     //echo 'Пароль: '.$user['pass'].'';
  22.     //echo '<br/>';
  23.     echo '</div>';
  24.     echo '<div class="quote_conteiner">';
  25.     echo '<a href="index.php">Главная</a><br/>';
  26.     echo '</div>';


главная страница где выводятся сообщения добавленние пользователем(ями):

PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM `mess` ORDER by `ltime` desc LIMIT 3");
  2. if (!mysql_num_rows($result))
  3.    echo("Сообщений нет.");
  4. else
  5. {
  6.    while($row=mysql_fetch_array($result))
  7.    {
  8.       echo '---';
  9.       echo '<br/>';
  10.       echo 'Дата: '.date("[d/m]-(H:i:s)",$row['ltime']);
  11.       echo '<br/>';
  12.       echo 'Имя: <a href="ank_r.php"><b>'.$row['login'].'</b></a>';
  13.       echo '<br/>';
  14.       echo 'Текст: <i>'.$row['msg'].'</i>';
  15.       echo '<br/>';
  16.    };
  17. }
MadDen Отправлено: 27 Января, 2008 - 09:20:29 • Тема: немогу разобраться... • Форум: Программирование на PHP

Ответов: 14
Просмотров: 666
Спасибо в ошибках разобрался и понял их
MadDen Отправлено: 25 Января, 2008 - 12:20:58 • Тема: немогу разобраться... • Форум: Программирование на PHP

Ответов: 14
Просмотров: 666
PHP:
скопировать код в буфер обмена
  1. if ( isset( $_SESSION['login'] ) {
  2.   // Получаем данные из БД о пользователе
  3.   $query = "SELECT * FROM `users` WHERE login='".$_SESSION['login']."'";
  4.   $res = mysql_query( $query );
  5.   $user = mysql_fetch_array( $res );
  6.   // Если данные формы еще не отправлены
  7.   if ( !isset( $_POST['ok'] ) {
  8.     // Выводим форму
  9.     echo '<form name="anketa" action="anketa.php" method="post">';
  10.     echo '<b>Ваш ник:</b><br/> <input type="name" name="login" value="'.$user['login'].'">';
  11.     echo '<b>Ваш пароль:</b><br/> <input type="text" name="pass" value="'.$user['pass'].'">';
  12.     echo '<input type="submit" name="ok" value="Обновить">';
  13.     echo '</form>';
  14.   } else {
  15.     // Обновляем информацию о пользователе
  16.     $query = "UPDATE `users` SET login='".$_POST['login']."', pass='".$_POST['pass']."'
  17.    WHERE login='".$_SESSION['login']."'";
  18.     $_SESSION['login'] = $_POST['login'];
  19.   }
  20. } else {
  21.   header( 'Location: authForm.php' );
  22.   die();
  23. }


не работает так у меня скрипт, из-за $_POST['ok'] незнаю даж как это исправить, если вместо $_POST['ok'] писать empty($login) || empty($pass) а перед этим подставить $login=$_POST['login']; $pass=$_POST['pass']; то толку нету данные в бд не обновляются а так как ты написал не рабтает =( и я использую денвер как я смотрел там register_globals=OFF включен.
MadDen Отправлено: 24 Января, 2008 - 12:03:09 • Тема: немогу разобраться... • Форум: Программирование на PHP

Ответов: 14
Просмотров: 666
причём тут вообще $_POST['ok']
ошибка где-то в другом совершенно месте
MadDen Отправлено: 24 Января, 2008 - 01:37:22 • Тема: немогу разобраться... • Форум: Программирование на PHP

Ответов: 14
Просмотров: 666
как запрос в базу идёт мене без разницы я знаю что он не правильный и сделал бы нормальный, то что вы написали:
CODE (text):
скопировать код в буфер обмена
  1. <?php
  2. ///
  3. session_start(); // стартуем сессию
  4.  
  5. include "conf.php"; // коннект к бд
  6. ///анкета
  7. ///
  8. include "header.php";
  9. ///
  10.  
  11. If (!empty($_SESSION['login']))
  12. {
  13.  
  14. $login = $_SESSION['login'];
  15. $result = mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."'");
  16. $r = mysql_fetch_array($result);
  17.  
  18. if (empty($login) || empty($pass))
  19. {
  20. echo '<form name="anketa" action="anketa.php" method="post">';
  21. echo '<div class="quote_conteiner">';
  22. echo '<b>Ваш ник:</b><br/> <input type="name" name="login" value="'.$r['login'].'">';
  23. echo '</div>';
  24. echo '<div class="quote_conteiner">';
  25. echo '<b>Ваш пароль:</b><br/> <input type="text" name="pass" value="'.$r['pass'].'">';
  26. echo '</div>';
  27. echo '<div class="quote_conteiner">';
  28. echo '<input type="submit" name="ok" value="Обновить">';
  29. echo '</div>';
  30. echo '</form>';
  31. echo '<div class="quote_conteiner">';
  32. echo '<a href="index.php">Главная</a><br/>';
  33. echo '</div>';
  34. exit();
  35. }
  36.  
  37. else
  38. mysql_query("UPDATE `users` SET login='".mysql_escape_string($login)."', pass='".mysql_escape_string ($password)."' WHERE login='".$login."' AND pass='".$pass."';");
  39. {
  40. echo 'Данные успешно обновлены';
  41. }
  42.  
  43. }
  44.  
  45. else
  46. {
  47. echo 'Иди отсюдаго';
  48. }
  49.  
  50. ///
  51. include "footer.php";
  52. ///
  53.  
  54. ?>

а именно не передаются данные из формы далее чтобы записаться в базу
MadDen Отправлено: 23 Января, 2008 - 16:35:12 • Тема: немогу разобраться... • Форум: Программирование на PHP

Ответов: 14
Просмотров: 666
Dastar пишет:
Блин, я тупица.
А что именно вы хотите обновлять?
Вы даете задание базе данных:
ОБНОВИТЬ ГДЕ логин=логин И пароль=пароль.
Программа не должна и не может сама решать что обновлять и где.

Ну это то я понимаю что она не может обновлять данные не откуда их не взяв!
НО ОНИ ЖЕ БЕРУТСЯ ИЗ ФОРМЫ:
CODE (text):
скопировать код в буфер обмена
  1. echo '<form name="anketa" action="anketa.php" method="post">';
  2. echo '<div class="quote_conteiner">';
  3. echo '<b>Ваш ник:</b><br/> <input type="name" name="login" value="'.$r['login'].'">';
  4. echo '</div>';
  5. echo '<div class="quote_conteiner">';
  6. echo '<b>Ваш пароль:</b><br/> <input type="text" name="pass" value="'.$r['pass'].'">';
  7. echo '</div>';
  8. echo '<div class="quote_conteiner">';
  9. echo '<input type="submit" name="ok" value="Обновить">';
  10. echo '</div>';
  11. echo '</form>';
  12. echo '<div class="quote_conteiner">';
  13. echo '<a href="index.php">Главная</a><br/>';
  14. echo '</div>';

и должны передаваться дальше, но почему то не передаются, вот я и хочу узнать причину
MadDen Отправлено: 23 Января, 2008 - 16:28:43 • Тема: немогу разобраться... • Форум: Программирование на PHP

Ответов: 14
Просмотров: 666
убрал цикл я подумал зачем тут он нужен для вывода одних данных...
теперь код такой:
CODE (text):
скопировать код в буфер обмена
  1. <?php
  2. ///
  3. session_start(); // стартуем сессию
  4.  
  5. include "conf.php"; // коннект к бд
  6. ///анкета
  7. ///
  8. include "header.php";
  9. ///
  10.  
  11. If (!empty($_SESSION['login']))
  12.     {
  13.    
  14. $login = $_SESSION['login'];
  15. $result = mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."'");
  16. $r = mysql_fetch_array($result);
  17.    
  18.   if (empty($login) || empty($pass))
  19.   {
  20.   echo '<form name="anketa" action="anketa.php" method="post">';
  21.   echo '<div class="quote_conteiner">';
  22.   echo '<b>Ваш ник:</b><br/> <input type="name" name="login" value="'.$r['login'].'">';
  23.   echo '</div>';
  24.   echo '<div class="quote_conteiner">';
  25.   echo '<b>Ваш пароль:</b><br/> <input type="text" name="pass" value="'.$r['pass'].'">';
  26.   echo '</div>';
  27.   echo '<div class="quote_conteiner">';
  28.   echo '<input type="submit" name="ok" value="Обновить">';
  29.   echo '</div>';
  30.   echo '</form>';
  31.   echo '<div class="quote_conteiner">';
  32.   echo '<a href="index.php">Главная</a><br/>';
  33.   echo '</div>';
  34.   exit();
  35.   }
  36.  
  37.   else
  38.   mysql_query("UPDATE * FROM `users` WHERE `login`='".$login."' AND `pass`='".$pass."'");
  39.   {
  40.   echo 'Данные успешно обновлены';
  41.   }
  42.  
  43.     }
  44.    
  45.    else
  46.    {
  47.    echo 'Иди отсюдаго';
  48.    }
  49.  
  50. ///
  51. include "footer.php";
  52. ///
  53.  
  54. ?>

данные не передаются из форм скорее всего я думаю из-за сессий,
подскажите пожалуйста как решить данную проблему?...

(Добавление)
Dastar пишет:
Ты кодируешь пароли в базе данных?
(функция md5() и иму подобные?)

нет я его вообще ещё ни чем не кодирую ... он просто лежит в базе и всё... (кодировать позже буду нужно сначало систему построить)
MadDen Отправлено: 23 Января, 2008 - 12:44:48 • Тема: немогу разобраться... • Форум: Программирование на PHP

Ответов: 14
Просмотров: 666
вроде по смыслу всё продумал а не хотят данные передоваться в бд вот листинг:
CODE (text):
скопировать код в буфер обмена
  1. <?php
  2. ///
  3. session_start(); // стартуем сессию
  4.  
  5. include "conf.php"; // коннект к бд
  6. ///анкета
  7. ///
  8. include "header.php";
  9. ///
  10.  
  11. If (!empty($_SESSION['login']))
  12.    {
  13.  
  14.  
  15. $login = $_SESSION['login'];
  16. $result = mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."'");
  17.  
  18.  while ($r = mysql_fetch_array($result))
  19.   {
  20.   if (empty($login) || empty($pass))
  21.   {
  22.   echo '<form name="anketa" action="anketa.php" method="post">';
  23.   echo '<div class="quote_conteiner">';
  24.   echo '<b>Ваш ник:</b><br/> <input type="name" name="login" value="'.$r['login'].'">';
  25.   echo '</div>';
  26.   echo '<div class="quote_conteiner">';
  27.   echo '<b>Ваш пароль:</b><br/> <input type="text" name="pass" value="'.$r['pass'].'">';
  28.   echo '</div>';
  29.   echo '<div class="quote_conteiner">';
  30.   echo '<input type="submit" name="ok" value="Обновить">';
  31.   echo '</div>';
  32.   echo '</form>';
  33.   echo '<div class="quote_conteiner">';
  34.   echo '<a href="index.php">Главная</a><br/>';
  35.   echo '</div>';
  36.   exit();
  37.  
  38.    if (mysql_query("UPDATE * FROM `users` WHERE `login`='".$login."' AND `pass`='".$pass."'"))
  39.    {
  40.    echo 'Данные успешно обновлены';
  41.    }
  42.  
  43.   }
  44.   };
  45.   }
  46.    
  47.    else
  48.    {
  49.    echo 'Иди отсюдаго';
  50.    }
  51.  
  52. ///
  53. include "footer.php";
  54. ///
  55.  
  56. ?>


нужно чтобы вновь введённые данные обновлялись в бд заменяя старые.
По смыслу вроде всё продумал но данные даже не хотят передоваться дальше скорее всего где-то ошибка в сессиях вернее с сесиями и методом пост, подскажите как решить данную проблему на наглядном примере.
MadDen Отправлено: 23 Января, 2008 - 08:24:35 • Тема: Вывод нескольких данных из бд • Форум: Программирование на PHP

Ответов: 4
Просмотров: 294
спасибо большое помагло =)

Страниц (4): « 1 [2] 3 4 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB