Wątek przeniesiony 2014-05-13 15:34 z Webmastering przez dzek69.

Shoutbox - kod lub kreator (bez reklam)

0

Chce na stronie zamieścić prosty shoutbox. Pole na wiadomość i imię a wysłane wiadomości może zapisywać do pliku tekstowego albo do bazy. Mam konto założone na hostinger.

0

znalazłem prosty skrypty na stronie http://skrypty.klocus.pl/2012/02/piszemy-prostego-shoutboxa.html ale mi nie działa. Kto może mi powiedzieć co ja robię w nim źle?

<?php
 mysql_connect ("mysql.hostinger.pl","u129151808_shout","karolina"); //ł±czę z baz± ("serwer bazy","użytkownik","hasło") 
 mysql_select_db ("u129151808_shout"); //nazwa bazy  
 mysql_query ("SET NAMES utf8"); //kodowanie znaków (przydatne przy pobieraniu tre¶ci)
 
 <form action="?" method="POST">
Nick: <input type="text" name="login" maxlength="30">
Tre¶ć: <input type="text" name="tresc" maxlength="125">
<button type="submit" name="wyslij">Napisz</button>
</form>

 if(isset($_POST['wyslij']) && !empty($_POST['login']) && !empty($_POST['tresc']))
{
	//Definicja zmiennych
	$login = mysql_real_escape_string(htmlspecialchars($_POST['login']));
	$tresc = mysql_real_escape_string(htmlspecialchars($_POST['tresc']));
	$data = date('Y-m-d H:i:s');
	$ip = $_SERVER['REMOTE_ADDR'];
 
	//Wykonujemy zapytanie importuj±ce zdefiniowane dane
	mysql_query ("INSERT INTO `posty` (`login`, `tresc`, `data`, `ip`) VALUES('$login', '$tresc', '$data', '$ip')");
 
	//No i przenosimy użytkownika z powrotem do shoutboxa
	header('Location: '.$_SERVER['REQUEST_URI']);
}

else {
	//Pobieramy dane z bazy
	$query = mysql_query ("SELECT * FROM `posty` ORDER BY `data` DESC LIMIT 5"); 
 
	//Pocz±tek struktury tabeli
	echo '<table>';
 
	//Pętla do wy¶wietlenia wszystkich wpisów
	while($shout=mysql_fetch_array($query)) { 
	     echo '<tr><td>'
	     .'<b>'.$shout['login'].':</b> ' //wy¶wietlamy nick
	     .$shout['tresc'] //wy¶wietlamy tre¶ć
	     .'<br/>'
	     .$shout['data'] //wy¶wietlamy datę
	     .'</tr></td>';
	}
 
	//Koniec struktury tabeli
	echo '</table>'; 
}
?>

do pliku index.html daje

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

dodanie znacznika <code class="php"> - furious programming

0

tera to nawet nie ma przycisków ani pól do wpisania danych. wcześniejszy kod łączył się z bazą bo sprawdzałem i są tam zapisane dane ale nie wyświetlało się nic

0

jest mały błąd w kodzie. Jak napiszę wiadomość i nacisnę przycisk to zapisuje do bazy i na stronie nie pokazuje żadnej wiadomości dopiero po naciśnięciu przycisku z pustymi polami pokazuje mi wiadomości zapisane w bazie.

 
<?php
mysql_connect ("mysql.hostinger.pl","u572020258_shout","dawid653"); //łącze z bazą ("serwer bazy","użytkownik","hasło")
mysql_select_db ("u572020258_shout"); //nazwa bazy
mysql_query ("SET NAMES utf8"); //kodowanie znaków (przydatne przy pobieraniu treści)

if(isset($_POST['wyslij']) && !empty($_POST['login']) && !empty($_POST['tresc']))
{
    //Definicja zmiennych
    $login = mysql_real_escape_string(htmlspecialchars($_POST['login']));
    $tresc = mysql_real_escape_string(htmlspecialchars($_POST['tresc']));
    $data = date('Y-m-d H:i:s');
    $ip = $_SERVER['REMOTE_ADDR'];
    
    //Wykonujemy zapytanie importujące zdefiniowane dane
    mysql_query ("INSERT INTO `posty` (`login`, `tresc`, `data`, `ip`) VALUES('$login', '$tresc', '$data', '$ip')");
    
    //No i przenosimy użytkownika z powrotem do shoutboxa
    header('Location: '.$_SERVER['REQUEST_URI']);
}
else {
    //Pobieramy dane z bazy
    $query = mysql_query ("SELECT * FROM `posty` ORDER BY `data` DESC LIMIT 15");

    //Początek struktury tabeli
    echo '<table id="shoutbox">';

    //Pętla do wyświetlenia wszystkich wpisów
    while($shout=mysql_fetch_array($query)) {
        echo '<tr class="wpis"><td>'
        .'<b>'.$shout['login'].':</b> ' //wyświetlamy nick
        .$shout['tresc'] //wyświetlamy treść
        .'<br/><span class="data">'
        .$shout['data'] //wyświetlamy datę
        .'</span></tr></td>';
    }
    
    //Koniec struktury tabeli
    echo '</table>';
}

//print_r($_SERVER);
?>

<form action="" method="POST" id="shoutbox">
Nick: <input type="text" name="login" maxlength="30" /> <br/>
Treść: <input type="text" name="tresc" maxlength="125" />
<button type="submit" name="wyslij">Napisz</button>
</form>

1 użytkowników online, w tym zalogowanych: 0, gości: 1