Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Odszwiezanie strony po submit
Forum PHP.pl > Forum > Przedszkole
Ideal
Wujek google sie nie sprawdza.

Jaki macie na to sposob ze jak umieszczacie na swoich stronach system komentarzy to po dodaniu tego komentarza on sie pojawil na stronie ?

Zrobilem tak ale mi sie to bardzo nie podoba - chce zeby sie sama odswiezyla i zeby ja zobaczyl :/

  1. echo "Twoj komentarz zostal dodany !!! ";
  2. echo '<a href="kom.php?id='.$idkom.'">Odsziez</a>';


Wolalbym zeby zamiast tego wstawic

header('Location: I TU TEN ADRES');

ale znow ten blad wyskakuje header already sent - czytalem o tym ale nie rozumiem :/

Wiec jak to zrobic ? ajaxa niestety nei znam :/

JESZCZE NIE ZNAM ! smile.gif
poli25
header ("Location: komentarze.php");


a plik komentarze.php powinien wygladac
$komentarze=mysql_query("select koment from komentarze");
while($row=mysql_fetch_array($komentarze))
{
$comment=$row[0]
echo "<tr><td>$comment</td></tr>";
}
Ideal
poli25 ale ja nie o to pytam jak pokazac komentarz to ja wiem i jak dodac tez wiem ale chodzi o dswiezenie tej strony gdzie wlasnie komentarz zostal dodany - tyle ze i komentarze i formularz znajduja sie na tej samej stronie

dlatego mam komentarze i formularz na tej samej stronie bo jesli formularz pusty to pokazuje mi informacje a jesi wyslale to pokazuje ze komentarz dodany - wiec teraz trzeba odswiezyc to jakos zeby sie pojawil komentarz na stronie :/
poli25
no to musisz dac w header ("Location: twoja_strona_aktualna.php")

nie wiem jak Ty masz ja bym to widział tak:
ktos klika dodaj komentarz i po kliknieciu przycisku dajesz wlasnie header ze swoja biezacą strona winksmiley.jpg


moizesz przesłac kod
Ideal
  1. <?php
  2.  
  3. $komentarz = $_POST['komentarz'];
  4. $czas = date("H:i:s");
  5. $data = date("j F, Y");;
  6.  
  7. if ($_POST["dodajkomentarz"]) {
  8.  
  9. if (empty($_POST['komentarz'])) {
  10. $blad++;
  11. echo '<p><w>Wpisz swoj komentarz !!!</w></p>';
  12. }
  13.  
  14. if ($blad == 0) {
  15.  
  16. if ($db_found) {
  17.  
  18. $SQL = "INSERT INTO komentarze (czas, data, autor, komentarz, idkomentarza) VALUES ('$czas', '$data', '$autor','$komentarz','$idkomentarz')";
  19. $result = mysql_query($SQL);
  20.  
  21. echo "<y>Komentarz dodany !!! </y>";
  22. echo '<a href="zdjecia.php?id='.$idzdjecia.'">Zobacz swoj komentarz</a>';
  23. }
  24. else {
  25. print "Sprobuj pozniej !!!";
  26. mysql_close($db_handle);
  27. }
  28. }
  29. }
  30.  
  31. ?>


to tylko fragment calosci

CHODZI MI TYLKO O TO ZE MUSZE ODSWIEZYC ZEBY ON SIE POJAWIL BO SKRYPT DZIALA w 100%
luki100011
Zawsze możesz użyć "AJAX-a", wtedy bez "przeładowania" strony dodasz i wyświetlisz komentarz.
Ideal
no tak jak wspomnialem na poczatku - nie znam ajaxa :/ jeszcze

poli25
<?php

$connect=mysql_connect('localhost','root','root');
$db=mysql_select_db("forum_php");


$komentarz = 'koment';
$czas = date("H:i:s");
$data = date("j F, Y");
$id=1;

if ($komentarz) {

if (empty($komentarz)) {
@$blad++;
echo '<p><w>Wpisz swoj komentarz exclamation.gif!</w></p>';
}

if (@$blad == 0) {

if ($db) {

$SQL = "INSERT INTO komentarz VALUES ('$komentarz','$czas', '$data','$id')";
$result = mysql_query($SQL);

echo "<y>Komentarz dodany exclamation.gif! </y>";
echo '<a href="zdjecie.php?id='.$id.'">Zobacz swoj komentarz</a>';
}
else {
print "Sprobuj pozniej exclamation.gif!";
mysql_close($db_handle);
}
}
}

p.s. ale Ty masz generowanie linku z komenatarzem do usera a nie masz nic z header
Ideal
jasniej prosze jasniej smile.gif
poli25
nie wiem czy o to chodzi jesli wpisze ktos komentarz zeby pojaiwały sie te komentarze potem questionmark.gif
poniżej ? jesli tak to nalezy zrobic tak

<?php

$connect=mysql_connect('localhost','root','root');
$db=mysql_select_db("forum_php");


$komentarz = 'koment';
$czas = date("H:i:s");
$data = date("Y-m-d");
$id=1;

echo "$komentarz,$czas,$data,$id";

if ($komentarz) {

if (empty($komentarz)) {
@$blad++;
echo '<p><w>Wpisz swoj komentarz exclamation.gif!</w></p>';
}

if (@$blad == 0) {

if ($db) {

$sql = "INSERT INTO komentarz VALUES ('$komentarz','$czas', '$data','$id')";
$result = mysql_query($sql);
$dodano=mysql_affected_rows();
if($dodano>0)
{
echo "dodano: $dodano";

echo "<y>Komentarz dodany exclamation.gif! </y>";
echo '<a href="zdjecie.php?id='.$id.'">Zobacz swoj komentarz</a>';
}
else
echo 'blad przy dodawaniu pozycji do bazy';
}
else {
print "Sprobuj pozniej exclamation.gif!";
mysql_close($db_handle);
}
}
}

?>

<?php

if($dodano>0)
{
$sql2 = mysql_query("select komentarz from komentarz ");
echo "<table>";
while ($row=mysql_fetch_array($sql2))

{
$k=$row[0];
echo "<tr><td>$k</td></tr>";
}
echo "</table>";
}

?>

lepsza wersja winksmiley.jpg


<?php


$connect=mysql_connect('localhost','root','root');
$db=mysql_select_db("forum_php");


$komentarz = $_POST['koment'];
$czas = date("H:i:s");
$data = date("Y-m-d");
$id=1;

//echo "$komentarz,$czas,$data,$id";

if ($komentarz) {

if (empty($komentarz)) {
@$blad++;
echo '<p><w>Wpisz swoj komentarz exclamation.gif!</w></p>';
}

if (@$blad == 0) {

if (isset($_POST['dodaj'])) {

$sql = "INSERT INTO komentarz VALUES ('$komentarz','$czas', '$data','$id')";
$result = mysql_query($sql);
$dodano=mysql_affected_rows();
if(@$dodano>0)
{

echo "dodano: $dodano";

echo "<y>Komentarz dodany exclamation.gif! </y>";
echo '<a href="zdjecie.php?id='.$id.'">Zobacz swoj komentarz</a>';
}
else
echo 'blad przy dodawaniu pozycji do bazy';
}

}
}

echo"<form method='POST' action='koment.php'>
Komentarz:<input type='text' name='koment'>
<input type='submit' name='dodaj' value='dodaj'>
</form>";

?>

<?php

if(@$dodano>0)
{
$sql2 = mysql_query("select komentarz from komentarz ");
echo "<table>";
while ($row=mysql_fetch_array($sql2))

{
$k=$row[0];
echo "<tr><td>$k</td></tr>";
}
echo "</table>";

}

?>


Ideal
HEJ smile.gif juz sobie poradzilem smile.gif


zrobilem tak ze po dodaniu w echo pokazuje te zmienne wlasnie dodane smile.gif


super wszystko dziala smile.gif
thek
Poli25 i Ideal kilka uwag:
1) Zacznijcie używać znaczników BBCode, bo poleci ostrzeżenie
2) Tematy o headersach się walają po całym forum, więc łaskawie mógłbyś przeczytać choć kilka
3) Próbując dodać temat z headersami najprawdopodobniej dostawałeś zapewne ostrzeżenia, że temat jest już wielokrotnie na forum i były linki co oraz gdzie czytać
4) Jeśli nawet to nie pomaga to wyjaśnienie jest takie: PRZED HEADERS NIE MA PRAWA NIC BYĆ WYSŁANE DO PRZEGLĄDARKI! NAWET JEDNO GŁUPIE ECHO, PRINT CZY COKOLWIEK. W tematach gdybyś chciał to byś o tym doczytał. Tam są podane rozwiązania jak to się robi, więc pisze jeszcze raz.... Zanim znowu napiszesz, że nie rozumiesz, przeczytaj kilka razy tematy o tym, bo rozwiązanie problemu jest banalne i najprościej mówiąc polega na zbuforowaniu tekstu występującego przed headersami lub przebudowa skryptu tak, by całe operacje logiczne były na początku skryptu, a wyświetlanie dopiero na końcu.
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-2025 Invision Power Services, Inc.