PHP.SU

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

Страниц (8): « 1 2 3 4 5 6 7 [8]

> Найдено сообщений: 112
andre Отправлено: 03 Ноября, 2012 - 15:20:05 • Тема: оформление диолога в php • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 45
Stivir пишет:
Чего тут сложного ?
PHP:
скопировать код в буфер обмена
  1. echo "тут любые символы)";



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

у меня сообщения в форуме выводятся как таблицы,у которых четко задана высота и ширина. к примеру пользователь отправил сообщение на форум.но тут он забывает дописать немер мобильного.пишет он 11 цифр и отправляет.высота таблицы в котором отображаются сообщения 100px. получается что место на странице пропадает зря.
нашел один форум,где есть отображаемые сообщения,расчитанные на подобный случай.пользователь так же пишет сообщения,отправляет на стену,тут он вспоминает ,что забыл дописать пру символов. дописывает и отправляет.на форуме последнее отправленное сообщение отображается так, В ОДНОЙ ТАБЛИЦЕ РАЗДЕЛЕНОЙ
- - - - таким символом.
______________
сообщение1
- - - - - -
сообщение 2
______________


но такое только возможно,когда после такого сообщения пользователя никто больше не писал.
andre Отправлено: 02 Ноября, 2012 - 14:37:11 • Тема: оформление диолога в php • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 45
видел в одном форуме ,где пользователь оставляет свое сообщение на форуме,но если что то хочет дописать то создается не новая таблица,а под прошлым пердложением идет такая строка------- а прямо под ней дописанное предложние.но это дйствует до тех пор,пока какой-нибудь другой пользователь не успеет напечать свое сообщение
т.е.
-------------------------------- -------------------------------- -- | У МЕНЯ ВОТ ТАК
| | СООБЩЕНИЯ ОТ СЫЛАЮТСЯ
|пользователь Сергей| привет. | |
-------------------------------- -------------------------------- -- |
-------------------------------- -------------------------------- -- |
|пользователь Сергей| Как дела? |
-------------------------------- -------------------------------- --



А нужно вот так

-------------------------------- -------------------------------- --
|
|пользователь Сергей| привет. |
- - - - |
Как Дела? |
-------------------------------- -------------------------------- --

Какие функции придется имспользовать ?громоздкий ли код получится?.в общем я догадываюсь как это сделать теоретически,но нужно перевести в язык php
(Добавление)
Блин, криво отослалось.
andre Отправлено: 01 Ноября, 2012 - 16:39:09 • Тема: проблема с отправлением сообщения на php • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 44
NoPaper ,спасибо огромное,все работает))
andre Отправлено: 01 Ноября, 2012 - 11:17:47 • Тема: проблема с отправлением сообщения на php • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 44
NoPaper пишет:
В начале страницы генерируй случайную фразу ( $uid = md5(rand(10,1000)); )
Добавь к форме скрытое поле со значением $uid
К сессии добавляй $_SESSION['uid'] = $uid;

При добавлении данных сравнивай полученные данные, если $_POST['uid'] == $_SESSION['uid'], то сообщение записывается в бд.

Главное, чтобы в скрипте изменение $_SESSION['uid'] было после сравнения $_POST['uid'] == $_SESSION['uid']





Я правильно понял,что нужно сделать так
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP session_start();
  3. include("db.php");
  4.  
  5. $uid = md5(rand(10,1000));
  6.  
  7. if ( $_POST['addcom']!= "")
  8. {
  9.  $_SESSION['uid'] = $uid;
  10. бла
  11. бла
  12. бла
  13.  
  14. if($error2=='' AND strlen($name2)<150 AND $_POST['uid'] == $_SESSION['uid'])
  15.  
  16. {
  17. $date=date("Y-m-d H:i:s");
  18. $_POST['text']= str_replace("\r\n", "<br>", $_POST['text']);
  19.  mysql_query("INSERT INTO `podtema` (`id` ,`idmes` ,`podidnomer` ,`us`,`text`,`k`,`time`,`ip`,`uid` ) VALUES('{$_POST['podid']}','{$_POST['idmes']}', '{$_POST['podidnomer']}', '{$_POST['poduser']}', '{$_POST['text']}', '{$_POST['k']}', '{$date}', '{$_POST['ip']}', '{$_POST['uid']}')")or die("Invalid query: " . mysql_error());
  20. echo'<script>location.replace("index.php?podrazd='.$GET['id'].'");</script>';
  21. }
  22.  


CODE (html):
скопировать код в буфер обмена
  1.  
  2. бла
  3. <input type="hidden" name = "ip" value="<? echo $_SERVER['REMOTE_ADDR'];?>">
  4. <input type="hidden" name = "uid" value="<? echo $_SESSION['uid'];?>">
  5. <tr><td><textarea name= "text" cols="35" rows="5" > </textarea></td></tr>
  6. бла
  7.  


Сделал так,но у меня даже при отправлении сообщения в базу ничего не записывается
andre Отправлено: 01 Ноября, 2012 - 11:01:14 • Тема: ограничение на 24 часа • Форум: Напишите за меня, пожалуйста

Ответов: 1
Просмотров: 27
пишу форум,теперь хочу сделать ограничение добавление тем пользователя на 24 часа,что это значит.создав тему,следующею же тему пользователь сможет создать уже только после исчечения 24 часов с момента создания предыдущей темы.
каким образом это все можно сделать?перерыл кучу сайтов,так и не нашел. идея есть поставить некий таймер,который после создания темы пользователя,начинал бы обратный отсчет с 24 часов до нуля. и вероятнее всего это предется делать через сессию?
если все так,то не могли бы вы написать таймер обратного отсчета
andre Отправлено: 31 Октября, 2012 - 21:42:56 • Тема: Как прикрутить капчу? • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 46
у меня все по проще будет.вот пример моей капчи
<?php
session_start();
header ('Content-type: image/jpeg');
$text=$_SESSION['secure'];
$font_size=20;
$image_width=120;
$image_height=40;
$image=imagecreate($image_width, $image_height);
imagecolorallocate($image,255,255,255);
$text_color=imagecolorallocate($image,0,0,0);
for ($x=1; $x<=30; $x++)
{
$x1= rand(1,100);
$y1= rand(1,100);
$x2= rand(1,100);
$y2= rand(1,100);
imageline ($image, $x1,$y1,$x2,$y2,$text_color);
}
imagettftext($image,$font_size,0,15,30,$text_color,'Comic_Sans_MS.ttf',$text);
imagejpeg($image);
?>


а вот проверка с дальнейшей записи логина и пороля в БД

if($_POST['zareg']!="")
{
$loginn = $_POST['login'];/////////
$passwordd=$_POST['password'];
$login = trim($loginn);
$password = trim($passwordd);///////// обрезаем пробелы
$gst=mysql_query("SELECT * FROM users WHERE login='{$login}' ")or die("Invalid query: " . mysql_error());
if($_SESSION['secure']==$_POST['secure'])
{
if (mysql_num_rows($gst)==0)
{
mysql_query("INSERT INTO `users` ( `id` , `login` , `password` ) VALUES('','{$login}', '{$password}')")or die("Invalid query: " . mysql_error());
$regtrue=true;
echo' <script>alert("Вы зарегистрированы. Пожалуйста авторизуйтесь.");location.replace("index.php");</script> ';// при нажатии кнопки зарегестрировать нас автоматически перебрасывает на главную страницу index
}
else
{
$regtrue=false;
echo' <script>alert("Пользователь с таким логином уже зарегистрирован");</script> '; // выводит диалоговое окно с надписью котороя в ковычках
$_SESSION['secure']=rand (1000,9999);
}
}
else
{
echo '<script>alert("попробуйте еще раз!")</script>'; // выводит диалоговое окно с надписью котороя в ковычках
$_SESSION['secure']=rand (1000,9999);
}
}
andre Отправлено: 31 Октября, 2012 - 21:37:41 • Тема: проблема с отправлением сообщения на php • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 44
Проблема такова . Зарегестрированный пользователь форума,отправляет сообщение на страницу форума.сообщение отправляется и появляется на странице,пока все хорошо.но когда я нажимаю F5 (обновить страницу) ,вот тут начинается проблема.сразу появляется окно браузера,где написано следующее:

Чтобы отобразить эту страницу, Firefox должен отправить информацию, которая повторит любое ранее произведённое действие (например, запрос на поиск или онлайн-покупка)

там присутствуют кнопки- ОТПРАВИТЬ ЗАНОВО и ОТМЕНА. при нажатии ОТПРАВИТЬ ЗАНОВО, послыается предыдущее же сообщение еще раз.как я хотел обойти проблему. использовать header после INPUTA
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. header("Location: index.php?podrazd={$_GET['id']}");
  3.  

выдовало какую-то ошибку на той строке,где стоял этот header.
позже воспользовался скриптом
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. echo'<script>location.replace("index.php?podrazd='.$GET['id'].' ");</script>';


в адресной строке вместо id было пусто.(должно так index.php?podrazd=85621 ,а было так index.php?podrazd= ) при том этот id меняется в зависимости от выбора темы пользователем.Тоесть и это не решило проблему
а вот сам код
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <?PHP session_start();
  4. include("db.php");
  5. if ( $_POST['addcom']!= "")
  6. {
  7.  
  8. $temp2 = strtok($_POST['text'], " ");
  9. $lenmsg2 = strlen($_POST['text']);
  10. $name2=$_POST['text'];
  11. $error2="";
  12.  
  13. $temp2 = strtok($_POST['text'], " ");
  14.   if (strlen($_POST['text'])>20)
  15.   {
  16.     while ($templen2 < $lenmsg2)
  17.     {
  18.       if (strlen($temp2)>20)
  19.       {
  20.         $error2 = "<LI>Текст сообщения содержит слишком много символов без пробелов\n";
  21.         break;
  22.       }
  23.       else
  24.       {
  25.         $templen2 = $templen2 + strlen($temp2) + 1;
  26.       }
  27.       $temp2 = strtok(" ");            
  28.     }      
  29.   }
  30.            if($error2!="")
  31.             if (strlen($name2)>50)
  32. {echo '<script>alert("Слишком много символов!")</script>';}
  33. if (strlen($name2)==0)
  34. {
  35. echo '<script>alert("введите комментарий!")</script>';
  36. }
  37. else{
  38. if($error2=='' AND strlen($name2)<150)
  39.  
  40.  
  41. {
  42. $date=date("Y-m-d H:i:s");
  43. $_POST['text']= str_replace("\r\n", "<br>", $_POST['text']);
  44.  mysql_query("INSERT INTO `podtema` (`id` ,`idmes` ,`podidnomer` ,`us`,`text`,`k`,`time`,`ip` ) VALUES('{$_POST['podid']}','{$_POST['idmes']}', '{$_POST['podidnomer']}', '{$_POST['poduser']}', '{$_POST['text']}', '{$_POST['k']}', '{$date}', '{$_POST['ip']}')")or die("Invalid query: " . mysql_error());
  45. echo'<script>location.replace(\"index.php?podrazd='.$GET['id'].'\");</script>';
  46. }
  47. }
  48. }
  49. ?>
  50.  
  51.  


а здесь сама форма

CODE (html):
скопировать код в буфер обмена
  1.  
  2.  
  3. if ( $_GET['podrazd']!="" AND $iduser!="" )
  4. {
  5.  
  6. ?>
  7.  <table>
  8.  <tr>
  9.  <td width=100>
  10. <form action="" method="POST">
  11. <input type="hidden" name = "podid" value="<? echo $_GET['podrazd'];?>">
  12. <input type="hidden" name = "idmes" value="<? echo date ("His", time());?>">
  13. <input type="hidden" name = "podidnomer" value="<? echo $_GET['raz'];?>">
  14. <input type="hidden" name = "poduser" value="<? echo $_SESSION['username'];?>">
  15. <input type="hidden" name = "ip" value="<? echo $_SERVER['REMOTE_ADDR'];?>">
  16. <tr><td><textarea name= "text" cols="35" rows="5" > </textarea></td></tr>
  17. <tr><td><input type="submit" name = "addcom" value="Добавить"></td></tr>
  18. </td></tr>
  19. </form>
  20. </table>
  21. <?  
  22.  
  23. }
  24. else
  25. {
  26. print "зарегестрируйтесь ";
  27. }
  28.  
  29.  

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB