melsom Skrevet 10. november 2004 Del Skrevet 10. november 2004 (endret) Hei! Jeg sitter på skolen og har veldig restrikt internett aksess. Proxy benyttes og fåtall av port er åpnet (80, 443 er vel de eneste tenker jeg). Java er ikke støttet, heller ikke CGI:IRC fungerer. Hva om jeg lager en side med dialogbokser og tilkobling til en MySQL server. All tekst(tid?), nickliste etc blir lagt inn i databasen. Da må jo selvfølgelig siden oppdateres ofte for at teksten skal komme fram i en rimelig grei tid. Kanskje vært sekund? Vet ikke om dette er en idè men .. Har ikke veldig mange flere muligheter når jeg sitter på skolen. Kan vel se ut som en "shoutbox" også. Mye mulig noe som dette finnes allerede, noen som vet om noe? takk for alle tilbakemeldinger! Endret 10. november 2004 av melsom Lenke til kommentar
haavis Skrevet 10. november 2004 Del Skrevet 10. november 2004 Det er fullt mulig å kommunisere med en IRC-server fra PHP. Dette kalles socket-programmering, og fungerer enkelt forklart ved at man bruker IRC-protokollens egne meldinger og format for å sende og motta meldinger. Hvis du virkelig er oppsatt på å få tilgang til IRC via PHP (selv om det nok ikke er den mest optimale løsningen), så skal dette gå an. Har ikke undersøkt dette så nøye, men det finnes et script her som kan i alle fall få deg litt i gang. Hvis du vil ha full oversikt over IRC-protokollen finnes det en såkalt RFC for det, som viser deg alt du trenger å vite. Du finner den bl.a. her: RCF 1459 Lenke til kommentar
robgar Skrevet 10. november 2004 Del Skrevet 10. november 2004 (endret) Må man ha php 5.0 for at funksjonen fopensock skal virke?? Jeg har laget en irc server lokalt (Join me.exe) og prøver å koble til den via det skriptet du sendte meg. Men jeg får det ikke til... EDIT: Feilen var at jeg hadde tatt port 6666 i skriptet og 6667 på serveren. Nå koblet jeg meg på, men hvordan kan jeg "chatte" i php? Endret 10. november 2004 av robgar Lenke til kommentar
melsom Skrevet 10. november 2004 Forfatter Del Skrevet 10. november 2004 haavis, jeg regner med at det vil lage en direkte tilkobling til irc-server, noe som ikke er mulig fra den skolen. Derfor jeg vurderte mysql etc. Finnes det andre metoder? Lenke til kommentar
Torbjørn Skrevet 10. november 2004 Del Skrevet 10. november 2004 HTTP egner seg dårlig til chatting, fordi IRC står og går kontinuerlig fram og tilbake, mens HTTP starter når du åpner en url og slutter når du er ferdig. Lenke til kommentar
haavis Skrevet 10. november 2004 Del Skrevet 10. november 2004 (endret) haavis, jeg regner med at det vil lage en direkte tilkobling til irc-server,noe som ikke er mulig fra den skolen. Derfor jeg vurderte mysql etc. Finnes det andre metoder? Hvis du kjører PHP-skriptet lokalt på egen maskin vil det nok opprettes en tilkobling på en port som er stengt. Men her tenkte jeg at du kunne kjøre slike skript på en annen server som du kommuniserer med vha HTTP. Men som sagt tidligere her - dette vil være en dårlig løsning siden siden må oppdateres hele tiden. Endret 10. november 2004 av haavis Lenke til kommentar
robgar Skrevet 12. november 2004 Del Skrevet 12. november 2004 (endret) Finnes det andre metoder? Du kan bruke flatfil istedefor mysql, men det går for det samme.. Oppdatering døgnet rundt (man blir gal av klikkelyden til Windows ). Her er et skript jeg lagde for å "chatte" med php via flatfil. Det er fire filer: login.php, chat.php, lese.php og lagre.php login.php <? session_start(); $n = $_POST['nick']; $k = $_POST['kanal']; if(!empty($n) && !empty($k)) { $_SESSION['nick'] = $n; $_SESSION['kanal'] = $k; header("Location: chat.php"); } ?> <form name="form1" method="post" action=""> <table width="30%" height="135" border="0"> <tr> <td height="45">Kanal :</td> <td> <select name="kanal" size="1"> <option value="Hoved.txt" selected>Hoved</option> <option value="en_annen.txt">En_annen</option> </select> </td> </tr> <tr> <td height="41">Nick:</td> <td><input name="nick" type="text" id="nick"></td> </tr> <tr> <td height="41"> </td> <td height="41"> <p> <input type="submit" value="Chat"> </p></td> </tr> </table> </form> chat.php <? session_start(); if(empty($_SESSION['nick']) || empty($_SESSION['kanal'])) { header("Location: login.php"); } $fil = $_SESSION['kanal']; $s_fil = str_replace(".txt", "", $fil); print "Du er nå i kanalen : " . $s_fil . " "; ?> <IFRAME border=0 name=content src="lese.php" frameBorder=0 height="70%" width=100% scrolling=yes></IFRAME> <form name="form1" method="post" action="lagre.php"> <p> </p><table width="100%" border="0"> <tr> <td> <center> <input name="setning" type="text" id="setning3" size="50"> <input type="submit" name="Submit" value="Snakk i vei"> </center> </td> </tr> </table> </form> lese.php <META HTTP-EQUIV="Refresh" CONTENT="2;lese.php#anker"> <? session_start(); if(empty($_SESSION['nick']) || empty($_SESSION['kanal'])) { header("Location: login.php"); } function hente($fil) { if (!empty($fil) && file_exists($fil)) { print "<table width=\"100%\"><tr><td>"; $ii = "0"; $i = "0"; $new = "7"; $ff = file($fil); foreach ($ff as $linje_nr => $linje) { $i++; } if ($i > "9") { $start = ($i-$new); } else { $start = "0"; } foreach ($ff as $linje_nr => $linje) { if ($ii >= $start) { list($tekst, $skrevet) = split("[']", $linje); print htmlspecialchars($tekst)."</td></tr><tr><td>"; } $ii++; } fclose($fil); print "</td></tr></table>"; } } $fila = $_SESSION['kanal']; hente($fila); ?> <div id="anker"> anker </div> lagre.php <? session_start(); if(empty($_SESSION['nick']) || empty($_SESSION['kanal'])) { header("Location: login.php"); } $fil = $_SESSION['kanal']; $setning = $_POST['setning']; $nick = $_SESSION['nick']; function skriv($fil, $setning, $nick) { $fila = fopen($fil, 'a+'); $dato = date("d/m-Y H:i:s"); $setning = $nick. " skriver: " . $setning. "'" . $dato . " "; fwrite($fila, $setning); fclose($fil); } skriv($fil, $setning, $nick); header("Location: chat.php"); ?> Håper det var noe sant du var ute etter. (beklager for litt langt svar) Endret 12. november 2004 av robgar Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå