Hallo
kennt jemand ein Script was die Datenbank automatsich nach neuen einträgen durchsucht?
Also ich wollte das meine Seite 2 Frams hat einmal einen Input und Output, wenn jetzt mehrer User auf die Seite X.php mit den Frames gehen und einer in die Input Hallo schreibt soll bei allen Usern im Output fenster Hallo stehen .
Ich habe mal nach sowas gesucht und bei einem Chat eine Output gesehen nur ich konnte damit nicht viel anfangen da da noch mehr sachen drin warn hier ist mal der Quelltext.
ich glaube das dies die entscheidenen Zeieln sind
und das müsste auch noch dazu gehörn
sorry das ich hier jetzt soviele code gepostet habe wusste aber nicht wei ich das sonst beschreiben soll.
kennt jemand ein Script was die Datenbank automatsich nach neuen einträgen durchsucht?
Also ich wollte das meine Seite 2 Frams hat einmal einen Input und Output, wenn jetzt mehrer User auf die Seite X.php mit den Frames gehen und einer in die Input Hallo schreibt soll bei allen Usern im Output fenster Hallo stehen .
Ich habe mal nach sowas gesucht und bei einem Chat eine Output gesehen nur ich konnte damit nicht viel anfangen da da noch mehr sachen drin warn hier ist mal der Quelltext.
PHP:
<?
ob_end_flush();
$starttime=time();
INCLUDE "./include/configuration.inc.php";
$header = new EasyTemplate("$basepath/templates/outputheader.tpl");
$header -> assign("OUTPUTCOL","$defoutputcol");
$header -> assign("OUTPUTTEXTCOL","$defoutputtextcol");
$header -> assign("OUTPUTLINKCOL","$defoutputlinkcol");
$header -> assign("OUTPUTALINKCOL","$defoutputalinkcol");
$header -> assign("OUTPUTVLINKCOL","$defoutputvlinkcol");
if($autoscroll == "nein"){
$header -> assign("SCROLLING","onmouseover=\"scrolling=false\" onmouseout=\"scrolling=true\"");}
if($autoscroll == "ja"){
$header -> assign("SCROLLING","");}
$header -> assign("BGURL","$defoutputbgpic");
$header -> assign("BGFIX","$outputbgfixed");
$header -> assign("TITLE",$title);
$header -> easy_print();
$db10=new db_local;
$db10->query("UPDATE ".$chatprefix."chatusers SET lastaction='".time()."',away='0' WHERE nick='$chatuser'");
usleep(50000);
//$db11=new db_local;
$db10->query("SELECT maxaway,maxnoaway,maxposts,greeting,werbe_news,werbe_news_col FROM ".$chatprefix."chat_options");
$db10->next_record();
$maxaway2 = $db10->record[maxaway];
$maxnoaway2 = $db10->record[maxnoaway];
$maxposts2 = $db10->record[maxposts];
$greeting = $db10->record[greeting];
$chatnews = $db10->record[werbe_news];
$chatnews_col = $db10->record[werbe_news_col];
echo "<script language=\javascript\">
function oefnefenster(lol)
{
window.open(lol, 'fenster', 'toolbar=no,location=no,scrollbars=yes,resizable=yes');
}
</script>";
function Stream($chatuser,$chatroom) {
global $host,$database,$user,$password,$stoolonginactive,$maxaway,$maxnoaway,$awayschutz,$chatprefix;
if($chatuser) {
ignore_user_abort(1);
$PingTime=1;
$Ping=0;
$query3="SELECT lastaction,away,ignorelist2,streamabort FROM ".$chatprefix."chatusers where nick='$chatuser'";
$db = new db_local;
$db2 = new db_local;
// Aktueller Stand wird einmalig ausgelesen
$db->query("SELECT id from ".$chatprefix."chatmessages_$chatroom order by id desc limit 1");
$lastpos=$db->result();
while(!connection_aborted()) {
$db5= new db_local;
$db5 -> query("UPDATE ".$chatprefix."chatusers SET streamabort='0' WHERE nick='$chatuser'"); // stream ist da
// Autokick
$db->query("SELECT lastaction,away,ignorelist2,streamabort,clockview,mode FROM ".$chatprefix."chatusers where nick='$chatuser'");
$db->next_record();
$clockview = $db->record[clockview];
$time = time();
$onl = $time - $db->record[lastaction];
$min = $onl/60;
$min = sprintf("%.0lf",$min);
$away = $db->record[away];
$active1 = $db->record[active];
//$db5->query("SELECT lastaction,away,ignorelist2,streamabort,clockview,mode FROM ".$chatprefix."chatusers where nick='$chatuser'");
//$db5->next_record();
$mode = $db->record[mode];
$gastmins=$time-$starttime;
$gastmins=$gastmins/180;
$ignorelist = $db->record[ignorelist2];
$streamabort = $db->record[streamabort];
$clockview = $db->record[clockview];
$streamchk = mktime() - $streamabort;
if ($active1 == '0') {
?>
<script language="javascript">top.window.location.href="index.php?logout=autokick";</script>
<?
exit;
}
else
{
if(is_int($gastmins) && $mode == '-1')
{
$db_guest_mins=new db_local;
$db_guest_mins->query("INSERT INTO ".$chatprefix."chatmessages_$chatroom VALUES ('','privatemessagestring $chatuser <font color=#ff0000>Nachricht vom Chatbot: $chatuser bitte regestriere Dich, damit Du alle Funktionen des Chats benutzen kannst.(Klicke <a href=index.php target=_top>hier</a>.)</font><br>','$chatuser','$date','$usersip','$usersxforwarded')");
sleep(1);
}
}
if(($min >= "$maxnoaway2" && $away == "0") || $min >= "$maxaway2") {
if ($mode >= '2' && $awayschutz=="ja") {
} else {
if ($active1 >= '1') {
$db5=new db_local;
$db6=new db_local;
$db5->query("UPDATE ".$chatprefix."chatusers SET active='0', away='0', id='0', streamabort='0' WHERE nick = '$chatuser'");
$db6->query("INSERT INTO ".$chatprefix."chatmessages_$chatroom VALUES ('','<font color=#ff0000>$schatbotmessage $chatuser $sautokick</font><br>','$chatuser','$date','$usersip','$usersxforwarded')");
$db5->query("DELETE FROM ".$chatprefix."security WHERE nick = '$chatuser'");
?>
Du warst zulange Inaktiv ! <script language="javascript">top.window.location.href="index.php?logout=autokick";</script>
<?
exit;
}
}
}
// Ende Autokick
// MSGs anzeigen
// Aktuelle Position auslesen
$db->query("SELECT id from ".$chatprefix."chatmessages_$chatroom order by id desc limit 1");
$pos=$db->result();
// Mit alter Position vergleichen
if($lastpos < $pos) {
$query2="SELECT message,user,datum FROM ".$chatprefix."chatmessages_$chatroom WHERE id > $lastpos";
$db->query($query2);
// Alle hinzugekommenen MSGs durchlaufen
while ($db->next_record()) {
$text=stripslashes($db->record[message]);
$schreiber=$db->record[user];
#$Text=$text;
#INCLUDE"./include/bbcode.php";
#$text=$Text;
// Normale MSGs
#Hier ignore Script einfügen/by Kaio
if($schreiber=="") {
$schreiber="drecksverdammel";
}
if(eregi($schreiber,$ignorelist)) {
} else {
if(!eregi("privatemessagestring",$text)) {
echo "$text";
}
// Private MSGs
else if(eregi("privatemessagestring $chatuser ",$text)) {
$text=eregi_replace("privatemessagestring $chatuser ","",$text);
echo" $text";
}
}
#Hier ende Ignore Script
}
$lastpos=$pos;
} else {
echo " ";
}
// Neue Zeilen oder Leerzeichen an den Browser schicken
flush();
usleep(500000);
} // while connection
$db->close();
} //if user
} // Function
//Autodel by progressive
$db10->query("SELECT count(id) from ".$chatprefix."chatmessages_$chatroom");
$anzposting=$db10->result();
$delposting = $maxposts2;
if ($anzposting>=$delposting) {
$db10->query("SELECT id from ".$chatprefix."chatmessages_$chatroom ORDER BY id DESC LIMIT 1");
$db10->next_record();
$id=$db10->record[id];
$id = $id - 2; //die letzten zeile stehen lassen
$db10->query("DELETE LOW_PRIORITY FROM ".$chatprefix."chatmessages_$chatroom WHERE id<'$id'");
$db10->query("OPTIMIZE TABLE ".$chatprefix."chatmessages_$chatroom");
}
//Center Welcome Msg by Kaio
if($welcomecenter=="ja")
{
echo "<center>";
}
//Autodel by progressive
if (!isset($clear) || $clear!=1 || !eregi("sep_",$chatroom)) { // Zeigt die Meldungen nicht bei einem /clear-Befehl an
if($greeting=="1") {
echo $welcomemsg2;
} else {
?>
<SCRIPT language=JavaScript><!--
// begin script
function display_title() {
date = new Date();
var hours = date.getHours();
var message = '';
if (hours >= 0) { time_of_day = '<? echo $morningmsg1 ?>,'; message='Morning Message';}
if (hours >= 6) { time_of_day = '<? echo $morningmsg2 ?>,'; message='Morning Message';}
if ((hours >= 12) && (hours < 17)) { time_of_day = '<? echo $daymsg2 ?>,'; message='Afternoon Message'}
if (hours >= 17) { time_of_day = '<? echo $eveningmsg1 ?>,'; message='Evening Message';}
if (hours >= 22) { time_of_day = '<? echo $eveningmsg2 ?>,'; message='Evening Message';}
document.write('' + time_of_day + '');
}
// document.write('' + message + '');
//end display title
// --></SCRIPT>
<SCRIPT language=javascript>
<!-- begin script
display_title();
//--></SCRIPT>
<?
echo $welcomemsg;
}
$jetztip=getenv("REMOTE_ADDR");
//Was für user sind Online anzeige//
$db = new db_local;
$db2 = new db_local;
$db2->query("SELECT count(nick) FROM ".$chatprefix."chatusers WHERE mode like '3' AND active='1'");
$webbie_online=$db2->result();
$db2->query("SELECT count(nick) FROM ".$chatprefix."chatusers WHERE active='1'");
$usersonline=$db2->result();
if($db2->result == 1)
{$oneormoreusers="ist";}
else{$oneormoreusers="sind";}
if ($webbie_online=='0') {
$webbie_online="0";
}
echo "Zurzeit $oneormoreusers <font color=red>$webbie_online</font> Webmaster, ";
$db2->query("SELECT count(nick) FROM ".$chatprefix."chatusers WHERE mode like '2' AND active='1'");
$admins_online=$db2->result();
if ($admins_online=='0'){
$admins_online="0";
}
if ($admins_online=='1') {
$adminbit="Admin";
} else {
$adminbit="Admins";
}
echo "<font color=red>$admins_online</font> $adminbit, ";
$db2->query("SELECT count(nick) FROM ".$chatprefix."chatusers WHERE mode like '1' AND active='1'");
$vip_online=$db2->result();
if ($vip_online=='0') {
$vip_online="0";
}
if ($vip_online=='1') {
$vipbit="VIP";
} else {
$vipbit="VIPs";
}
echo "<font color=red>$vip_online</font> $vipbit, ";
$db2->query("SELECT count(nick) FROM ".$chatprefix."chatusers WHERE mode like '0' AND active='1'");
$user_online=$db2->result();
if ($user_online=='0') {
$user_online="0";
}
if ($user_online=='1') {
$userbit="Normaler";
} else {
$userbit="Normale";
}
echo " <font color=red>$user_online</font> $userbit User ";
$db2->query("SELECT count(nick) FROM ".$chatprefix."chatusers WHERE mode like '-1' AND active='1'");
$gast_online=$db2->result();
if ($gast_online=='0') {
$gast_online="0";
}
if ($gast_online=='1') {
$gastbit="Gast";
} else {
$gastbit="Gäste";
}
echo "und <font color=red>$gast_online</font> $gastbit Online.<br><b><font color=$chatnews_col>$chatnews</font></b><br>";
//noch Welcome Center adon by kaio
if($welcomecenter=="ja")
{
echo "</center>";
}
// Gespeicherte Msgs anzeigen
$db = new db_local;
$db2 = new db_local;
$db->query("SELECT message,id FROM ".$chatprefix."msgs where sentto='$chatuser' ORDER BY datum asc,uhrzeit asc");
$num = $db->num_rows();
if($num > 0) {
echo "$fontprefixa Es wurden $num ungelesene Nachrichten an dich geschickt während du nicht da warst :</font><br><br>";
while ($db->next_record()) {
$message = $db->record[message];
$id = $db->record[id];
print $message;
$db2->query("delete from ".$chatprefix."msgs where id='$id'");
}
}
} // von clear
$jetztip=$HTTP_SERVER_VARS["REMOTE_ADDR"];
$db = new db_local;
$db->query("SELECT pass,lastip,id FROM ".$chatprefix."chatusers WHERE nick = '$chatuser'");
$db->next_record();
$dbid=$db->record[id];
$lastip=$db->record[lastip];
if ($lastip==$jetztip && $chatid==$dbid) {
ignore_user_abort(1);
$db -> query("UPDATE ".$chatprefix."chatusers SET streamabort='0' WHERE nick='$chatuser'"); // stream ist da
if($last_ten=="ja") // die letzten 10 Zeilen Addon
{
####before stream
echo "<font size=-2><b><u>Die letzten 10 Zeilen:</u></b></font><br>";
$db_ten=new db_local;
$db_readten=new db_local;
$db_ten->query("SELECT id from ".$chatprefix."chatmessages_$chatroom order by id desc limit 1");
$lastpos=$db_ten->result()-"11";
$db_readten->query("SELECT * FROM ".$chatprefix."chatmessages_$chatroom WHERE id > '$lastpos' ");
$zaehler="0";
while($db_readten->next_record() && $zaehler <= '10')
{
$text=$db_readten->record[message];
if(!eregi("privatemessagestring",$text) && !eregi("<script language=\"javascript\">",$text))
{
$text=stripslashes($text);
echo "$text";
}
else { }
$zaehler++;
}
echo "<font color=ff0000>-----------------------------------------------------------------------------------------------------------------------------------</font><br>";
########
}
Stream($chatuser,$chatroom); //stream starten
//stream beendet..
sleep(5);
if (connection_aborted()) {
$db->query("SELECT active FROM ".$chatprefix."chatusers WHERE nick = '$chatuser'");
$db->next_record();
$aktiv=$db->record[active];
if ($aktiv == 1) {
$jetzt = mktime();
$db -> query("UPDATE ".$chatprefix."chatusers SET streamabort='$jetzt' WHERE nick='$chatuser'");
}
}
$db10->close();
$db_guest_mins->close();
$db5->close();
$db6->close();
$db2->close();
$db->close();
} else {
echo "Fehler, Chatid Stimmt nicht mit der Userid überein.<br>Möglicherweise wurde Ihre Verbindung zum Server Unterbrochen, Loggen sie sich Bitte Erneut ein!";
}
?>
quelle mymazenphp
PHP:
$db->query("SELECT id from ".$chatprefix."chatmessages_$chatroom order by id desc limit 1");
$pos=$db->result();
// Mit alter Position vergleichen
if($lastpos < $pos) {
$query2="SELECT message,user,datum FROM ".$chatprefix."chatmessages_$chatroom WHERE id > $lastpos";
$db->query($query2);
// Alle hinzugekommenen MSGs durchlaufen
while ($db->next_record()) {
$text=stripslashes($db->record[message]);
$schreiber=$db->record[user];
#$Text=$text;
#INCLUDE"./include/bbcode.php";
#$text=$Text;
// Normale MSGs
#Hier ignore Script einfügen/by Kaio
if($schreiber=="") {
$schreiber="drecksverdammel";
}
if(eregi($schreiber,$ignorelist)) {
} else {
if(!eregi("privatemessagestring",$text)) {
echo "$text";
}
// Private ?>
und das müsste auch noch dazu gehörn
PHP:
<?Stream($chatuser,$chatroom); //stream starten
//stream beendet..
sleep(5);
if (connection_aborted()) {
$db->query("SELECT active FROM ".$chatprefix."chatusers WHERE nick = '$chatuser'");
$db->next_record();
$aktiv=$db->record[active];
if ($aktiv == 1) {
$jetzt = mktime();
$db -> query("UPDATE ".$chatprefix."chatusers SET streamabort='$jetzt' WHERE nick='$chatuser'");
} ?>