PHP.SU

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

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

> Найдено сообщений: 34
ЯД Отправлено: 20 Февраля, 2008 - 11:22:22 • Тема: Сессия • Форум: Программирование на PHP

Ответов: 6
Просмотров: 640
Вот часть скрипта авторизации, в других скриптах просто стартует сессия и проверяется наличие $_SESSION['user_id'].
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include ('mysql.php');
  3. if (isset($_GET['logout']))
  4. {
  5.         if (isset($_SESSION['user_id']))
  6.                 unset($_SESSION['user_id']);
  7.                
  8.         // и переносим его на главную
  9.         header('Location: index.php');
  10.         exit;
  11. }
  12.  
  13. if (isset($_SESSION['user_id']))
  14. {
  15.         // юзер уже залогинен, перекидываем его отсюда на закрытую страницу
  16.         header("Location:closed.php?id=".$_SESSION['user_id']);
  17.         exit;
  18. }
  19.  
  20. if (!empty($_POST))
  21. {
  22.         $email = (isset($_POST['email'])) ? mysql_real_escape_string($_POST['email']) : '';
  23.        
  24.         $query = "SELECT `salt`
  25.                                 FROM `users`
  26.                                 WHERE `email`='{$email}'
  27.                                 LIMIT 1";
  28.         $sql = mysql_query($query) or die(mysql_error());
  29.        
  30.         if (mysql_num_rows($sql) == 1)
  31.         {
  32.                 $row = mysql_fetch_assoc($sql);
  33.                
  34.                 // итак, вот она соль, соответствующая этому логину:
  35.                 $salt = $row['salt'];
  36.                
  37.                 $password = md5(md5($_POST['password']) . $salt);
  38.                
  39.  
  40.                 $query = "SELECT `id`
  41.                                         FROM `users`
  42.                                         WHERE `email`='{$email}' AND `password`='{$password}'
  43.                                         LIMIT 1";
  44.                 $sql = mysql_query($query) or die(mysql_error());
  45.  
  46.                 // если такой пользователь нашелся
  47.                 if (mysql_num_rows($sql) == 1)
  48.                 {
  49.  
  50.                         $row = mysql_fetch_assoc($sql);
  51.                         $_SESSION['user_id'] = $row['id'];
  52.                         $_SESSION['email']= $row['email'];
  53.                        
  54.                         $time = 86400; // ставим куку на 24 часа
  55.                        
  56.                         if (isset($_POST['remember']))
  57.                         {
  58.                                 setcookie('email', $email, time()+$time, "/");
  59.                                 setcookie('password', $password, time()+$time, "/");
  60.                         }
  61.  
  62.                        
  63.                         header("Location:closed.php?id=".$_SESSION['user_id']);
  64.                         exit;
ЯД Отправлено: 20 Февраля, 2008 - 10:29:51 • Тема: Сессия • Форум: Программирование на PHP

Ответов: 6
Просмотров: 640
Люди, у меня такая проблема. Когда мой сайт находится на Windows сервере, все хорошо сессия держится и не слетает, но на Linux сервере сессия слетает постоянно!
Подскажите как исправить данное неудобство!
ЯД Отправлено: 14 Февраля, 2008 - 17:01:38 • Тема: SQL запросы • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 56
Подскажите в чем ошибка. SUBSTRING('letter',0,10) - не выводит ничего.
PHP:
скопировать код в буфер обмена
  1. $query=mysql_query("SELECT SUBSTRING('letter',0,10), `tems`,`id_otp`
  2.                   FROM `letters` WHERE `id_pol`='{$_SESSION[user_id]}'
  3.                   ORDER BY id DESC");
ЯД Отправлено: 14 Февраля, 2008 - 10:07:58 • Тема: SQL запросы • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 56
У меня есть столбец `letter` каждая ячейка которого содержит большой текст, есть ли запрос который выводил бы не все содержимое ячейки, а допустим только первые 10 символов?
И еще вопросик. У меня есть две таблицы `users` и `letters` . Как выглядит запрос с таким условием:
Вывести login из таблицы users если id_otp из таблици letters равно id из таблицы users.
Заранее спасибо!
ЯД Отправлено: 12 Февраля, 2008 - 15:15:56 • Тема: Опять мучаю изображения • Форум: Программирование на PHP

Ответов: 3
Просмотров: 424
Ну возможно я лоханулся с написанием этого скрипта, а как тогда мне вывести в измененном масштабе ту картинку которую я загрузил.
Цитата:
Ты создаешь пустое изображение и выводишь его в браузер

Мой скрипт выводит ведь не всегда одинаковый черный квадрат, он масштабирует загруженную картинку, выводит ее в правильном размере, но само изображение закрашивает черным!
Как тогда сделать правильно???
ЯД Отправлено: 12 Февраля, 2008 - 13:25:56 • Тема: Опять мучаю изображения • Форум: Программирование на PHP

Ответов: 3
Просмотров: 424
PHP:
скопировать код в буфер обмена
  1. <?PHP  
  2. if (isset($_POST['go'])){
  3. // Каталог, в который мы будем принимать файл  
  4. $uploaddir = "./files/tets/";  
  5. $uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);  
  6.  
  7. // Копируем файл из каталога для временного хранения файлов:  
  8. if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile))
  9. {
  10. $fn="./files/tets/".$_FILES['uploadfile']['name'];
  11. $w=200;  
  12. $q=90;
  13. $w_src=imagesx($src);
  14. $h_src=imagesy($src);
  15. header("Content-type:image/jpeg");
  16. if ($w_src != $w)  
  17. {
  18. $ratio=$w_src/$w;
  19. $w_dest=round($w_src/$ratio);
  20. $h_dest=round($h_src/$ratio);
  21. $dest=imagecreatetruecolor($w_dest,$h_dest);
  22. imagejpeg($dest,'',$q);
  23. }
  24. else
  25. {
  26. echo "YES";
  27. }
  28. }
  29. else  
  30. {
  31. echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>";
  32. }
  33. }
  34. echo "<form enctype='multipart/form-data' form action='".$PHP_SELF."' method='POST'>";  
  35. echo "<tr><td>Загрузить фото:</td><td><input type='file' name='uploadfile'></td></tr>";
  36. echo "<tr><td colspan='2'><input type='submit' name='go' value='Загрузить'></form>";
  37. ?>  


Все было бы у меня в этом скрипте нормально, но вот одна проблема. При выводе изображения на экран я вижу черный прямоугольник, или квадрат Малевича! А хотелось бы видеть цветную картинку! Подскажите в чем беда!? Можете посмотреть этот скрипт в действии: yadpunk.gorod0k.ru/test_foto.php
ЯД Отправлено: 10 Февраля, 2008 - 23:25:22 • Тема: Запрос SQL • Форум: SQL и Архитектура БД

Ответов: 1
Просмотров: 35
У меня есть две таблици:
users:
id |login | email | password |
22 |yad |yad@mail.ru|000000 |
23 |ddt |ddt@mail.ru|000007 |

и таблица
letter
id |id_otp |id_pol |letter |
8 |22 |55 | text |
...
Подскажите как мне осуществить вывод login из таблици users с условием id_otp(табл letter) = id(табл users)???
ЯД Отправлено: 09 Февраля, 2008 - 20:53:11 • Тема: Вывод изображения • Форум: Программирование на PHP

Ответов: 4
Просмотров: 482
Я пытаюсь вывести на экран браузера изображение, а получаю кучу непонятных символов.
CODE (text):
скопировать код в буфер обмена
  1. ...
  2. $fn='./files/3/2.jpeg';
  3. $image=ImageCreateFromJpeg($fn);
  4. header("Content-type:image/jpeg");
  5. imagejpeg($image);
  6. imageDestroy($image);
  7. ...

Подскажите, что не так?
ЯД Отправлено: 07 Февраля, 2008 - 17:53:36 • Тема: Вывод сообщений • Форум: Программирование на PHP

Ответов: 2
Просмотров: 302
Спасибо.
Уже читаю!
ЯД Отправлено: 07 Февраля, 2008 - 17:47:22 • Тема: Вывод сообщений • Форум: Программирование на PHP

Ответов: 2
Просмотров: 302
Скажите, каким способом можно выводить сообщения из базы в обратном порядке, так чтобы новое вставало на первое, а не на последнее место
CODE (text):
скопировать код в буфер обмена
  1. . . .
  2. $query=mysql_query("SELECT `id_otp`,`tems`,`letter`
  3.                    FROM `letter`
  4.                    WHERE `id_pol`='{$_SESSION['user_id']}'") or die (mysql_error());
  5. echo "<table height width='40%' ><tr><td align='center'>";
  6. while ($res=mysql_fetch_array($query)) {
  7. echo "<b>От:</b>&nbsp;".$res['id_otp'].
  8. "<br><b>Тема:</b>&nbsp;".$res['tems'].
  9. "<br><b>Письмо:</b><br>".$res['letter']."<hr>";
  10. }
  11. . . .
ЯД Отправлено: 06 Февраля, 2008 - 18:01:00 • Тема: Нужен совет • Форум: Корзина

Ответов: 1
Просмотров: 1950
У меня такая проблема. В html форме есть список стран:
CODE (text):
скопировать код в буфер обмена
  1. . . .
  2. echo "<tr><td>Страна:</td><td><select name='country' size='1'>
  3. <option   value='nil'>- Выберите страну -</option>
  4. . . .
  5. <option   value='7'>Грузия</option>
  6. <option   value='8'>Израиль</option>
  7. <option   value='9'>США</option>
  8. <option   value='10'>Канада</option>  
  9. <option   value='11'>Кыргызстан</option>
  10. <option   value='12'>Латвия</option>
  11. <option   value='13'>Литва</option>
  12. . . .

Нужно сделать так, что бы стране которая ранее пользователем была выбрана присваивался атрибут selected. Я смог придумать лишь одно решение своей проблемы:
CODE (text):
скопировать код в буфер обмена
  1. . . .
  2. echo "<tr><td>Страна:</td><td><select name='country' size='1'>";
  3. . . .
  4. echo<option   value='1'"; if ($result['country'] == 1) {echo"selected>Россия</option>";} else {echo">Россия</option>";}
  5. echo "<option   value='2'"; if ($result['country'] == 2) {echo"selected>Украина</option>";} else {echo">Украина</option>";}
  6. . . .
  7.  

Но это решение убивает кучу времени , есть ли другой способ???
ЯД Отправлено: 05 Февраля, 2008 - 16:59:24 • Тема: Личка • Форум: Программирование на PHP

Ответов: 8
Просмотров: 484
Цитата:
Для начала переадресацию на страничка.рнр делаешь так:
Header("Location: strani4ka.php?id=".$id);

А потом на этой самой strani4ka.php получаешь через гет этот id ($_GET['id']) и ищешь этот id в базе, после чего выводишь нужную информацию.
Для просмотра чужой странички, просто сравниваешь. Если id полученный через ГЕТ равен тому, что сохранен в сессии, то даешь право на редактирование.

Спасибо большое, я еще не пробовал твой метод, но он мне кажется вполне рабочим.
ЯД Отправлено: 05 Февраля, 2008 - 16:27:11 • Тема: Личка • Форум: Программирование на PHP

Ответов: 8
Просмотров: 484
Ну например я знаю id своего друга и мне достаточно его просто вбить на место своего и я попаду на его страницу, посмотрю его данные (но без прав на изменение).
ЯД Отправлено: 05 Февраля, 2008 - 16:03:17 • Тема: Личка • Форум: Программирование на PHP

Ответов: 8
Просмотров: 484
У меня написана и регистрация и авторизация, и при авторизации пользователь попадает на страницу где написано "ПРИВЕД $SESSION['user']".
Это все понятно, а вот как сделать так чтобы адресс его странички был такой:
test.ru/id этого пользователя;
а не такой как щас:
test.ru/stranichka.php
ЯД Отправлено: 05 Февраля, 2008 - 11:39:34 • Тема: Личка • Форум: Программирование на PHP

Ответов: 8
Просмотров: 484
Люди помогите, найти материал. Мне нужно создать такую штуку.
При авторизации пользователь вводит свой емаил и пароль и должен перейти на свою личную страницу.
Например Email: yad@mail.ru
Пароль:000000
Его данные находятся в таблице со значением id 215 и он должен перейти на страницу sait.ru/id=215
Подскажите где можно почитать про это и если можно ссылочку дайте на пример такого сценария.
Спасибо.

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB