Na stronie wykorzystuję skrypt który po określonej akcji - na nowych stronach .. otwiera i generuje komunikaty:
if($_POST['nazwa']!=''&&$_POST['tresc']!='')
{
$nazwa=w($_POST['nazwa']);
$tresc=w($_POST['tresc']);
$id_newsa=w($_POST['id_newsa']);
$db->query("INSERT INTO `komentarze` (nazwa, tresc, id_newsa, data) VALUES ('$nazwa', '$tresc', '$id_newsa', NOW())");
echo "<meta http-equiv=\"Content-Type\" content=\"txt/html; charset=UTF-8\" />"; echo "Komentarz dodany"."<br />"; echo "Kliknij <a href='..\strona_glowna.php'> Tutaj </a> jeżeli Twoja przeglądarka nie przekieruje Cię sama"; echo "<meta http-equiv=\"refresh\" content=\"10; URL=s..\trona_glowna.php\">"; }
else
{
echo "<meta http-equiv=\"Content-Type\" content=\"txt/html; charset=UTF-8\" />"; echo "Wpisz dane do wszystkich pól ! - sprobuj ponownie"."<br />"; echo "Kliknij <a href='..\strona_glowna.php'> Tutaj </a> jeżeli Twoja przeglądarka nie przekieruje Cię sama"; echo "<meta http-equiv=\"refresh\" content=\"10; URL=..\strona_glowna.php\">"; }
Myślałem jak to zrobić i obsłużyć przez AJAX aby te komunikaty nie pojawiały się w nowym pliku (skrypcie) który je generuje a na stronie która wywołuje skrypt ?
Jakiś przykład jak to konkretnei zrobić, przykładowe wywołanie:
echo'<form action="skrypty/dodaj_komentarz.php" method="POST">';
if ($_SESSION['user_id']) {
$niki = $user['nick'];
echo'Twój nick (jesteś zalogowany):'.$niki.' '; echo'<div style="display: inline;"><input type="hidden" name="nazwa" value="'.
$niki.'"></input></div><br/>';
} else {
echo'<br/>Wpisz nick: '; echo'<div style="display: inline;"><input type="text" name="nazwa"></input></div><br/>'; }
echo'<div style="display: inline;"><input type="hidden" name="id_newsa" value="'.$id_newsa.'"></input></div>'; echo'<div><textarea name="tresc" rows="10" cols="50">';
echo '</textarea><br/></div>'; echo'<div style="display: inline;"><input type="reset" value="skasuj" class="przycisk" /></div>'; echo'<div style="display: inline;"><input type="submit" value="wyślij" class="przycisk"/></div>';
echo '</div>';// div jeszcze (różowy) $stmt = $db->query("SELECT * FROM `komentarze` WHERE id_newsa = ".$id_newsa." ORDER BY `id`
DESC");
Od razu wypisuje także dodany komentarz ...