Simpele Shoutbox

Door P de B, 24 jaar geleden, 13.340x bekeken

Met dit script kun je simpel een shoutbox plaatsen, geen MySQL database nodig, gewoon simpel PHP en webhosting natuurlijk.
-
En mensen, misbruik AUB het voorbeeld niet. Je IP is nameijk opgeslagen en zal worden verbannen :-)...

Voorbeeld: http://www.shoutme.tk

Gesponsorde koppelingen

PHP script bestanden

  1. simpele-shoutbox

 

Er zijn 40 reacties op 'Simpele shoutbox'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
DaeDaluz
DaeDaluz
24 jaar geleden
 
0 +1 -0 -1
Jammer dat je $_POST en $_SERVER niet gebruikt. en verder vind ik vars tussen " " niet zo netjes. En je voorbeeld is een lege pagina. Verder een mooi script om uit te breiden :)
Jelmer -
Jelmer -
24 jaar geleden
 
0 +1 -0 -1
$c = preg_replace("/</","&lt;",$shout);
$c = preg_replace("/>/","&gt;",$shout);
zie htmlentities()

Voor de rest, naast dat wat DaeDaluz al zei, best netjes. Geen overbodige onzin, lekker simpel.
Keep it comming!

PS: deze methode kende ik nog niet:
fwrite ($fd, "<div style='overflow:hidden'><b>[$date_time]</b> <b><i>$name</i></b> $shout</div>\n");
Ik gebruik altijd:
fwrite ($fd, "<div style='overflow:hidden'><b>".$date_time."</b> <b><i>".$name."</i></b> ".$shout."</div>\n");
P de B
P de B
24 jaar geleden
 
0 +1 -0 -1
DaeDaluz .. Ik heb hem ook op www.knicklighter.nl gezet .. Maar die refreshed niet en is dus nog ietsje minder uitgebreid. Die pagina moet ik nog helemaal veranderen :) .. Maar op die pagina staat wat meer dan bij t voorbeeld.

Met andere woorden, je kunt m dus overal in verwerken en ook elk lettertype nemen dat je wilt ;-)
Jeroen
Jeroen
24 jaar geleden
 
0 +1 -0 -1
Kun je niet beter iets van anoniem neerzetten ipv ip?, en ip alleen voor jezelf zichtbaar laten? (privacy van mensen die shouten ;) )

Bijvoorbeeld ip's in een ander bestand zetten, of een database gebruiken zodat de ip's wel zichtbaar zijn voor jouzelf in een administratiegedeelte.
Alfred -
Alfred -
24 jaar geleden
 
0 +1 -0 -1
Quote:
(privacy van mensen die shouten ;) )


Privacy? Wat kom jij nu te weten over mij adhv mijn IP? :) Je kan er hoogstens een poging mee doen om me aan te vallen, maar je komt geen persoonlijke gegevens te weten... Tenzij je m'n provider al persoonlijk vindt :D

Anyway, script ziet er mooi uit :)
P de B
P de B
24 jaar geleden
 
0 +1 -0 -1
Quote:
Rafael schreef op 07.05.2005 12:53


(privacy van mensen die shouten ;) )


Privacy? Wat kom jij nu te weten over mij adhv mijn IP? :) Je kan er hoogstens een poging mee doen om me aan te vallen, maar je komt geen persoonlijke gegevens te weten... Tenzij je m'n provider al persoonlijk vindt :D

Anyway, script ziet er mooi uit :)


Ik weet niet of jij verstand hebt van IP's.. Maar ik zou er dan toch wel even over gaan lezen.. en dat je IP komt kun je natuurlijk altijd veranderen:
{ $name = "$REMOTE_ADDR:"; }
Verander dan $REMOTE_ADDR: naar Anoniem: ofzo :-) Elke naam die je wilt...
Alfred -
Alfred -
24 jaar geleden
 
0 +1 -0 -1
Quote:
Ik weet niet of jij verstand hebt van IP's..


N0pe, heb'k niet.. Heb enkel een site gezien (die volgens sommigen de max was) waar je ONGEVEER een locatie kreeg van het ip, en wat gegevens over het land, +de provider.. Moet jij mij eens zeggen wat jij meer te weten kan komen adhv mijn ip? Ik sta er volledig voor open...
Jeroen
Jeroen
24 jaar geleden
 
0 +1 -0 -1
t zou wel handig zijn om dan iemands ip in een database te zetten, zodat je altijd de host met gethostbyaddr kunt achterhalen ivm overlast ofzo.

En Rafael, misschien kunnen ze inderdaad ook helemaal niet meer achterhalen dan alleen je host en nog wat kleine dingentjes, maar misschien ook wel op wat voor vage manier dan ook ;)
P de B
P de B
24 jaar geleden
 
0 +1 -0 -1
Rafael,

Je IP bepaald je internet connectie.. Je kunt er van alles mee doen.. WHOIS (Als dat ondersteund wordt en er info van je zelf in staat kun je telefoonnummers e.d. krijgen) .. je kan attacken (plat leggen van verbinding) .. Je kan er zoveel mee. Mjah kweet niet of ik dat wel uit moet leggen aangezien t nie zo erg interessant is :P

En even naar Jeroen,
Dat kan inderdaad wel, maar ik heb onder dat script al eens geprobeert dat te doen met het IP enzo.. maar toen kreeg ik alleen het laatste bericht te zien, wat ik erg vaag vond, dus ik ga nog wel ff dingetjes proberen met iframe enzo.. :-) Maar goed, die dingen kun je er altijd bij bouwen, maar dat is extra. Het gaat erom dat je een shoutbox hebt, wat voor dingen je er nog bij doet qua Bans, IP logs e.d. Dat is allemaal aan de gebruiker zelf (Je moet het dan natuurlijk wel kunnen Hahaha) Ik heb ook wel IP loggers op me site enzo .. En about gethostbyaddr, is alleen de hostname, die kun je ook krijgen met alleen het IP.. Al eens gehoord van DNS Resolve? (DNS = Domain Name Server) ;-)
Jelmer -
Jelmer -
24 jaar geleden
 
0 +1 -0 -1
Wel jammer dat dat .tk-domein zo slecht bereikbaar is.
http://www.piratewarz.nl/exploit/shoutme/ voor diegenen die het met mij eens zijn ^^,
P de B
P de B
24 jaar geleden
 
0 +1 -0 -1
Juh das me hosting daarvoor :)Maar goed. IP logger + bericht enzo zit er in nu bij mij :) Like this:

[Datum/Tijd] (IP) Naam: Tekst

:-) Staat er al 1 op ban :-)
Jeroen
Jeroen
24 jaar geleden
 
0 +1 -0 -1
of gewoon database spul inbouwen, en dan in admin gedeelte dat alleen toegankelijk is met wachtwoord en gebruikersnaam ip ook laten zien ofzo... maarja hoe uitgebreid kan je het maken :)
P de B
P de B
24 jaar geleden
 
0 +1 -0 -1
Daarom jeroen ;) Mjah ik ben nog alleen op zoek naar inlog pagina :P kan ik die hier ook ergens vinden?? Dat ik kan inlnoggen en de messages kan zien e.d.

Mjah ik heb er nu smileys in gebouwd :D kijk maar:
http://www.piratewarz.nl/exploit/shoutme/


24 jaar geleden
 
0 +1 -0 -1
er is raar probleem bij mij , hij heeft een probleem met het terug keren van de normale pagina , posten doet hem wel.

Warning: Cannot modify header information - headers already sent by

wat kan ik hieraan doen ???
Winston Smith
Winston Smith
24 jaar geleden
 
0 +1 -0 -1
[faq]2[/faq]

Vooruit dan maar: headers already sent betekent dat er al output is verstuurd naar het scherm. Hoe los je het op? Door output_buffering() aan te zetten of ob_start() te gebruiken. Of eerst alle headers e.d. verzamelen en dan pas output te sturen natuurlijk ;)
P de B
P de B
24 jaar geleden
 
0 +1 -0 -1
:-)


24 jaar geleden
 
0 +1 -0 -1
mooi script! zeer bruikbaar!


24 jaar geleden
 
0 +1 -0 -1
wat houdt dat CHMOD in :S k heb geprobeerd dit script draaiend te krijgen maar het is me nog neit gellukt..

er wordt weinig toelichting gegeven op het CHMOD gebeuren .
is dit iets als algemene kennis bij het maken van een PHP script ??

mvg max
Jelmer -
Jelmer -
24 jaar geleden
 
0 +1 -0 -1
Het is meer algemene kennis van linux en php-pagina's uploaden naar je hosting (aangezien die ook vaak op linux draaien). Windows heeft geen chmod nodig.

tutorial chmod


24 jaar geleden
 
0 +1 -0 -1
k thx , ff lezen :)


24 jaar geleden
 
0 +1 -0 -1
Bij mij pakt ie op 1 of andere vage manier geen tabel oid. Ik wil gewoon de shoutbox op 1 stuk vd site (dus op een gelijke)

kheb nu dit, wat doe ik verkeerd? :S:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php include("shout.txt"); ?>


<form method="POST" action="shout.php">
<p align="center">
naam:
<br>
<input size="15" maxlength="20" type="text" name="name">
<br>
shout:
<br>
<input size="15" maxlength="50" type="text" name="shout">
<br>
<center><input type="submit" value="Shout">
</center>
</form>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$datfile
= "shout.txt";
$MAX_LENGTH = 51; //Zet hierhoe lang de berichten maximaal mogen zijn (Doe deze altijd 1 meer als in de input form op de normale pagina, anders kan hij errors aangeven als je dus 50 tekens hebt.
$NUM_COMMENTS = 7; //Zet hier de hoeveelheid berichten hij maximaal mag weergeven.
if (!$name)
{
$name = "Anoniem:"; } //Als je geen naam invoert, verschijnt je IP als naam.
else $name .= ":";

$shout = preg_replace("/</","&lt;",$shout);
$shout = preg_replace("/>/","&gt;",$shout);  

$comfile = file($datfile);
if ($shout != "") {
if (strlen($shout) < $MAX_LENGTH) {
$fd = fopen ($datfile, "w");
$shout = stripslashes($shout);
$date_time = date('d-m-Y/H:i:s'); //Even simpele timestamp invoeren.
fwrite ($fd, "<div style='overflow:hidden'><b>[$date_time]</b> <b><i>$name</i></b> $shout</div>\n");
for ($i = 0; $i < $NUM_COMMENTS; $i++) {
fwrite ($fd, $comfile[$i]);
}
}

fclose($fd);
}

?>


Alvast bedankt voor enig hulp dat jullie kunnen bieden.


24 jaar geleden
 
0 +1 -0 -1
ow ja, nog ff erbij: ik heb wel CHMOD gedaan op 777 en het bestand geupload :P


24 jaar geleden
 
0 +1 -0 -1
Nou, het werkt bij mij voor geen meter. Hij zet gewoon niet het bericht in shout.txt... hij laat het gewoon leeg.
Johan
Johan
23 jaar geleden
 
0 +1 -0 -1
Irritant voorbeeld...:/


23 jaar geleden
 
0 +1 -0 -1
bij mij wordt het er wel ingezet


23 jaar geleden
 
0 +1 -0 -1
Hoe kan ik bijvoorbeeld een ip koppelen aan een nickname, zodat andere die nickname niet kunnen gebruiken? voor de rest een super script.. heb alleen de weergave verandert want een beetje HTML kan ik nog wel :D.
Maarten
Maarten
23 jaar geleden
 
0 +1 -0 -1
Errug nuttig! Krijg alleen een kleine foutmelding bij het verzenden van de shout:

Warning: Cannot modify header information - headers already sent by (output started at ../shout.php:8) in /../shout.php on line 32


23 jaar geleden
 
0 +1 -0 -1
Antwoord daarop staat volgens mij al hier beschreven :)
Aftertoucher
Aftertoucher
22 jaar geleden
 
0 +1 -0 -1
ik heb geprobeerd om deze shoutbox te gebruiken op mijn site, maar zodra ik op shout druk krijg ik de volgende foutmelding:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
The requested URL /shout.php was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache/1.3.34 Server at www.hardcoreunderground.nl Port 80
?>

en zodra ik "shout.php" in "../shoutbox/shout.php" verander krijg ik:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@hardcoreunderground.nl and inform them of the time the error occurred, and anything you might have done that may have caused the error.
?>

ik nam aan dat ik dus een fout had in me form, maar als ik het zo bekijk heb ik alles goed
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
<form method="POST" action="shout.php">
<
p align="center">
<
span class="style1">Naam:
<
br>
<
input size="28" maxlength="20" type="text" name="name">
<
br>
<
br>
Bericht:
<
br>
<
textarea name="shout" cols="25" rows="4"></textarea>
<
br>
<
/span>
<
center>
  <
span class="style1">
  <
br>
  <
input type="submit" value="Shout">
  <
/span>
<
/center>
<
/form>
?>

en shout.php staat in dezelfde map..
iemand?

(te vinden op http://www.hardcoreunderground.nl/ en dan onderaan de index:) )
One87
one87
21 jaar geleden
 
0 +1 -0 -1
Wanneer ik dit script gebruik komt er niks naar voren.
Het word niet weg geschreven in shout.txt

Wanneer ik shout.txt handmatig aanpas word dit wel op de site weergegeven.
hier uit concludeer ik dat de fout hem zit in shout.php.
Die ik 1 op 1 heb overgenomen van deze tutorial.

enige suggesties?
Joram
Joram
21 jaar geleden
 
0 +1 -0 -1
Uhh, dit script is beetje niet helemaal veilig... je kan zo via de url shout.php?name=</div></td></tr></table><h1>Hele grote tekst</h1><div>&shout=ook nog een berichtje
de hele site om zeep helpen(wel leuk hoor:D) je kan hem zelfs laten doorverwijzen naar andere site's en nog veel meer.
Niet bepaald veilig zou ik zeggen...
Igor
Igor
20 jaar geleden
 
0 +1 -0 -1
Hoi,
ik zit met precies hetzelfde probleem als one87...
er wordt niks in shout.txt geschreven...

Kan alsnog iemand hier op reageren???
Mike van den Berg
Mike van den Berg
20 jaar geleden
 
0 +1 -0 -1
ik heb precies hetzelfde probleem,
het werkt voor geen meter!

enige oplossingen gevonden?
Steen
steen
20 jaar geleden
 
0 +1 -0 -1
Hij werkt niet als je geen post-variabelen ondersteunt. Als hij werkt is je server slecht geconfigureert. zet bovenaan :

$name = $_POST['name'];
$shout = $_POST['shout'];

Dan moet hij het doen

En nog een tweede punt: met maxlengt beveilig je alleen tegen 'domme' hackers, je zult in je php code een controle moeten toevoegen. Met javascript of een gemanipuleerd script kun je dat zo hacken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$date_time
= date('d-m-Y/H:i:s'); //Even simpele timestamp invoeren.
?>


Een timestamp is time() niet date(), date geeft gewoon een datum
Jesper Diovo
Jesper Diovo
20 jaar geleden
 
0 +1 -0 -1
Dit i.p.v. het andere 'grote' stuk PHP code zal errors doen verhelpen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
error_reporting(E_ALL | E_STRICT);
ini_set("display_errors",1);

$file = "shout.txt";
$max_length = 50;
$comments = 20;

if($_SERVER['REQUEST_METHOD'] == "POST") {
    if(isset($_POST['name']) && !empty($_POST['shout'])) {
        if(!empty($_POST['name'])) {
            $name = $_POST['name'].":";
        }
else {
            $name = $_SERVER['REMOTE_ADDR'].":";
        }

        
        $shout = str_replace("<", "&lt;", $_POST['shout']);
        $shout = str_replace(">", "&gt;", $shout);
        
        $fFile = file($file);
        if(strlen($shout) <= $max_length) {
            $fd = fopen($file, "w");
            $datum = date('d-m-Y/H:i:s');
            fwrite($fd, '<div style="overflow: hidden;"><b>['.$datum.']</b> <b><i>'.$name.'</i></b> '.$shout.'</div>\n');
            for($i=0;$i<=$comments;$i++) {
                fwrite($fd, $fFile[$i]);
            }

            fclose($fd);
        }

        
        header("Location: ".$_SERVER['HTTP_REFERER']."");
    }
else {
        echo '<span style="color: red; font-weight: bold;">Je hebt niet alles ingevuld, probeer het nogmaals.</span>';
    }
}

?>
Andre
andre
20 jaar geleden
 
0 +1 -0 -1
kan iemand mij uitlegen wat CHMOD is?. en steen in welk bestand moet $name = $_POST['name'];
$shout = $_POST['shout'];?
alvast bedankt
Lars van der Hooft
Lars van der Hooft
16 jaar geleden
 
0 +1 -0 -1
Hallo allemaal,

Ik ben nieuw op phphulp.nl en ik vraag me af waar ik dat kan downloaden. Of weet iemand wat de code van shout.txt is?

Alvast bedankt,

Lars
Chris -
Chris -
16 jaar geleden
 
0 +1 -0 -1
Shout.txt is een leeg bestand, deze even aanmaken en dan slaat het script het automatisch op!
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
- Pepijn  -
- Pepijn -
16 jaar geleden
 
haal geen oude topic's omhoog aub

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. simpele-shoutbox

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.