Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z komentarzami do newsow
Forum PHP.pl > Forum > Gotowe rozwiązania
stal-sw
Mam taki problem z komentarzami do newsow ze - nie chce mi sie przekazywac wartosc NewsID czyli $Nid .
Probowalem to zrobic w rozny sposb ale i tak nic mi z tego nie wyszlo.
Prosze o pomoc.

Ponizej zalczam kod - ktory wyswietla mi komentarze do wybranego newsa - to akurat dziala (wywolywany on jest tak: kom.php?Nid=$Nid)
Ale chce aby wstawil mi on do bazy podczas dodawania komentarzy NewsaID do pola w bazie zwanego " n " - a tego nie robi - zas reszte pol wprowadza.

kom.php
[php:1:49a4f5e5f4]<?php
<? require("cg.php");
$zap="SELECT * FROM news_kom WHERE n='$Nid' ";

$wykonaj = mysql_query($zap);
while($row = mysql_fetch_array($wykonaj))
{
$Nid = $row['Nid'];
$idK= $row['idK'];
$tresck = $row['tresck'];
$data = $row['data'];
echo "Z dnia $data<br><br>$tresck<br>$Nid";
}
echo "<hr><br>";
// formularz do wypełnienia (pod komentarzami)
echo '
<form method="POST" action="form_add.php">
Autor:<iNPUT TYPE=TEXT NAME=autork VALUE="" >
Tre&ć:<iNPUT TYPE=TEXT NAME=tresck VALUE="" >
Email:<iNPUT TYPE=TEXT NAME=email VALUE="" >
<input type=hidden name=data value="">
<input type=hidden name=ip value="">
<input type=hidden name=host value="">
<input type=hidden name=n value=".$Nid."">
<INPUT TYPE="submit" NAME="submit" VALUE="Wy&lij" >
<input type="reset" value="Resetuj" name="B1"></TD></TR>
</FORM> ';

?>
?>[/php:1:49a4f5e5f4]
kicaj
Przy wysiwtlaniu newsa np:
news?id=87
A w dodawaniu komentarza robisz cos takiego:
Kod
"INSERT INTO tabela_komentarzy SET ... n='$id'";


A przy okazji nie rob hiddenow bo date mozna podstawic, zrob tam gdzie dodajesz data=date() i dodaj ja do bazy, lub jeszcze szybciej pole_bazy=now(). Podobnie postepuj z ip, hostem itp
stal-sw
Akcja do tego formularza to:

[php:1:296d9cc447]<?php
<?
function sql($zapytanie)
{
require("cg.php");
$result=mysql_query($zapytanie);
return $result;
}
{
$tresck = strip_tags($tresck);
}
$tresck= nl2br($tresck);

$ip = getenv('REMOTE_ADDR');
$host = gethostbyaddr($ip);
$data = date("Y-m-j H:i");
$pytanie= "INSERT INTO news_kom (data, autork, email, tresck, ip, host, n) VALUES ('$data', '$autork','$email', '$tresck', '$ip', '$host', '$Nid')";

echo '<center>';
echo 'Wpis został dodany';

sql($pytanie);
?>
?>[/php:1:296d9cc447]

Caly ten skrypt jest dostepny pod adresem:
http://users.interblock.pl/~pawel/news.rar

1. News.php
2. Formularz.php
3. Formularz_akcja.php
4. cg.php (polaczenie z baza)
5. baza.sql
kicaj
...czyli np: news.php?nid=123 otwiera newsa nr 123, a link to komentarze.php?nid=$nid

Musisz poprostu w pasu adresu przekazywac wartość (nr newsa) i wtedy w "INSERT INTO... n='$nid'";

BTW:[php:1:5f5d1fa542]$host = $_SERVER['REMOTE_HOST']; //na lokalu mi nie dziala, ale na serwie tak
$ip = $_SERVER['REMOTE_ADDR'];[/php:1:5f5d1fa542]
stal-sw
I przkazuje te wartosc w pasku adresu, ale gdy naweet chcialbym ja wyswietlic w skrypcie formularz.php to juz jej nie widzi.
kicaj
...w formularz.php wpisz $_POST['nid'] lub $_GET['nid'] smile.gif)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.