Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: скрипт коментариев только для зарегестрированых пользователей
 
 автор: netwixell   (04.06.2012 в 20:12)   письмо автору
 
 

Суть вопроса такова Как в теме написал я что на сайте есть скрипт коментариев без всяких излишеств смайлов и прочего. Соопщения могут оставлять только зареганые пользователи ну и только они и видят поле ввода коментария гости его попросту не видят. Так вот глупо просить человека вводить каждый раз свой логин и email. C логином я уже разобрался он автоматом показывается выкидывается из базы точьнее $login то сушествует во время работы сессии, а вот как вывести email не допетраю помогите плз.

фаил index.php
[PHP]
<? session_start();
include ("bd.php");
if (!empty($_SESSION['login']) & !empty($_SESSION['password'])){
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result = mysql_query("SELECT id,avatar FROM users WHERE login='$login' & password='$password' & email='$email'",$db);
$myrow = mysql_fetch_array($result);
}

include("head.php");


$res = mysql_query ("SELECT * FROM ".$tbl." ORDER BY id DESC",$bd);
$row = mysql_fetch_array($res);
$num = 10;
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$start = ($page * $num) - $num;
$last = $num;
$res = mysql_query("SELECT * FROM ".$tbl." ORDER BY id DESC LIMIT {$start}, {$last}");
$count = mysql_num_rows(mysql_query("SELECT * FROM ".$tbl.""));
$count = ceil($count / $num);

while ($row = mysql_fetch_array($res)) {
printf ("
<div class='comment'>
<div class='top'>
<div class='color_block'>
<div class='border_main'>%s</div>
<div class='block_content'>
<div class='text'>%s
</div></div></div></div></div>
<div id='message'>
<div align='right'>E -mail: %s | Дата: %s
<a href='#top' id='top-link'>
<a href='edit.php?id=%s'>
<input type='submit' value='Редактировать' class='login_form_right1'></a>
<a href='?id=%s#top'>
<input type='submit' value='Удалить' class='login_form_right1'></a></a></div></div>
<div style='padding-top:3;'></div>
",$row["name"],$row["text"],$row["email"],$row["date"],$row["id"],$row["id"]);
}




/*--ВОТ ФОРМА ДЛЯ ВВОДА КОМЕНТОВ--*/
if (!isset($myrow['avatar']) or $myrow['avatar']==''){
} else { ?>
<form name="comment_f" method="post" action="submit.php" >
<input name="email" type="text" value="Ваш e-mail" class="login_form_right" onblur = "if(this.value=='')this.value='Ваш e-mail';" onfocus= "if(this.value=='Ваш e-mail')this.value='';"><br>
<textarea name="text" class="textarea" style="text-align:justify"></textarea><br>
<div style="margin-left: 80%"><input name="button" type="submit" value="Добавить" class="login_bootun_left" onClick="addComment(); return false;"/></div>
</form>
<? } ?>
/*--!ФОРМА ДЛЯ ВВОДА КОМЕНТОВ--*/

<div id="top"></div>
<h7>Страницы:</h7>
<? for($i = 1; $count >= $i; $i++){ ?>
<a href="/?page=<?=$i;?>"><?=$i;?></a>
<? }
print "<input onclick='history.back()' class='login_bootun_left' type='button' value='Назад' border: none; ' />";
include("foot.php"); ?>
[/PHP]

Фаил submit.php

[PHP]
<? session_start();
include ("db.php");
$name = trim ($_SESSION['login']);
$name = htmlspecialchars ($name);
$email = trim ($_SESSION["email"]);
$email = htmlspecialchars ($email);
$text = trim ($_POST["text"]);
$text = htmlspecialchars ($text);
$date = date("d-m-Y в G:i:s");


if (!isset($email) or empty ($email)) {
echo "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";
exit ("<div align='center'><div class='alert'>Вы не ввели email!</div></div>");
}
if (!isset($text) or empty ($text)) {
echo "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";
exit ("<div align='center'><div class='alert'>Вы не ввели текст комментария!</div></div>");
}
$insert = mysql_query ("INSERT INTO ".$tbl." (name,date,email,text) VALUES ('$name','$date','$email','$text')",$bd);

if($insert == "true") {
echo "<meta http-equiv='refresh' content='0; URL=$_SERVER[HTTP_REFERER]'>";
} else {
print "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";
echo "<div align='center'><div class='alert'>Комментарий не добавлен!</div></div>";}
?>
[/PHP]

фаил db.php

[PHP]
$base = "base";
$user = "netwixell";
$password = "7246859031";
$host = "localhost";
$tbl = "comment";
$tbl2 = "advanced";
$bd = mysql_connect ("$host","$user","$password","$email");
mysql_select_db ("$base",$bd);
[/PHP]

-----------------------------------------------------------------------------------------------------

::blink.gif::
ДА вот нашел на одном сайте. Все работает только он выводи мыло последнего зарегестрированого юзера
все осталось без изменений в фаил submit.php добавил следующее
[PHP]
mysql_select_db("base");
$str = "SELECT * FROM users";
$rs = mysql_query($str);
while($row = mysql_fetch_array($rs)) {
$email = $row['email'];
}
[/PHP]

в целом вышло
[PHP]
<? session_start();
include ("db.php");
$name = trim ($_SESSION['login']);
$name = htmlspecialchars ($name);
$text = trim ($_POST["text"]);
$text = htmlspecialchars ($text);
$date = date("d-m-Y в G:i:s");

mysql_select_db("base");
$str = "SELECT * FROM users";
$rs = mysql_query($str);
while($row = mysql_fetch_array($rs)) {
$email = $row['email'];
}



/*
if (!isset($email) or empty ($email)) {
echo "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";
exit ("<div align='center'><div class='alert'>Вы не ввели email!</div></div>");
}*/
if (!isset($text) or empty ($text)) {
echo "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";
exit ("<div align='center'><div class='alert'>Вы не ввели текст комментария!</div></div>");
}
$insert = mysql_query ("INSERT INTO ".$tbl." (name,date,email,text) VALUES ('$name','$date','$email','$text')",$bd);

if($insert == "true") {
echo "<meta http-equiv='refresh' content='0; URL=$_SERVER[HTTP_REFERER]'>";
} else {
print "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";
echo "<div align='center'><div class='alert'>Комментарий не добавлен!</div></div>";}
exit;
?>
[/PHP]

Я так понимаю что проблема теперь в запросе к базе.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования