webmaster, czcionki, szablony, skrypty, kursy: php, html, mysql, webmaster group / SITEQL.net \ skrypty, kursy: html, php, mysql, czcionki, darmowe szablony stron www, grafika, flash i swish, webmaster group, porady php, html i javascript, tworzenie stron www, katalog stron www, forum dla webmastera oraz obszerny download, pliki, za darmo w sieci, wszystko dla ciebie i twojej strony www, zapraszamy | html, php, skrypty, czcionki, webmaster, szablony, javascript, mysql, download, scrypty, www, gif, jpg, kursy, kurs php, kurs, php3, php4, porady, artykuły, darmowe szablony stron www, pliki, skrypty cgi, webmaster group, skrypty php, skrypty javascript
 

Darmowe Pozycjonowanie - www.LiveLink.pl

 
 

Menu


 Porady PHP:

Tablica Ogłoszeń

Aby stworzyć tablicę ogłoszeń utwórz pliki: (pamiętaj aby wszystkie pliki miały jednakowe kodowanie tekstu)

formularz.php3
zapis.php3
pokaz.php3

w katalogu base utwórz pliki baza1.inc i baza2.inc i nadaj im prawa do zapisu (chmod 666)

pokaz.php3
--------------------------------------------------------------
<?
include("base/baza1.inc");
include("base/baza2.inc");
?>


formularz.php3
--------------------------------------------------------------
<form method=post action=zapis.php3>
treść:<br>
<textarea rows="9" name="tresc" cols="38"></textarea><br>
e-mail:<br>
<input type=text name=email><br>
<input type=submit value=dodaj><br>
</form>


zapis.php3
--------------------------------------------------------------
<?
setcookie("tablica", "1", time()+10*3);
?>
<html>

<body>

<?
//weryfikacja długości lini, żeby nam nikt nie rozwalił strony
$weryfikacja="ok";
$ntresc=explode(" ",$tresc);
$total=sizeof($ntresc);
for($i=0; $total > $i; $i++){
if(strlen($ntresc[$i])>"30"){
$weryfikacja="";
}}
if ($weryfikacja!="ok") {
echo"Za długi wyraz, chyba nie użyłeś spacji pomiędzy wyrazami
<a href=javascript:history.back();>Wróć i popraw</a>";
}

$file = "base/baza1.inc";
if(($tresc=="") || ($email=="")){
$weryfikacja="bad";
echo"Nie wypełniono prawidłowo pól formularza<br>";
}
elseif ($weryfikacja!="ok"){
echo"formularz został zatrzymany<br>";
}
//jeśli wielkość pliku baza1.inc jest mniejsza od 60kb wykonujemy co poniżej

elseif((filesize($file) < "60000") && ($tablica!="1")){

//furtka dla tych, którzy nie mają maila
//możesz o tym poinformować lub nie
//jeśli ktoś wpisze w formularzu (pole email) brak@brak.pl
//mail nie będzie wyświetlony, a formularz pozwoli się ogłosić
$email = str_replace("brak@brak.pl","",$email);

$przed=$tresc;

//zamieniamy znaczniki html i ewentualnie cenzurujemy
$tresc=htmlspecialchars($tresc);

//cenzura zamiast buźki możesz zastosować jakiś obrazek
$tresc = str_replace("sex",":(",$tresc);

$datag = date("Y-m-d H:i");
//formatujemy wpis
$dane="$tresc<br>e-mail: <a href=mailto:$email>$email</a><br>(dodano: $datag)<hr noshade size=1>";

$danedwa=$dane;

$file = "base/baza1.inc";
$fp=fopen("$file", "r+");
$dane=$dane. fread($fp,filesize($file));
rewind($fp);
flock($fp, 2);
fputs($fp, $dane);
flock($fp, 3);
fclose($fp);

//pobieranie informacji data, ip, host
//takie dane lepiej pobierać i przechowywać, z tego względu
//że zdarza się że KGP zwraca się czasem z prośbą o udostępnienie takich
//danych, w sieci działa dużo oszustów itp... więc lepiej się zabezpieczyć.

$data=date("Y-m-d H:i");
$ip=$REMOTE_ADDR;
$host=gethostbyaddr($ip);

$wysylka = "$przed
e-mail: $email
(dodano: $data)
ip: $ip
host: $host";

//wysyłanie ogłoszenia na naszą skrzynkę, utwórz sobie
//regułę wiadomości, ogłoszenia będą wtedy automatycznie zbierane
//w jednym katalogu
$header = "From: Formularz <$email>";
mail("twojadres@com.pl", "Ogłoszenie", "$wysylka","$header");
echo "<b>Ogłoszenie zostało przyjęte.</b><br><b>Dziękujemy i zapraszamy
ponownie do skorzystania z usług naszego serwisu.</b><br><br>
<b>Treść dodanego ogłoszenia:</b><br>$tresc<br><b>e-mail:</b> $email<br>
<b>data dodania:</b> $datag<br><br>";
}
elseif (($tablica!="1") && ($weryfikacja=="ok")){

//jeśli wielkość pliku baza1.inc przekroczyła 60 kb

$file = "base/baza1.inc";
$fp=fopen("$file", "r+");
$dane=$dane. fread($fp,filesize($file));
rewind($fp);

//przerzucamy jego zawartość do drugiego pliku, kasując pierwszy

$file = "base/baza2.inc";
$fp=fopen("$file", "w");
flock($fp, 2);
fwrite($fp, "$dane");
flock($fp, 3);
fclose($fp);

//zapisujemy ostatni wpis w pierwszym pliku

$file = "base/baza1.inc";
$fp=fopen("$file", "w");
flock($fp, 2);
fwrite($fp, $danedwa);
flock($fp, 3);
fclose($fp);
}
else{
echo"Przekroczono limit (nie toleruję spamu)";
}

//teraz wyślemy list z podziękowaniami do ogłoszeniodawcy
//list zostanie wysłany tylko przy pierwszym ogłoszeniu

if(($tablica!="1") && ($weryfikacja=="ok")){

//treść listu
$list = "Dziękujemy za skorzystanie z usług naszego serwisu.

Serwis xxx


Reklamka:
";
$header = "From: Serwis xxx <twojadres@com.pl>";
mail("$email","Tytul_maila","$list","$header");
}
?>

</body>
</html>

Tablica tu pokazana jest uproszczoną wersją pokazującą na jakiej zasadzie można ją zbudować. Można oczywiście rozbudować taki skrypt o wiele działów, ale na potrzeby niedużej witrynki spokojnie wystarczy.

dodał: Rip

Expekt Poznań Porównywanie cen expekt Torebki