Как да взема ид на новината ?

pro12

Registered
Ето кода
Код:
<?php include('conf.php'); ?> 

<?php 
if(isset($_POST['izprati'])){ 
$ime = $_POST['ime']; 
$ime = htmlspecialchars($ime); 
$ime = strip_tags($ime);  

$comentar = $_POST['comentar']; 
$comentar = htmlspecialchars($comentar); 
$comentar = strip_tags($comentar); 

if($ime== NULL){  
echo "Попълнете име"; 
exit; 
} 
elseif($comentar==NULL){ 
echo "Попълнете коментара "; 
exit; 
} 

else { 
$sql = "INSERT INTO comments (ime, comentar, data, ip, id) VALUES ('$ime', '$comentar', '$data', '$ip', 'id')";
mysql_query($sql) or die (mysql_error()); 
header("LOCATION: h.php?id=$id");
} 
}
?>
<table align="center" width="400" id="main">



<tr><td>Име:</td><td><input type="text" name="ime" size="25"/></td></tr>
<tr><td valign="top">Коментар:</td><td><textarea name="comentar" rows="4" cols="27"></textarea></td></tr>
<tr><td></td><td><input type="submit" name="izprati" value="Добави коментара" /></td></tr>
</form>

</table>
<hr /><br />
Как да зема ид на новината на която е написан коментара?
 
Предполагам формата за коментар е в същата страница с новината.. Сигурно тази страница изглежда нещо от сорта на news.php?id=34...

Има 2 варианта.

1. Да използваш $_GET['id'] и да вземеш id-то от линкът и така да записваш


2. Да сложиш един <input type="hidden" name="newId" value="34" /> и после с $_POST['newId'] да вземеш id-то на новината след пост на коментара.
 
ЕТо как изглежда


Код:
<?php header("Content-type: text/html; charset='utf-8'");
include_once('bbcode.php');
 
$host = "";

 
$user = "";

 
$pass = "";

 
$db = "";

 
$mysqli = new mysqli($host, $user, $pass, $db) or die("Свързването към базата данни е неуспешно. Край.");

 
 

 
if(!isset($_GET['view']) || empty($_GET['view']) || ($_GET['view'] != "news" && $_GET['view'] != "category" && $_GET['view'] != "read")){

 
        $_GET['view'] = "category";

 
}

 
if($_GET['view'] == "category"){

 
        if($query = $mysqli->query("select id, name from category")){

 
                echo "Изберете категория:";

 
                echo "<ul>";

 
                while ($row = $query->fetch_row()) {

 
                        echo "<li>";

 
                        echo "<a href='".$_SERVER['PHP_SELF']."?view=news&category=".$row[0]."'>".$row[1]."</a>";

 
                        echo "</li>";

 
                }

 
                echo "</ul>";

 
        }

 
        else {

 
                die("Няма намерени категории.");

 
        }

 
}

 
elseif ($_GET['view'] == "news") {

 
        $category = (isset($_GET['category']))?$_GET['category']:"";

 
        if($query = $mysqli->query("select * from category where id = ".$category)){

 
                if(mysqli_num_rows($query)<1){

 
                        die("

 
                                <h2>Търсената категория не съществува!</h2>

 
                                <a href='".$_SERVER['PHP_SELF']."'>Върнете се в началото и изберете категория!</a>

 
                        ");

 
                }

 
                $categ = $query->fetch_assoc();

 
                //////Тук избираш колко новини да се показват на страница

 
                $max = 1;

 
                $page = (isset($_GET['page'])) ? $_GET['page']-1 : 0;

 
                $page *= $max;

 
                if($query = $mysqli->query("select * from news where type = ".$_GET['category'])){

 
                        if(mysqli_num_rows($query)<1){

 
                                die("

 
                                        <h2>Няма новини в търсената категория!</h2>

 
                                        <a href='".$_SERVER['PHP_SELF']."'>Върнете се в началото и изберете категория!</a>

 
                                ");

 
                        }

 
                }

 
                if($query = $mysqli->query("select * from news where type = ".$_GET['category']."  ORDER BY id DESC LIMIT ".$page.", ".$max)){

 
                        if(mysqli_num_rows($query)<1){

 
                                die("Страницата не съществува!");

 
                        }

 
                        echo "<h2>Новини в категория ".$categ['name'].":</h2>";

 
                        while ($row = $query->fetch_assoc()) {

 
                                echo "<p>";

 
                                echo "<b>Име:</b> " . $row['ime']."<br />";

 
                                echo "<b>Автор:</b> " . $row['awtor']."<br />";

 
                                echo "<b>Източник:</b> " . $row['iztochnik']."<br />";

 
                                echo "<a href='".$_SERVER['PHP_SELF']."?view=read&news=".$row["id"]."'>Прочети</a>";

 
                                echo "</p>";

 
                        }

 
                        $query = $mysqli->query("select count(*) from news where type = ".$_GET['category'])->fetch_row();

 
                        $count = (int) $query[0];

 
                        $page /= $max;

 
                        $page++;

 
                        $next_page = $page + 1;

 
                        $prev_page = $page - 1;

 
                        $link = "";

 
                        if($prev_page > 0 && $next_page*$max <= $count){

 
                                $link .= "<a href='".$_SERVER['PHP_SELF']."?view=news&category=".$category."&page=".$prev_page."'>Предишна</a><br />";

 
                                $link .= "<a href='".$_SERVER['PHP_SELF']."?view=news&category=".$category."&page=".$next_page."'>Следваща</a><br />";

 
                        }

 
                        elseif($prev_page > 0 && $next_page*$max > $count){

 
                                $link .= "<a href='".$_SERVER['PHP_SELF']."?view=news&category=".$category."&page=".$prev_page."'>Предишна</a><br />";

 
                        }

 
                        elseif($prev_page <= 0 && $next_page <= $count){

 
                                $link .= "<a href='".$_SERVER['PHP_SELF']."?view=news&category=".$category."&page=".$next_page."'>Следваща</a><br />";

 
                        }

 
                        else {

 
                                $link = "Няма други страници.<br />";

 
                        }

 
                        echo $link;

 
                }

 
                else {

 
                        die("

 
                                <h2>Няма новини в търсената категория!</h2>

 
                                <a href='".$_SERVER['PHP_SELF']."'>Върнете се в началото и изберете категория!</a>

 
                        ");

 
                }

 
        }

 
        else {

 
                die("

 
                        <h2>Търсената категория не съществува!</h2>

 
                        <a href='".$_SERVER['PHP_SELF']."'>Върнете се в началото и изберете категория!</a>

 
                ");

 
        }

 
}

 
elseif ($_GET['view'] == "read") {

 
        $id = $_GET['news'];

 
        if($query = $mysqli->query("select * from news  where id = ".$id)){

 
                if(mysqli_num_rows($query) < 1){

 
                        die("

 
                                <h2>Търсената новина не съществува.</h2>

 
                                <a href='".$_SERVER['PHP_SELF']."'>Върнете се в началото и изберете категoрия</a>

 
                        ");

 
                }

 
                $row = $query->fetch_assoc();

 
                echo "<h2>".$row['ime']."</h2>";

                
                
echo " <img src=http://vivaaa.netau.net/site1/news/upload/$row[snimka] width=255px height=200px/><br><br>";


                echo bbcode($row['nowina']);
 
                echo "<br><b>Автор:</b> ".$row['awtor']."<br />";
 echo "<b>Източник:</b> " . $row['comentar']."<br />";

                echo "<p><a href='".$_SERVER['PHP_SELF']."?view=news&category=".$row['type']."'>Прегледайте другите новини от тази категория</a><br />";

 
                echo "<a href='".$_SERVER['PHP_SELF']."?view=category'>Върнете се в началото.</a></p>";
echo(" 
<center><form method=\"POST\"action=\"h.php?id\"<?php\echo\"$id\"?\<input type=\"hiden\"value=\"<?php\echo\"$id\"?\"name=\"id\">

<table width=\"100%\"> 



<tr> 
<td align=\"right\" width=\"25%\"> 
ime 
</td> 
<td align=\"left\"> 
<input size=\"25\" name=\"ime\"></td>  
</tr> 
<tr> 
<td align=\"right\" width=\"25%\"> 
komentar</td> 
<td align=\"left\"> 
<input size=\"25\" name=\"comentar\"\<textarea/></td>  
</tr> 

<td align=\"center\"> 
</td> 
<td align=\"left\"> 
<input type=\"submit\" name=\"izprati\" value=\"Обнови\"></td> 
</tr> 
</table> 
</form> 
</center>");
include('conf.php'); 
$our = mysql_query("SELECT * FROM comments WHERE id=$id ORDER BY id_com DESC")or die(mysql_error()); 
 // Селектираме Базата данни и извеждаме резултатите! Всеки най-от горе!
while ($row = mysql_fetch_assoc($our)) { // Правим си един цикъл в който ще извеждаме коментарите!

echo "<table width='300' align='center'>
<tr><td><b>Автор: <font color='red'>$row[ime]</font></b></td></tr>
<tr><td align='center'><b>$row[comentar]</b></td></tr>
<tr><td align='right'><b>Дата: <font color='red'>$row[data]</font><hr/></b></td></tr>
</table>";
}
 
        }

        else {


                die("

 
                        <h2>Търсената новина не съществува.</h2>

 
                        <a href='".$_SERVER['PHP_SELF']."'>Върнете се в началото и изберете категoрия</a>

 
                ");

 
        }

 
}

 
?>

<?php include('conf.php'); ?> 

<?php 
if(isset($_POST['izprati'])){ 
$ime = $_POST['ime']; 
$ime = htmlspecialchars($ime); 
$ime = strip_tags($ime);  

$comentar = $_POST['comentar']; 
$comentar = htmlspecialchars($comentar); 
$comentar = strip_tags($comentar); 

if($ime== NULL){  
echo "Попълнете име"; 
exit; 
} 
elseif($comentar==NULL){ 
echo "Попълнете коментара "; 
exit; 
} 

else { 
$sql = "INSERT INTO comments (ime, comentar, data, ip, id) VALUES ('$ime', '$comentar', '$data', '$ip', 'id')";
mysql_query($sql) or die (mysql_error()); 
header("LOCATION: h.php?id=$id");
} 
}
?>
 
Оправих ти скрипта. Сега би трябвало да записва ID-то на новината, при публикуване на коментар.


Можеш да го намериш тук: http://pastebin.com/P0YmRNju
 

Back
Горе