Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите срочно, незнаю даже как назвать

 PHP.SU

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


 Страниц (1): [1]   

> Без описания
startdreamer
Отправлено: 02 Июля, 2011 - 02:26:33
Post Id



Гость


Покинул форум
Сообщений всего: 68
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




я новичек в пхп,
вообщем хотел бы узнать как сделать такую штуку
есть страница page.php
а как сделать так чтобы формировались такие страницы как page.php?login=nickname
вот есть уже _likeday.jino.ru/page?id=39
а как сделать с лоигном так и не понял, да и с идом я не понял как сделать !!!
помогите пожалуйста срочноооо !!!

(Отредактировано автором: 02 Июля, 2011 - 02:27:09)

 
 Top
PATCH
Отправлено: 02 Июля, 2011 - 03:02:25
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




CODE (html):
скопировать код в буфер обмена
  1. <a href='page?login=$nickname&id=$id'>$title</a>


$nickname - берем с БД (или с сессии не совсем понел что ты хочеш сделать)
$id,title = берем с бд с таблицы со страничками.

допустим у нас есть таблица page столбцы id(auto_increment) title,text
id = индификатор
title = название страницы
text = текст страницы
PHP:
скопировать код в буфер обмена
  1. <?
  2. //запрос к бд
  3.  
  4. $ref = mysql_query("SELECT id,title FROM page");
  5. $row = mysql_fetch_array ($ref);
  6. $nickname = "Sergei";
  7.  
  8. //вывод в цикле (не совсемя понел что ты хотел так что вот так)
  9. do
  10. {
  11. echo"<a href=page?login=".$nickname."&id=".$row[id].">".$row ['title']."</a>";
  12. }
  13. while ($row = mysql_fetch_array ($ref));
  14.  
  15. //
  16. //вывод в цикле (так бы я вывел еслиб мне надо было выводить с бд динамическую страницу
  17. do
  18. {
  19. echo"<a href=page?lid=".$row[id].">".$row ['title']."</a>";
  20. }
  21. while ($row = mysql_fetch_array ($ref)); ?>
  22.  
  23.  
  24.  ?>
  25.  
  26.  
  27.  
  28.  


вообщее непойму нафиг тебе логин? чем меньше строка в урл тем лучше
совет для того что бы реализовать задачу надо знать что реализовываеш) вот зачем тебе логин? редактировать данные пользователя? тут можно так же по id выводить обращаясь к таблице пользователей

(Отредактировано автором: 02 Июля, 2011 - 03:13:08)

 
 Top
startdreamer
Отправлено: 02 Июля, 2011 - 08:23:34
Post Id



Гость


Покинул форум
Сообщений всего: 68
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




мне не совсем это надо, мне нужно как сделать, чтобы если заходишь, например на страничу, site.ru/page.php?login=nickname, то отображает страницу с данными об этом пользователи, а если никнейм другой, то данные от другого юзера
 
 Top
Саныч
Отправлено: 02 Июля, 2011 - 09:28:10
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




startdreamer пишет:
мне не совсем это надо, мне нужно как сделать, чтобы если заходишь, например на страничу, site.ru/page.php?login=nickname, то отображает страницу с данными об этом пользователи, а если никнейм другой, то данные от другого юзера
ну так и сделайте... Передаете GET-ом логин, затем вытаскиваете с базы (ну или не с базы) инфу о пользователе у которого логин раве вашему. Ну и показываете все это дело... Что туту такого сложного, я не пойму...


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
PATCH
Отправлено: 02 Июля, 2011 - 13:19:18
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




зачем логин то передавать? если можно id пользователя? id собствено для того и создан что бы индифицировать что то и бо логин может быть состоять как из символов русского языка так и латинского плюс если нету ограничений логин может быть типа {RAZOR} т.е с иными символами (я лично такое при регистрации не допускаю) , ведь проще проверить nav_user.php

CODE (html):
скопировать код в буфер обмена
  1.  
  2. //форма поиска
  3.    <div>Введите ник</div>
  4.     <form action="user.php" method="get">
  5.     <input name="search" type="text" size="10" maxlength="255">
  6.     <input name="search_sub" type="submit" value="Поиск">
  7.     </form>

user_form.php
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. //форма редактирования
  3. <form action="user.php" method="POST">
  4.  <table>
  5.   <tr>
  6.     <td ><a class="login_user">Логин:</a><input name="login" type="text" value="<?=$user_row1['login'];?> "></td>
  7.   </tr>
  8.   <tr>
  9.     <td><a class="nick_user">Ник  : </a> <input name="nick" type="text" value="<?=$user_row1['nick'];?> "></td>
  10.   </tr>
  11.   <tr>
  12.     <td><a class="email_user">Email: </a><input name="email" type="text" value="<?=$user_row1['email'];?> "></td>
  13.   </tr>
  14.   <tr>
  15.     <td><a class="password_user">Пароль: </a><input name="password" type="text" value="<?=$user_row1['password'];?> "></td>
  16.   </tr>
  17. </table>
  18. <input name="id" type="hidden" value="<?=$id; ?>">
  19. <p><input name="add_user_submit" type="submit" value="Изменить"></p>
  20.  </form>  
  21.  


user.php

PHP:
скопировать код в буфер обмена
  1.        
  2. //наш сценарий
  3. //подключаем форму поиска
  4. include("nav_user.php");
  5. //проверяем нажата ли кнопка
  6.         if(isset($_GET['search_sub']))
  7.         {
  8.                 $search = $_GET['search'];
  9. //пустая ли переменая
  10.                 if(empty($search ) )
  11.                         {exit("<p class='main_text'>Вы не заполнели все поля</p>");}
  12.  
  13. // проверяем переменые на различного рода инъекции
  14.        
  15.                 $search = mysql_escape_string($search); $search= trim($search);$search= stripslashes($search);$search= htmlspecialchars($search);
  16. //проверку сделали теперь делаем выборку с логином или ником удволетворяещему нашему запросу
  17.                 $user_res = mysql_query ("SELECT id,login FROM user WHERE login LIKE'$search' or nick LIKE '$search'  ORDER by id DESC");
  18.                 $user_row = mysql_fetch_array($user_res);
  19.  //сначала выводим в цикле всех пользователей что нашли в запросе и делаем ссылку с индификатором для того что бы передать кого будем редактировать
  20.                 do{printf ("<div><a href='user.php?id=%s'>%s</a></div>",$user_row['id'],$user_row['login']);}
  21.                 while ($user_row = mysql_fetch_array($user_res));
  22.         }
  23. //если пользователь нашелся мы клацнули на ссылку и передали индификатор               
  24.         if(isset($_GET['id']))
  25.         {
  26.                 $id = $_GET['id'];
  27. //является ли $id числом
  28.                 if (preg_match('/^[0-9]{0,10000}$/i',$id)) {} else {exit("Попытка взлома");}
  29.                 //делаем выборку с бд всего того что будем редактировать в пользователе
  30.                 $user_info = mysql_query ("SELECT * FROM user WHERE id='$id'");
  31.                 $user_row1 = mysql_fetch_array($user_info);
  32.                 //подключаем форму
  33.                 include("user_form.php");
  34.                
  35.         }
  36. //если кнопка нажата то делаем следующее
  37.         if(isset($_POST['add_user_submit']))
  38.         {//опять проверка id
  39.                 if(isset($_POST['id'])) {$id = $_POST['id'];}
  40.                 else {exit("Попытка взлома");}
  41.                
  42.                 //проверка существование всех переменых
  43.                 if(isset($_POST['login']) && isset($_POST['nick'])  && isset($_POST['email']) &&  isset($_POST['password']) && isset($_POST['id_party']))
  44.                 {
  45.                         $login = $_POST['login'];
  46.                         $nick = $_POST['nick'];
  47.                         $email =$_POST['email'];
  48.                         $password = $_POST['password'];
  49.          
  50.                         //проверка проверяем не пустые ли переменые
  51.                         if(empty($login) or empty($nick)  or empty($password) or empty($email))
  52.                         {exit("<p class='main_text'>Вы не заполнели все поля</p>");}
  53.                        
  54. //проверка на предотвращение инъекций
  55.          
  56.                         $login = mysql_escape_string($login);
  57.                         $nick = mysql_escape_string($nick);
  58.                         $email = mysql_escape_string($email);
  59.                         $password = mysql_escape_string($password);
  60.  
  61.                         $login= trim($login);$login= stripslashes($login);$login= htmlspecialchars($login);
  62.                         $password = trim($password);$password= stripslashes($password);$password= htmlspecialchars($password);
  63.                         $email = trim($email);$email= stripslashes($email);$email= htmlspecialchars($email);
  64.                         $nick = trim($nick);$nick= stripslashes($nick);$nick= htmlspecialchars($nick);
  65.                        
  66. //проверка на то что нету таких же логинов, емайлов, ников
  67.                           $prov1 = mysql_query ("SELECT id  FROM user WHERE login = '$login' && id!='$id'");
  68.                           $prov1_rows = mysql_num_rows ($prov1);
  69.                           if($prov1_rows>0)
  70.                           {exit("такой логин уже существует");}
  71.                           $prov2 = mysql_query ("SELECT id  FROM user WHERE nick = '$nick' && id!='$id'");
  72.                           $prov2_rows = mysql_num_rows ($prov2);
  73.                           if($prov2_rows>0)
  74.                           {exit("такой ник уже существует");}
  75.                           $prov3 = mysql_query ("SELECT id  FROM user WHERE email = '$email' && id!='$id'");
  76.                           $prov3_rows = mysql_num_rows ($prov3);
  77.                           if($prov3_rows>0)
  78.                           {exit("такой емайл уже существует");}
  79.                
  80. //если все гуд то обновляем информацию в бд о пользователе
  81.                         $user_res1 = mysql_query ("UPDATE user SET login='$login', password='$password', nick='$nick', email='$email' WHERE id='$id'");
  82.                         if($user_res1 >0) {echo "Пользователь успешно обновлен ";}
  83.                         else {echo("ошибка бд не доступно в данный момент");}
  84.                        
  85.                 }
  86.                 else {exit("ошибка переменые не существуют");}
  87.                
  88.         }      



разжувал как мог) сиди разбирайся новичку оч полезно особено с коментариями

(Отредактировано автором: 02 Июля, 2011 - 13:27:02)

 
 Top
startdreamer
Отправлено: 03 Июля, 2011 - 08:59:56
Post Id



Гость


Покинул форум
Сообщений всего: 68
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




спасибо огрнмое, будет что почитаь Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB