PHP.SU

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

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

> Найдено сообщений: 6
kozakmamai Отправлено: 08 Июня, 2007 - 14:25:22 • Тема: Гостевая на РНР. Баг или недостаток кода?! • Форум: Программирование на PHP

Ответов: 12
Просмотров: 798
Ахх...
Спасибо большое за хелпище!! Улыбка Буду розбирать!
kozakmamai Отправлено: 08 Июня, 2007 - 12:28:28 • Тема: Гостевая на РНР. Баг или недостаток кода?! • Форум: Программирование на PHP

Ответов: 12
Просмотров: 798
Плиз...хелп...с GET понятно, через него буду пересылать данные оставленные пользователем, а вот авторизацию хочу передавать POSTом, может черкнешь пару слов про возможные проблемы Улыбка
kozakmamai Отправлено: 08 Июня, 2007 - 12:21:37 • Тема: Гостевая на РНР. Баг или недостаток кода?! • Форум: Программирование на PHP

Ответов: 12
Просмотров: 798
А если использовать передачу по методу POST это избавит от проблемы?
kozakmamai Отправлено: 08 Июня, 2007 - 12:09:34 • Тема: Гостевая на РНР. Баг или недостаток кода?! • Форум: Программирование на PHP

Ответов: 12
Просмотров: 798
NULL
Так если все же кнопка передачи формы была нажата и формально данные были пересланы и проверка isset дает true, но значения нет. Так как лучше проверять? $_GET["msg_log"] == ""
header
Хм..дик ростолкуй плз. что да к чему
kozakmamai Отправлено: 08 Июня, 2007 - 09:47:31 • Тема: Гостевая на РНР. Баг или недостаток кода?! • Форум: Программирование на PHP

Ответов: 12
Просмотров: 798
Вот код
Сори за мусор, прошу конструктивно критиковать
Код большой я привел функцию записи и тело которое визывает функции, и тело это кажись стоит не там где нужно Недовольство, огорчение
-------------------------------- -------------------------------- -------------------------
function write_table()
{
global $file_table;
global $max_rec;
$recs = file($file_table) or ($recs = array());
$name = strip_tags(trim($_GET['msg_name']));
$mail = strip_tags(trim($_GET['msg_mail']));
$url = strip_tags(trim($_GET['msg_url']));
$message = strip_tags(trim($_GET['msg_message']));

$name = str_replace("|","¦",$name);
$mail = str_replace("|","¦",$mail);
$url = str_replace("|","¦",$url);
if(strlen($message)>1000) $message = substr($message,0,1000);
$message = str_replace("|","¦",$message);
$message = stripslashes($message);
$message = str_replace("rn","<br>",$message);
$message = str_replace(" ","&nbsp;",$message);

array_unshift($recs,"$name|$mail|$url|".date('d.m.Y,H:i:s')."|$messagen");
if(count($recs)>$max_rec) $recs = array_slice($recs,0,$max_rec);
$f = fopen($file_table,"w");
for($i=0; $i<count($recs); $i++)
{
fwrite($f,$recs[$i]);
}
fclose($f);
}

//-----BEGIN-------------------- -------------------------------- -----------------------------

if(isset($_COOKIE['autoriz']))
{
$form_lock = "on";
$in_message = "Привіт, ".$_COOKIE['name']."!<br>";

if(isset($_GET['del_msg'])) del_msg_table();
if(isset($_GET['msg_out'])) {del_cookie(); $form_lock = "off"; $in_message = "Ви зайшли як гість!";}
}

else
{
$form_lock = "off";
$in_message = "Ви зайшли як гість!";
if(isset($_GET['msg_log']) && ($_GET['msg_log'] != null) && ($_GET['msg_pass'] != null))
{
$a = autoriz();
if($a[0] === "yes")
{
set_cookie();
$form_lock = "on";
$in_message = "Привіт, ".$a[1]."!";
write_autoriz($a[1]);
}
else $in_message = "Ви ввели не вірний логін або пароль";

}
if(isset($_GET['msg_log'])&&(($_GET['msg_log'] == null)||($_GET['msg_pass'] == null))) $in_message = "Помилка при введенні данних!";

}

if(isset($_GET["msg_name"]))
{
write_table();
}

write_page();
read_table();
echo "</div>";
?>

<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="expires" content="0">
</head>
<body>

<fieldset style="padding:10px;width:550px;border: 1px solid red; float:left">
<form action="index.php" method="get" name="fild1">
<table width="500">
<tr>
<td width="200" class="align">
Введіть Ім"я:</td><td><input type="text" name="msg_name" size="20" <?php if($form_lock == "on") echo "disabled";?>></td>
</tr>
<tr>
<td class="align">
E-mail:</td><td><input type="text" name="msg_mail" size="20" <?php if($form_lock == "on") echo "disabled";?>></td>
</tr>
<tr>
<td class="align">
URL:</td><td><input type="text" name="msg_url" size="20" <?php if($form_lock == "on") echo "disabled";?>></td>
</tr>
<tr>
<td class="align">
Введіть текст:</td><td><textarea name="msg_message" cols="20" rows="3" style="color:red" <?php if($form_lock == "on") echo "disabled";?>></textarea></td>
</tr>
<tr>
<td class="align">
Відправити данні:</td><td><input type="submit" value="Відправити" <?php if($form_lock == "on") echo "disabled";?>></td>
</tr>
</table>
</form>
</fieldset>

<fieldset >
<form action="index.php" method="get" name="fild2">
<table width="300" height="175">
<?php
if($form_lock == "on")
{
echo "<tr><td><input type='submit' value='ВИХІД'><input type='hidden' name='msg_out' value='out''><p onClick='stat()'>stat</p></td></tr>";
echo "<script type='text/javascript'>function stat(){helpwindow = window.open('stat.dat','myhelp','toolbar=o,width=300, height=200');}</script>";
}
else
{
echo "<tr><td width='100'>Логін</td><td><input type='text' name='msg_log' maxlen='5' size='10'></td></tr>";

echo "<tr><td>Пароль</td><td><input type='password' name='msg_pass' maxlen='5' size='10'><td></tr>";

echo "<tr><td></td><td><input type='submit' value='ВХІД'><td></tr>";
}
?>
</table>
</form>
<?php
//echo "Чи існує змінна in_message =".isset($in_message)."<br>";
if(isset($in_message)) echo $in_message;
?>
</fieldset>
<br><br>
</body>
</html>
kozakmamai Отправлено: 08 Июня, 2007 - 08:31:48 • Тема: Гостевая на РНР. Баг или недостаток кода?! • Форум: Программирование на PHP

Ответов: 12
Просмотров: 798
Всем привет!
Вот хочу обратиться за помощью.
Код пока приводить не буду, авось обойдется. Вот в чем вопрос:
Прочитал статью по созданию гостевой на РНР (кстате, у вас на ресурсе Улыбка ) без использования базы данных, то-есть все записываеться в *.dat файл. При создании же собственного кода я все уяснил из примера и написал свой. На локальном компе установил XAMPP (Апач, интерпретатор РНР, ну все что нужно). Проверил работу под разными браузерами. Все гуд. Но вот когда закинул в инет на хост, заметил збой, который заключался в следующем:
-------------------------------- -------------------------------- ------------------
При внесении данных от пользователя, стараничка записала их и выводила гостевую с первой записью. При внесении второй, страничка выводит три сообщения: Первое - которое я оставил первым, второе - тоже сообщение что и первое только на 3 сек (3...6 сек) позже записаное и третье - второе (последним оставленное).
-------------------------------- -------------------------------- ------------------
Если короче то почему-то два раза записываються данные но с интервалом в секунды.
Что это может быть? Может код? А может хост?
-------------------------------- -------------------------------- ------------------
я вот тут сижу тестирую гостевую, так после записи шестого сообщение между 6 и 5 появилось второе...вообще ничего не пойму Недовольство, огорчение
Может это связано с кэшированием?
Помогите! плз.

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB