DJ24966 Posted November 6, 2008 Report Share Posted November 6, 2008 Is it possible to create a PHP page that will display all of the current channels on my server, and all the user to simply click the channel he, or she wants to join, and have it go from there? I'm pretty sure it can be done, but I've tried to no avail, and to be honest, I'm stuck in a corner, and can't get out! Any help would be much appreciated. Thank you Link to comment Share on other sites More sharing options...
The Gate Keeper Posted November 6, 2008 Report Share Posted November 6, 2008 http://www.tg007.net/forum/index.php?showtopic=2538 please do a search next time, there are quite a few topics about on this. Link to comment Share on other sites More sharing options...
DJ24966 Posted November 6, 2008 Author Report Share Posted November 6, 2008 (edited) I had searched and found various topics, but must have over looked this one. I'll see if it works. Thanks Also, it does not seem to work for me. This is displayed at the top of the page. # \n"; } else { fputs($fp,"USER $botnick $botnick 127.0.0.1 :php\n"); $nick = $botnick . rand(10000,99999); fputs($fp,"NICK $nick\n"); while (!feof($fp)) { usleep(50); $fget = @fgets($fp, 128); //echo "$fget \n"; $match = explode(" ", $fget); $fget = ereg_replace ("\n", "", $fget); $fget = ereg_replace ("\r", "", $fget); if ($match[1] == "001") { fputs($fp,"LIST\n"); } else if ($match[0] == "PING") { fputs($fp, "PONG :" . $match[1]); } else if ($match[1] == "433") { $nick = $botnick . rand(10000,99999); fputs($fp,"NICK $nick\n"); } else if ($match[1] == "323") { fputs($fp, "QUIT :bye!\n"); break; } else if ($match[1] == "322") { $match[3] = ereg_replace ("#", "", $match[3]); if (eregi ("$channel(.*)", $match[3], $chan)) { $topic = explode(":", $fget); unset($topic[0]); unset($topic[1]); $topic = implode(":", $topic); $topic = explode(" ", $topic); unset($topic[0]); $topic = implode(" ", $topic); if ($color == "FFFFCC") { $color = "FFFFFF"; } else { $color = "FFFFCC"; } ?> It seems like it knows a room is there, but where the text should be, it just shows a green bar all the way across. Edited November 6, 2008 by DJ24966 Link to comment Share on other sites More sharing options...
Guest X-Fusion Posted November 6, 2008 Report Share Posted November 6, 2008 Did you take out the opening PHP tag? Why would # be at the bottom of the page? Link to comment Share on other sites More sharing options...
DJ24966 Posted November 6, 2008 Author Report Share Posted November 6, 2008 This is what I have, exactly as it was from the topic. <? /* ################ VSIRC Roomlister v1.0 ################ IRC Roomlister.. This script is created by M.Kollaard and M.D.Bakker For information you can always send a email to: ([email protected]) or ([email protected]) Copyrighted (c) 2003-2008 VSNetworks© When you modify the contents in this script Please Add THe Copyrights Line.. Have Fun with it... ################ VSIRC ServiceBot v1.2 ################ */ //set_time_limit(off); $botnick = "phpbot"; $server = "irc.yourdomain.net"; $port = "6667"; $channel = "\[JF\]"; ?> <html> <head> <meta http-equiv="Content-Language" content="nl"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>New Page 1</title> </head> <body> <p>#<?=stripslashes($channel);?></p> <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1"> <tr> <td width="8%" bgcolor="#00CCFF"> Users:</td> <td width="15%" bgcolor="#00CCFF"> Roomname:</td> <td width="77%" bgcolor="#00CCFF"> Topic:</td> </tr> <? $fp = fsockopen($server, $port, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { fputs($fp,"USER $botnick $botnick 127.0.0.1 :php\n"); $nick = $botnick . rand(10000,99999); fputs($fp,"NICK $nick\n"); while (!feof($fp)) { usleep(50); $fget = @fgets($fp, 128); //echo "$fget <br>\n"; $match = explode(" ", $fget); $fget = ereg_replace ("\n", "", $fget); $fget = ereg_replace ("\r", "", $fget); if ($match[1] == "001") { fputs($fp,"LIST\n"); } else if ($match[0] == "PING") { fputs($fp, "PONG :" . $match[1]); } else if ($match[1] == "433") { $nick = $botnick . rand(10000,99999); fputs($fp,"NICK $nick\n"); } else if ($match[1] == "323") { fputs($fp, "QUIT :bye!\n"); break; } else if ($match[1] == "322") { $match[3] = ereg_replace ("#", "", $match[3]); if (eregi ("$channel(.*)", $match[3], $chan)) { $topic = explode(":", $fget); unset($topic[0]); unset($topic[1]); $topic = implode(":", $topic); $topic = explode(" ", $topic); unset($topic[0]); $topic = implode(" ", $topic); if ($color == "FFFFCC") { $color = "FFFFFF"; } else { $color = "FFFFCC"; } ?> <tr> <td width="8%" bgcolor="#<?=$color?>"> <?=$match[4]; ?></td> <td width="15%" bgcolor="#<?=$color?>"> <a href="chat.php?catagory=JF&room=<?=$chan[1]; ?>"><?=$chan[1]; ?></a></td> <td width="77%" bgcolor="#<?=$color?>"> <?=$topic;?></td> </tr> <? } } } fclose($fp); } ?> </table> </body> </html> Here is a screenshot of what my loaded page looks like. http://i33.tinypic.com/21kw86x.jpg Link to comment Share on other sites More sharing options...
Kingy Posted November 6, 2008 Report Share Posted November 6, 2008 try changing all the php opening tags to <?php because it seems as if your host doesn't like <? Link to comment Share on other sites More sharing options...
DJ24966 Posted November 6, 2008 Author Report Share Posted November 6, 2008 I can get rid of the errors by doing that. However I still get no room list. Link to comment Share on other sites More sharing options...
Guest X-Fusion Posted November 6, 2008 Report Share Posted November 6, 2008 Are you actually sending the information out? Sounds like localhost won't let you make any outgoing PHP calls. That could be PHP or Apache. Link to comment Share on other sites More sharing options...
DJ24966 Posted November 6, 2008 Author Report Share Posted November 6, 2008 I'm running this all from the same PC, using Wamp, Apache, MySQL, and PHP. I used paper a few years ago, and it worked, but paper is junk as well all know. How can I tell if it's actually sending the info out? Sorry for the noob questions. Link to comment Share on other sites More sharing options...
DJ24966 Posted November 7, 2008 Author Report Share Posted November 7, 2008 Update. I'm now using the following code. <?php $botnick = "Chatterup"; $server = "chatterup.webhop.net"; $port = "6667"; $channel = ""; ?> <html> <head> <meta http-equiv="Content-Language" content="en"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Room List</title> </head> <body> <table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" id="AutoNumber1" style="border-collapse: collapse"> <tr> <td width="8%" height="20" align="center" valign="middle" bgcolor="#FFFFCC" style="border-left:1px solid #333333;border-bottom:1px solid;border-top:1px solid #333333;FONT-FAMILY: verdana;FONT-SIZE: 8pt;TEXT-DECORATION: none;"> Users</td> <td width="15%" height="20" align="left" valign="middle" bgcolor="#FFFFCC" style="border-bottom:1px solid;border-top:1px solid #333333;FONT-FAMILY: verdana;FONT-SIZE: 8pt;TEXT-DECORATION: none;"> Roomname:</td> <td width="77%" height="20" align="left" valign="middle" bgcolor="#FFFFCC" style="border-right:1px solid #333333;border-top:1px solid #333333;FONT-FAMILY: verdana;FONT-SIZE: 8pt;TEXT-DECORATION: none;"> Topic:</td> </tr> <?php $fp = fsockopen($server, $port, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { fputs($fp,"USER $botnick $botnick 127.0.0.1 :php\n"); $nick = $botnick . rand(10000,99999); fputs($fp,"NICK $nick\n"); while (!feof($fp)) { usleep(50); $fget = @fgets($fp, 128); echo "$fget <br>\n"; $match = explode(" ", $fget); $fget = ereg_replace ("\n", "", $fget); $fget = ereg_replace ("\r", "", $fget); if ($match[1] == "001") { fputs($fp,"LIST\n"); } else if ($match[0] == "PING") { fputs($fp, "PONG :" . $match[1]); } else if ($match[1] == "433") { $nick = $botnick . rand(10000,99999); fputs($fp,"NICK $nick\n"); } else if ($match[1] == "323") { fputs($fp, "QUIT :bye!\n"); break; } else if ($match[1] == "322") { $match[3] = ereg_replace ("#", "", $match[3]); if (eregi ("$channel(.*)", $match[3], $chan)) { $topic = explode(":", $fget); unset($topic[0]); unset($topic[1]); $topic = implode(":", $topic); if ($color == "FBFBF7") { $color = "FFFFFF"; } else { $color = "FBFBF7"; } ?> <tr> <td width="8%" align="center" valign="middle" bgcolor="#<?=$color?>" style="border-top:1px solid #333333;border-left:1px solid #333333;border-bottom:1px solid #333333;FONT-FAMILY: verdana;FONT-SIZE: 8pt;TEXT-DECORATION: none;"> <?=$match[4]; ?> </td> <td width="15%" style="border-bottom:1px solid #333333;bordertop:1px solid #333333;border-top:1px solid #333333;FONT-FAMILY: verdana;FONT-SIZE: 8pt;TEXT-DECORATION: none;" bgcolor="#<?=$color?>"> <a href="./chat.php?action=Chat&rmname=[EN]<?=$chan[1]; ?>"><?=$chan[1]; ?></a></td> <td width="77%" style="border-right:1px solid #333333;border-bottom:1px solid #333333;FONT-FAMILY:;border-top:1px solid #333333; verdana;FONT-SIZE: 8pt;TEXT-DECORATION: none;"bgcolor="#<?=$color?>"> <?=$topic; ?></td> </tr> <?php } } } fclose($fp); } ?> </table> </body> </html> The page loads fine, and the table acts like 2 rooms are open, however, there is no text printed out. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now