Code der hangomat.php aus /html/include/admin:
<?PHP defined ('main') or die ( 'no direct access' ); defined ('admin') or die ( 'only admin access' ); $design = new design ( 'Admins Area', 'Admins Area', 2 ); $design->header(); ################################################################################ ### Hang-o-Mat v. 2.5 ### Copyright Jan Erdmann @ http://www.je0.de ### ################################################################################ ################################################# Einstellungen $db_link="localhost"; # SQL Server URL $db_user="webXXX"; # SQL Username $db_pass="YYYYYYYY"; # SQL Passwort $db_name="usr_web26_2"; # SQL Datenbankname $jetec_Prefix="hangi"; # Prefix für die anzulegende SQL Tabelle (nach dem ersten starten nicht mehr ändern) $loeanz=10; # Anzahl der Angezeigten Löser $szge="include/images/icons/"; # Pfad zu den Grafiken (vom der "hangomat.php" aus gesehen) $adminpass=""; # Das Passwort zum löschen (Unbedingt ändern) $Titel="Hang-o-Mat"; $HEADER="<table cellspacing=1 cellpadding=2 class=\"hmtabelle\">"; $FOOTER="</table>"; ################################################# Login / Logout ################################################# Aufbau (HTML / CSS / JAVASCRIPT) ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>je0.de jetec_Counter</title> <style type="text/css"> .hmfarbe1 {BACKGROUND-COLOR:#7DA8F9; FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #000000;} .hmfarbe2 {BACKGROUND-COLOR:#0444BC; FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #000000;} .hmfarbe3 {BACKGROUND-COLOR:#6589CD; FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #000000;} .hmheader {BACKGROUND-COLOR:#6589CD; FONT-FAMILY: verdana; FONT-SIZE: 12px; COLOR: #000000; FONT-WEIGHT: bold;} .hmtabelle {BACKGROUND-COLOR:#000000;} .hminput {FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #000000; BACKGROUND-COLOR: #ffffff; BORDER:1px solid #000000;} .hminput1 {FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #777777; BACKGROUND-COLOR: #ffffff; BORDER:1px solid #999999;} } </style> <script type="text/javascript"> function jehmloesch(id) { var box=confirm("Wirklich löschen?"); if (box==true) location.href="admin.php?hangomat&Hangodel="+id; } function jehmlogin(mto){ if (mto==1) { jehmlog=prompt("Bitte das Adminpasswort eingeben"); if (jehmlog!="" && jehmlog!=null) document.forms.hmform.elements.hmcook.value=jehmlog; } else { document.forms.hmform.elements.hmcook.value="Logout"; } document.forms.hmform.submit(); } </script> </head><body bgcolor="#000000"><center> <? ################################################################################################## $verbindung = mysql_connect($db_link, $db_user, $db_pass); $datenbank = mysql_select_db($db_name); $jetec_Zeit=time(); $jetec_Ip=$_SERVER['REMOTE_ADDR']; $Text=""; ################################################# SQL Tabelle erstellen, wenn nicht vorhanden $erstell="CREATE TABLE IF NOT EXISTS ".$jetec_Prefix."_Hangomat( Id int(10) unsigned NOT NULL auto_increment, Buchstaben varchar(26) NOT NULL default 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', Wort varchar(255) NOT NULL default '', SWort varchar(255) NOT NULL default '', Last char(1) NOT NULL default '', Tag varchar(15) NOT NULL default '', Anzahl int(10) NOT NULL default '0', LWort varchar(200) NOT NULL default '', A int(10) NOT NULL default '0', B int(10) NOT NULL default '0', C int(10) NOT NULL default '0', D int(10) NOT NULL default '0', E int(10) NOT NULL default '0', F int(10) NOT NULL default '0', G int(10) NOT NULL default '0', H int(10) NOT NULL default '0', I int(10) NOT NULL default '0', J int(10) NOT NULL default '0', K int(10) NOT NULL default '0', L int(10) NOT NULL default '0', M int(10) NOT NULL default '0', N int(10) NOT NULL default '0', O int(10) NOT NULL default '0', P int(10) NOT NULL default '0', Q int(10) NOT NULL default '0', R int(10) NOT NULL default '0', S int(10) NOT NULL default '0', T int(10) NOT NULL default '0', U int(10) NOT NULL default '0', V int(10) NOT NULL default '0', W int(10) NOT NULL default '0', X int(10) NOT NULL default '0', Y int(10) NOT NULL default '0', Z int(10) NOT NULL default '0', PRIMARY KEY (Id) ) TYPE=MyISAM AUTO_INCREMENT=1;"; $erstellen = mysql_query($erstell); $erstell = "CREATE TABLE IF NOT EXISTS ".$jetec_Prefix."_Hangomat_Ip( Vote int(10) NOT NULL default '0', Try int(10) NOT NULL default '0', Ip varchar(20) NOT NULL default '', Buch char(1) NOT NULL default '' ) TYPE=MyISAM;"; $erstellen = mysql_query($erstell); $erstell = "CREATE TABLE IF NOT EXISTS ".$jetec_Prefix."_Hangomat_Liste( Id int(10) unsigned NOT NULL auto_increment, Zeit int(15) NOT NULL default '0', Name varchar(50) NOT NULL default '', HP varchar(255) NOT NULL default '', Mail varchar(255) NOT NULL default '', Wort varchar(255) NOT NULL default '', Anzahl int(10) NOT NULL default '0', PRIMARY KEY (Id) ) TYPE=MyISAM AUTO_INCREMENT=1;"; $erstellen = mysql_query($erstell); $Titel="Hang-o-Mat"; $hmallbuch="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $hmlaenge=strlen($hmallbuch); $hmcount=0; $hmhoch=0; ########################################### Admin $stwort=""; if ($jehmcookie==$adminpass){ if ($hangowort && (preg_match ("/^[a-zA-Z ]+$/", $hangowort))) { $hangowort=trim($hangowort); $hangowort=str_replace(" "," ",$hangowort); for ($a=0; $a<strlen($hangowort); $a++) { if (substr($hangowort,$a,1)!=" ") $stwort.="_"; else $stwort.=" "; } $hangowort=strtoupper($hangowort); $eintrag = "INSERT INTO ".$jetec_Prefix."_Hangomat (Wort, SWort) VALUES ('$hangowort', '$stwort')"; $eintragen = mysql_query($eintrag); } if ($Hangodel) { $abfrage = "SELECT * FROM ".$jetec_Prefix."_Hangomat ORDER BY Id"; $ergebnis = mysql_query($abfrage); if($dat = mysql_fetch_array($ergebnis)) { if ($dat['Id']==$Hangodel) { $eintrag = "DELETE FROM ".$jetec_Prefix."_Hangomat_Ip"; $eintragen = mysql_query($eintrag); } } $eintrag = "DELETE FROM ".$jetec_Prefix."_Hangomat Where Id='$Hangodel'"; $eintragen = mysql_query($eintrag); } $reihen=" (Aktuelles Wort)"; $Text="<tr class=\"hmheader\"><td align=\"center\">Neues Wort</td></tr>"; $abfrage = "SELECT * FROM ".$jetec_Prefix."_Hangomat ORDER BY Id"; $ergebnis = mysql_query($abfrage); while ($dat = mysql_fetch_array($ergebnis)) { if ($col=="hmfarbe1") $col="hmfarbe2"; else $col="hmfarbe1"; $Text.="<tr class=\"".$col."\"><td><a href=\"javascript:jehmloesch('".$dat['Id']."')\"><img src=\"".$szge."/del.gif\" alt=\"löschen\" border=0></a> ".$dat['Wort'].$reihen."</td></tr>"; if ($reihen!="") $reihen=""; } $Text.="<tr class=\"hmfarbe1\"><td><input type=\"text\" name=\"hangowort\" value=\"\" style=\"width:200px;\" class=\"hminput\"> <input type=\"submit\" value=\"schreiben\" name=\"hangwort\" class=\"hminput\"></td></tr>"; echo "<form action=\"admin.php?hangomat\" method=\"post\" name=\"hango\">"; echo $HEADER; echo $Text; echo $FOOTER; echo "</form>"; } $Text=""; $abfrage = "SELECT * FROM ".$jetec_Prefix."_Hangomat ORDER BY Id"; $ergebnis = mysql_query($abfrage); if($dat = mysql_fetch_array($ergebnis)) { ########################################### Tagwechsel if ($dat['Tag']!=date("l")) { for ($a=0; $a<$hmlaenge; $a++) { if ($dat[$hmallbuch[$a]]>$hmhoch) { $hmhoch=$dat[$hmallbuch[$a]]; $hmmaxx=$hmallbuch[$a]; } if ($dat[$hmallbuch[$a]]==$hmhoch) { srand((double) microtime() * time()); $hm=rand(1, 2); if ($hm==1) { $hmmaxx=$hmallbuch[$a]; $hmhoch=$dat[$hmallbuch[$a]]; } } } for ($a=0; $a<strlen($dat['Wort']); $a++) { if ($dat['Wort'][$a]==$hmmaxx) $dat['SWort'][$a]=$dat['Wort'][$a]; $hmbuch=str_replace($hmmaxx,"",$dat['Buchstaben']); } if ($hmhoch!=0) $eintrag = "UPDATE ".$jetec_Prefix."_Hangomat Set Buchstaben='$hmbuch', Tag='".date("l")."' , SWort='".$dat['SWort']."', Last='$hmmaxx', Anzahl=Anzahl+1, A=0 , B=0 , C=0 , D=0 , E=0 , F=0 , G=0 , H=0 , I=0 , J=0 , K=0 , L=0 , M=0 , N=0 , O=0 , P=0 , Q=0 , R=0 , S=0 , T=0 , U=0 , V=0 , W=0 , X=0 , Y=0 , Z=0 WHERE Id='".$dat['Id']."'"; else $eintrag = "UPDATE ".$jetec_Prefix."_Hangomat Set Tag='".date("l")."', Anzahl=Anzahl+1, A=0 , B=0 , C=0 , D=0 , E=0 , F=0 , G=0 , H=0 , I=0 , J=0 , K=0 , L=0 , M=0 , N=0 , O=0 , P=0 , Q=0 , R=0 , S=0 , T=0 , U=0 , V=0 , W=0 , X=0 , Y=0 , Z=0 WHERE Id='".$dat['Id']."'"; $eintragen = mysql_query($eintrag); $eintrag = "DELETE FROM ".$jetec_Prefix."_Hangomat_Ip"; $eintragen = mysql_query($eintrag); } ########################################### Lösen if ($Loesungswort && !$Buchstabe) { $abfrage1 = "SELECT * FROM ".$jetec_Prefix."_Hangomat_Ip WHERE Ip='$jetec_Ip' AND Try=1"; $ergebnis1 = mysql_query($abfrage1); if($dat1 = mysql_fetch_array($ergebnis1)) { $Text="<tr class=\"hmfarbe1\"><td colspan=2 align=\"center\">Du hast Heute schon versucht zu lösen, versuche es Morgen noch einmal.<br><a href=\"javascript:history.go(-1)\">zurück</a></td></tr>"; } else { if (strtoupper($Loesungswort)==$dat[Wort]) { if ($hm_name) { $hm_name=trim($hm_name); $hm_mail=trim($hm_mail); $hm_url=trim($hm_url); $hm_name=htmlentities($hm_name,ENT_QUOTES); $hm_mail=htmlentities($hm_mail,ENT_QUOTES); $hm_url=htmlentities($hm_url,ENT_QUOTES); $hm_name=addslashes($hm_name); $hm_mail=addslashes($hm_mail); $hm_url=addslashes($hm_url); $hm_anzahl=$dat['Anzahl']; if($hm_mail && !eregi("^"."[a-z0-9]+([_\\.-][a-zA-Z0-9]+)*"."@"."([a-zA-Z0-9]+([\.-][a-zA-Z0-9]+)*)+"."\\.[A-Za-z]{2,}"."$", $hm_mail, $regs)) $Text="<tr class=\"hmfarbe1\"><td align=\"center\">Die angegebene Mail Adresse ist falsch.<br><a href=\"javascript:history.go(-1)\">zurück</a></td></tr>"; if ($hm_url && !preg_match("/^[a-zA-Z0-9-_.:\/]+$/", $hm_url)) $Text="<tr class=\"hmfarbe1\"><td align=\"center\">Bitte nur 'A-Z', '0-9' und ':/-_.' bei 'Homepage' benutzen.<br><a href=\"javascript:history.go(-1)\">zurück</a></td></tr>"; if (substr($hm_url,0,4)!="http") $hm_url="http://".$hm_url; if (!$Text) { $eintrag = "DELETE FROM ".$jetec_Prefix."_Hangomat WHERE Id='".$dat['Id']."'"; $eintragen = mysql_query($eintrag); $eintrag = "DELETE FROM ".$jetec_Prefix."_Hangomat_Ip"; $eintragen = mysql_query($eintrag); if($dat=mysql_fetch_array($ergebnis)) { $eintrag = "UPDATE ".$jetec_Prefix."_Hangomat Set LWort='$Loesungswort', Tag='".date("l")."' WHERE Id='".$dat['Id']."'"; $eintragen = mysql_query($eintrag); } $eintrag = "INSERT INTO ".$jetec_Prefix."_Hangomat_Liste (Zeit, Name, HP, Mail, Wort, Anzahl) VALUES ('$jetec_Zeit','$hm_name','$hm_url','$hm_mail','$Loesungswort','$hm_anzahl')"; $eintragen = mysql_query($eintrag); $dat['LWort']=$Loesungswort; $Text="<tr class=\"hmfarbe1\"><td colspan=2 align=\"center\">Du wurdest in die Liste eingetragen.<br><a href=\"hangomat.php\">zurück</a></td></tr>"; } } else { $Text=" <tr class=\"hmfarbe1\"><td colspan=2>Die Antwort ist Richtig, das gesuchte Wort ist \"<b>".$dat[Wort]."</b>\".<br>Du kannst dich in die Liste eintragen.</td></tr> <tr class=\"hmfarbe2\"><td align=\"right\">Name: </td><td><input type=\"text\" name=\"hm_name\" style=\"width:300;\" maxlength=50 class=\"hminput\"></td></tr> <tr class=\"hmfarbe2\"><td align=\"right\">Homepage: </td><td><input type=\"text\" name=\"hm_url\" style=\"width:300;\" maxlength=255 class=\"hminput\"></td></tr> <tr class=\"hmfarbe2\"><td align=\"right\">E-Mail: </td><td><input type=\"text\" name=\"hm_mail\" style=\"width:300;\" maxlength=50 class=\"hminput\"></td></tr> <tr class=\"hmfarbe1\"><td align=\"center\" colspan=2> <input type=\"hidden\" name=\"Loesungswort\" value=\"".$dat[Wort]."\"> <input type=\"submit\" value=\" Eintragen \" class=\"hminput\"></td></tr>"; } } else { $Text="<tr class=\"hmfarbe1\"><td colspan=2 align=\"center\">Leider ist der eingegeben Begriff falsch, versuche es Morgen noch einmal.<br><a href=\"javascript:history.go(-1)\">zurück</a></td></tr>"; $abfrage1 = "SELECT * FROM ".$jetec_Prefix."_Hangomat_Ip WHERE Ip='$jetec_Ip'"; $ergebnis1 = mysql_query($abfrage1); if($dat1 = mysql_fetch_array($ergebnis1)) $eintrag = "UPDATE ".$jetec_Prefix."_Hangomat_Ip Set Try='1' WHERE Ip='$jetec_Ip'"; else $eintrag = "INSERT INTO ".$jetec_Prefix."_Hangomat_Ip (Try, Ip) VALUES ('1','$jetec_Ip')"; $eintragen = mysql_query($eintrag); } } echo "<form method=\"POST\" action=\"admin.php?hangomat\" name=\"loesen\">".$HEADER; echo "<tr class=\"hmheader\"><td align=\"center\" colspan=2>".$Titel."</td></tr> ".$Text.$FOOTER."</form>"; } ########################################### Vote $vote=9; if ($Buchstabe && (preg_match ("/^[A-Z]+$/", $Buchstabe))) { $abfrage8 = "SELECT * FROM ".$jetec_Prefix."_Hangomat WHERE Buchstaben NOT LIKE '%$Buchstabe%' AND Id=".$dat['Id']; $ergebnis8 = mysql_query($abfrage8); if($dat8 = mysql_fetch_array($ergebnis8)) $Text="Der Buchstabe \"<b>".$Buchstabe."</b>\" steht nichtmehr zur Auswahl.<br><a href=\"javascript:history.go(-1)\">zurück</a>"; $abfrage1 = "SELECT * FROM ".$jetec_Prefix."_Hangomat_Ip WHERE Ip='$jetec_Ip'"; $ergebnis1 = mysql_query($abfrage1); if($dat1 = mysql_fetch_array($ergebnis1)) $vote=$dat1['Vote']; if ($vote==1) $Text="Du hast Heute bereits für den Buchstaben \"<b>".$dat1['Buch']."</b>\" gevotet, versuche es Morgen noch einmal.<br><a href=\"javascript:history.go(-1)\">zurück</a>"; if (!$Text) { $dat[$Buchstabe]++; if ($vote==0) $eintrag = "UPDATE ".$jetec_Prefix."_Hangomat_Ip Set Vote='1', Buch='$Buchstabe' WHERE Ip='$jetec_Ip'"; if ($vote==9) $eintrag = "INSERT INTO ".$jetec_Prefix."_Hangomat_Ip (Vote, Ip, Buch) VALUES ('1','$jetec_Ip','$Buchstabe')"; $eintragen = mysql_query($eintrag); if (!strstr($dat['SWort'], $Buchstabe)) { $eintrag = "UPDATE ".$jetec_Prefix."_Hangomat Set ".$Buchstabe."=".$Buchstabe."+1 WHERE Id=".$dat['Id'].""; $eintragen = mysql_query($eintrag); } } } ########################################### Anzeige if (!$Text) { $abfrage = "SELECT * FROM ".$jetec_Prefix."_Hangomat ORDER BY Id"; $ergebnis = mysql_query($abfrage); if($dat = mysql_fetch_array($ergebnis)) { if ($jehmcookie==$adminpass) $jehmtt="<input type=\"button\" value=\"Adminlogout\" onclick=\"jehmlogin(0)\" class=\"hminput\">"; else $jehmtt="<input type=\"button\" value=\"Adminlogin\" onclick=\"jehmlogin(1)\" class=\"hminput\">"; $Text="<table cellpadding=5 cellspacing=1 class=\"hmtabelle\"><tr align=\"center\" class=\"hmfarbe2\"> <td class=\"hmfarbe3\" rowspan=2>Buchstaben:</td>"; for ($a=0; $a<$hmlaenge; $a++) { if ($dat[$hmallbuch[$a]]>0) { $W1[$a]=$dat[$hmallbuch[$a]]; $W2[$a]=$hmallbuch[$a]; } if ($dat['Buchstaben'][$hmcount]==$hmallbuch[$a]) { $Text.="<td align=\"center\"><input type=\"submit\" value=\"".$hmallbuch[$a]."\" name=\"Buchstabe\" class=\"hminput\" style=\"width:25; height:25;\"></td>"; $hmcount++; } else { $Text.="<td align=\"center\"><input type=\"button\" value=\"".$hmallbuch[$a]."\" class=\"hminput1\" style=\"width:25; height:25;\"></td>"; } if ($a==12) $Text.="</tr><tr class=\"hmfarbe2\">"; } $Text2=""; $Text3=""; if ($W1 && $W2) array_multisort ($W1,SORT_NUMERIC,SORT_DESC,$W2); for ($a=0; $a<count($W1); $a++) { $Text2.="<td align=\"center\"><b>".$W2[$a]."</b></td>"; $Text3.="<td align=\"center\">".$W1[$a]."</td>"; } $hmswort=""; for ($a=0; $a<strlen($dat['SWort']); $a++) $hmswort.=" ".$dat['SWort'][$a]; $Text.="</tr></table>"; $Text.="<br><table cellpadding=5 cellspacing=1 class=\"hmtabelle\"><tr align=\"center\" class=\"hmfarbe2\"><td align=\"center\" class=\"hmfarbe3\">Buchstaben:</td>".$Text2."</tr><tr align=\"center\" class=\"hmfarbe2\"><td align=\"center\" class=\"hmfarbe3\">Stimmen:</td>".$Text3."</tr></table> <br><span style=\"FONT-SIZE:20px; FONT-WEIGHT: bold;\">".$hmswort."</span><br><br> Das Wort läuft seit <b> ".$dat['Anzahl']." </b> Tag".($dat['Anzahl']!=1 ? "en" : "")."<br> Letzter gelöster Begriff: <b> ".$dat['LWort']."</b> <br> Letzter bewerteter Buchstabe: <b> ".$dat['Last']." </b><br> <input type=\"text\" name=\"Loesungswort\" style=\"width:300;\" class=\"hminput\"> <input type=\"submit\" value=\" Lösen \" class=\"hminput\"><br><br>".$jehmtt; } } } else { $Text="Kein Wort in der Datenbank.<br><br>".$jehmtt; } if (!$Loesungswort) { echo "<form method=\"POST\" action=\"admin.php?hangomat\" name=\"hmform\"><input type=\"hidden\" value=\"\" name=\"hmcook\">".$HEADER; echo "<tr class=\"hmheader\"><td align=\"center\">".$Titel."</td></tr> <tr class=\"hmfarbe1\"><td align=\"center\">".$Text."</td></tr>"; echo $FOOTER."</form>"; $Text=" <tr align=\"center\" class=\"hmheader\"><td colspan=4>Die letzten ".$loeanz." Löser</td></tr> <tr align=\"center\" class=\"hmfarbe1\"><th>Gelöst:</th><th>Name:</th><th>Wort:</th><th>Tage:</th></tr>"; $abfrage1 = "SELECT * FROM ".$jetec_Prefix."_Hangomat_Liste ORDER BY Id DESC LIMIT $loeanz"; $ergebnis1 = mysql_query($abfrage1); while($dat1 = mysql_fetch_array($ergebnis1)) { if ($col=="hmfarbe1") $col="hmfarbe2"; else $col="hmfarbe1"; if ($dat1['Mail']) $dat1['User']="<a href=\"mailto:".$dat1['Mail']."\">".$dat1['User']."</a>"; if ($dat1['HP']) $dat1['HP']="<a href=\"".$dat1['HP']."\" target=\"NEU\"><img src=\"".$szge."/home.gif\" alt=\"HP\" border=0></a>"; $Text.="<tr class=\"".$col."\"><td>".date("d.m.Y", $dat1['Zeit'])."</td><td>".$dat1['HP']."".$dat1['Name']."</td><td align=\"center\">".$dat1['Wort']."</td><td align=\"center\">".$dat1['Anzahl']."</td></tr>"; } echo $HEADER; echo $Text; echo $FOOTER; } ?> <br><table cellpadding=3 cellspacing=1 style="BORDER:1px solid #000000;"><tr class="hmfarbe3"><td><span style="FONT-SIZE:10px">Hang-o-Mat v2.5 von Jan Erdmann - <a href="http://www.je0.de">www.je0.de</a></span></td></tr></table> </center> </body></html> <?php $design->footer(); ?>
Und nü die hangomat.php aus /html/include/contents:
<?PHP defined ('main') or die ( 'no direct access' ); $title = $allgAr['title'].' :: Galgenmännchen'; $hmenu = 'Galgenmännchen'; $design = new design ( $title , $hmenu ); $design->header(); ################################################################################ ### Hang-o-Mat v. 2.5 ### Copyright Jan Erdmann @ http://www.je0.de ### ################################################################################ ################################################# Einstellungen $db_link="localhost"; # SQL Server URL $db_user="webXXX"; # SQL Username $db_pass="YYYYYYYY"; # SQL Passwort $db_name="usr_web26_2"; # SQL Datenbankname $jetec_Prefix="hangi"; # Prefix für die anzulegende SQL Tabelle (nach dem ersten starten nicht mehr ändern) $loeanz=25; # Anzahl der Angezeigten Löser $szge="include/images/icons"; # Pfad zu den Grafiken (vom der "hangomat.php" aus gesehen) $adminpass=""; # Das Passwort wird nicht benötigt da es über den admin läuft $Titel="Galgenmännchen"; $HEADER="<table cellspacing=1 cellpadding=2 class=\"hmtabelle\">"; $FOOTER="</table>"; ################################################# Login / Logout ################################################# Aufbau (HTML / CSS / JAVASCRIPT) ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>Galgenmännchen</title> <style type="text/css"> .hmfarbe1 {BACKGROUND-COLOR:#9E9E9E; FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #000000;} .hmfarbe2 {BACKGROUND-COLOR:#0444BC; FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #000000;} .hmfarbe3 {BACKGROUND-COLOR:#9E9E9E; FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #000000;} .hmheader {BACKGROUND-COLOR:#6589CD; FONT-FAMILY: verdana; FONT-SIZE: 12px; COLOR: #000000; FONT-WEIGHT: bold;} .hmtabelle {BACKGROUND-COLOR:#000000;} .hminput {FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #000000; BACKGROUND-COLOR: #ffffff; BORDER:1px solid #000000;} .hminput1 {FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #777777; BACKGROUND-COLOR: #9E9E9E; BORDER:1px solid #999999;} } </style> <script type="text/javascript"> function jehmloesch(id) { var box=confirm("Wirklich löschen?"); if (box==true) location.href="hangomat.php?Hangodel="+id; } function jehmlogin(mto){ if (mto==1) { jehmlog=prompt("Bitte das Adminpasswort eingeben"); if (jehmlog!="" && jehmlog!=null) document.forms.hmform.elements.hmcook.value=jehmlog; } else { document.forms.hmform.elements.hmcook.value="Logout"; } document.forms.hmform.submit(); } </script> </head><body bgcolor="#000000"><center> <? ################################################################################################## $verbindung = mysql_connect($db_link, $db_user, $db_pass); $datenbank = mysql_select_db($db_name); $jetec_Zeit=time(); $jetec_Ip=$_SERVER['REMOTE_ADDR']; $Text=""; ################################################# SQL Tabelle erstellen, wenn nicht vorhanden $erstell="CREATE TABLE IF NOT EXISTS ".$jetec_Prefix."_Hangomat( Id int(10) unsigned NOT NULL auto_increment, Buchstaben varchar(26) NOT NULL default 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', Wort varchar(255) NOT NULL default '', SWort varchar(255) NOT NULL default '', Last char(1) NOT NULL default '', Tag varchar(15) NOT NULL default '', Anzahl int(10) NOT NULL default '0', LWort varchar(200) NOT NULL default '', A int(10) NOT NULL default '0', B int(10) NOT NULL default '0', C int(10) NOT NULL default '0', D int(10) NOT NULL default '0', E int(10) NOT NULL default '0', F int(10) NOT NULL default '0', G int(10) NOT NULL default '0', H int(10) NOT NULL default '0', I int(10) NOT NULL default '0', J int(10) NOT NULL default '0', K int(10) NOT NULL default '0', L int(10) NOT NULL default '0', M int(10) NOT NULL default '0', N int(10) NOT NULL default '0', O int(10) NOT NULL default '0', P int(10) NOT NULL default '0', Q int(10) NOT NULL default '0', R int(10) NOT NULL default '0', S int(10) NOT NULL default '0', T int(10) NOT NULL default '0', U int(10) NOT NULL default '0', V int(10) NOT NULL default '0', W int(10) NOT NULL default '0', X int(10) NOT NULL default '0', Y int(10) NOT NULL default '0', Z int(10) NOT NULL default '0', PRIMARY KEY (Id) ) TYPE=MyISAM AUTO_INCREMENT=1;"; $erstellen = mysql_query($erstell); $erstell = "CREATE TABLE IF NOT EXISTS ".$jetec_Prefix."_Hangomat_Ip( Vote int(10) NOT NULL default '0', Try int(10) NOT NULL default '0', Ip varchar(20) NOT NULL default '', Buch char(1) NOT NULL default '' ) TYPE=MyISAM;"; $erstellen = mysql_query($erstell); $erstell = "CREATE TABLE IF NOT EXISTS ".$jetec_Prefix."_Hangomat_Liste( Id int(10) unsigned NOT NULL auto_increment, Zeit int(15) NOT NULL default '0', Name varchar(50) NOT NULL default '', HP varchar(255) NOT NULL default '', Mail varchar(255) NOT NULL default '', Wort varchar(255) NOT NULL default '', Anzahl int(10) NOT NULL default '0', PRIMARY KEY (Id) ) TYPE=MyISAM AUTO_INCREMENT=1;"; $erstellen = mysql_query($erstell); $Titel="Galgenmännchen"; $hmallbuch="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $hmlaenge=strlen($hmallbuch); $hmcount=0; $hmhoch=0; ########################################### Admin $stwort=""; if ($jehmcookie==$adminpass){ if ($hangowort && (preg_match ("/^[a-zA-Z ]+$/", $hangowort))) { $hangowort=trim($hangowort); $hangowort=str_replace(" "," ",$hangowort); for ($a=0; $a<strlen($hangowort); $a++) { if (substr($hangowort,$a,1)!=" ") $stwort.="_"; else $stwort.=" "; } $hangowort=strtoupper($hangowort); $eintrag = "INSERT INTO ".$jetec_Prefix."_Hangomat (Wort, SWort) VALUES ('$hangowort', '$stwort')"; $eintragen = mysql_query($eintrag); } if ($Hangodel) { $abfrage = "SELECT * FROM ".$jetec_Prefix."_Hangomat ORDER BY Id"; $ergebnis = mysql_query($abfrage); if($dat = mysql_fetch_array($ergebnis)) { if ($dat['Id']==$Hangodel) { $eintrag = "DELETE FROM ".$jetec_Prefix."_Hangomat_Ip"; $eintragen = mysql_query($eintrag); } } $eintrag = "DELETE FROM ".$jetec_Prefix."_Hangomat Where Id='$Hangodel'"; $eintragen = mysql_query($eintrag); } $reihen=" (Aktuelles Wort)"; $Text="<tr class=\"hmheader\"><td align=\"center\">Neues Wort</td></tr>"; $abfrage = "SELECT * FROM ".$jetec_Prefix."_Hangomat ORDER BY Id"; $ergebnis = mysql_query($abfrage); while ($dat = mysql_fetch_array($ergebnis)) { if ($col=="hmfarbe1") $col="hmfarbe2"; else $col="hmfarbe1"; $Text.="<tr class=\"".$col."\"><td><a href=\"javascript:jehmloesch('".$dat['Id']."')\"><img src=\"".$szge."/muell.gif\" alt=\"löschen\" border=0></a> ".$dat['Wort'].$reihen."</td></tr>"; if ($reihen!="") $reihen=""; } $Text.="<tr class=\"hmfarbe1\"><td><input type=\"text\" name=\"hangowort\" value=\"\" style=\"width:200px;\" class=\"hminput\"> <input type=\"submit\" value=\"schreiben\" name=\"hangwort\" class=\"hminput\"></td></tr>"; echo "<form action=\"index.php?hangomat\" method=\"post\" name=\"hango\">"; echo $HEADER; echo " "; echo "Und so funktionierts: Vote täglich für den nächsten Lösungsbuchstaben. Der Buchstabe mit den meisten Votes wird als Tipp genommen. Wenn dieser Buchstabe passt wird er an allen vorkommenden Stellen in das gesuchte Wort eingefügt. Jeden Tag kannst Du versuchen das Rätsel zu lösen, sobald Du eine Idee hast, wie es lauten könnte. Der erfolgreiche Lösungsversuch sichert Dir einen Platz in der Hall-of-Fame.<br><br>"; echo " "; //echo $Text; echo $FOOTER; echo " "; echo "Script von Jan Erdmann"; echo "</form>"; } $Text=""; $abfrage = "SELECT * FROM ".$jetec_Prefix."_Hangomat ORDER BY Id"; $ergebnis = mysql_query($abfrage); if($dat = mysql_fetch_array($ergebnis)) { ########################################### Tagwechsel if ($dat['Tag']!=date("l")) { for ($a=0; $a<$hmlaenge; $a++) { if ($dat[$hmallbuch[$a]]>$hmhoch) { $hmhoch=$dat[$hmallbuch[$a]]; $hmmaxx=$hmallbuch[$a]; } if ($dat[$hmallbuch[$a]]==$hmhoch) { srand((double) microtime() * time()); $hm=rand(1, 2); if ($hm==1) { $hmmaxx=$hmallbuch[$a]; $hmhoch=$dat[$hmallbuch[$a]]; } } } for ($a=0; $a<strlen($dat['Wort']); $a++) { if ($dat['Wort'][$a]==$hmmaxx) $dat['SWort'][$a]=$dat['Wort'][$a]; $hmbuch=str_replace($hmmaxx,"",$dat['Buchstaben']); } if ($hmhoch!=0) $eintrag = "UPDATE ".$jetec_Prefix."_Hangomat Set Buchstaben='$hmbuch', Tag='".date("l")."' , SWort='".$dat['SWort']."', Last='$hmmaxx', Anzahl=Anzahl+1, A=0 , B=0 , C=0 , D=0 , E=0 , F=0 , G=0 , H=0 , I=0 , J=0 , K=0 , L=0 , M=0 , N=0 , O=0 , P=0 , Q=0 , R=0 , S=0 , T=0 , U=0 , V=0 , W=0 , X=0 , Y=0 , Z=0 WHERE Id='".$dat['Id']."'"; else $eintrag = "UPDATE ".$jetec_Prefix."_Hangomat Set Tag='".date("l")."', Anzahl=Anzahl+1, A=0 , B=0 , C=0 , D=0 , E=0 , F=0 , G=0 , H=0 , I=0 , J=0 , K=0 , L=0 , M=0 , N=0 , O=0 , P=0 , Q=0 , R=0 , S=0 , T=0 , U=0 , V=0 , W=0 , X=0 , Y=0 , Z=0 WHERE Id='".$dat['Id']."'"; $eintragen = mysql_query($eintrag); $eintrag = "DELETE FROM ".$jetec_Prefix."_Hangomat_Ip"; $eintragen = mysql_query($eintrag); } ########################################### Lösen if ($Loesungswort && !$Buchstabe) { $abfrage1 = "SELECT * FROM ".$jetec_Prefix."_Hangomat_Ip WHERE Ip='$jetec_Ip' AND Try=1"; $ergebnis1 = mysql_query($abfrage1); if($dat1 = mysql_fetch_array($ergebnis1)) { $Text="<tr class=\"hmfarbe1\"><td colspan=2 align=\"center\">Du hast Heute schon versucht zu lösen, versuche es Morgen noch einmal.<br><a href=\"javascript:history.go(-1)\">zurück</a></td></tr>"; } else { if (strtoupper($Loesungswort)==$dat[Wort]) { if ($hm_name) { $hm_name=trim($hm_name); $hm_mail=trim($hm_mail); $hm_url=trim($hm_url); $hm_name=htmlentities($hm_name,ENT_QUOTES); $hm_mail=htmlentities($hm_mail,ENT_QUOTES); $hm_url=htmlentities($hm_url,ENT_QUOTES); $hm_name=addslashes($hm_name); $hm_mail=addslashes($hm_mail); $hm_url=addslashes($hm_url); $hm_anzahl=$dat['Anzahl']; if($hm_mail && !eregi("^"."[a-z0-9]+([_\\.-][a-zA-Z0-9]+)*"."@"."([a-zA-Z0-9]+([\.-][a-zA-Z0-9]+)*)+"."\\.[A-Za-z]{2,}"."$", $hm_mail, $regs)) $Text="<tr class=\"hmfarbe1\"><td align=\"center\">Die angegebene Mail Adresse ist falsch.<br><a href=\"javascript:history.go(-1)\">zurück</a></td></tr>"; if ($hm_url && !preg_match("/^[a-zA-Z0-9-_.:\/]+$/", $hm_url)) $Text="<tr class=\"hmfarbe1\"><td align=\"center\">Bitte nur 'A-Z', '0-9' und ':/-_.' bei 'Homepage' benutzen.<br><a href=\"javascript:history.go(-1)\">zurück</a></td></tr>"; if (substr($hm_url,0,4)!="http") $hm_url="http://".$hm_url; if (!$Text) { $eintrag = "DELETE FROM ".$jetec_Prefix."_Hangomat WHERE Id='".$dat['Id']."'"; $eintragen = mysql_query($eintrag); $eintrag = "DELETE FROM ".$jetec_Prefix."_Hangomat_Ip"; $eintragen = mysql_query($eintrag); if($dat=mysql_fetch_array($ergebnis)) { $eintrag = "UPDATE ".$jetec_Prefix."_Hangomat Set LWort='$Loesungswort', Tag='".date("l")."' WHERE Id='".$dat['Id']."'"; $eintragen = mysql_query($eintrag); } $eintrag = "INSERT INTO ".$jetec_Prefix."_Hangomat_Liste (Zeit, Name, HP, Mail, Wort, Anzahl) VALUES ('$jetec_Zeit','$hm_name','$hm_url','$hm_mail','$Loesungswort','$hm_anzahl')"; $eintragen = mysql_query($eintrag); $dat['LWort']=$Loesungswort; $Text="<tr class=\"hmfarbe1\"><td colspan=2 align=\"center\">Du wurdest in die Liste eingetragen.<br><a href=\"index.php?hangomat\">zurück</a></td></tr>"; } } else { $Text=" <tr class=\"hmfarbe1\"><td colspan=2>Die Antwort ist Richtig, das gesuchte Wort ist \"<b>".$dat[Wort]."</b>\".<br>Du kannst dich in die Liste eintragen.</td></tr> <tr class=\"hmfarbe2\"><td align=\"right\">Name: </td><td><input type=\"text\" name=\"hm_name\" value=\"$uname\" style=\"width:300;\" maxlength=50 class=\"hminput\"></td></tr> <tr class=\"hmfarbe2\"><td align=\"right\">Homepage: </td><td><input type=\"text\" name=\"hm_url\" style=\"width:300;\" maxlength=255 class=\"hminput\"></td></tr> <tr class=\"hmfarbe2\"><td align=\"right\">E-Mail: </td><td><input type=\"text\" name=\"hm_mail\" style=\"width:300;\" maxlength=50 class=\"hminput\"></td></tr> <tr class=\"hmfarbe1\"><td align=\"center\" colspan=2> <input type=\"hidden\" name=\"Loesungswort\" value=\"".$dat[Wort]."\"> <input type=\"submit\" value=\" Eintragen \" class=\"hminput\"></td></tr>"; } } else { $Text="<tr class=\"hmfarbe1\"><td colspan=2 align=\"center\">Leider ist der eingegeben Begriff falsch, versuche es Morgen noch einmal.<br><a href=\"javascript:history.go(-1)\">zurück</a></td></tr>"; $abfrage1 = "SELECT * FROM ".$jetec_Prefix."_Hangomat_Ip WHERE Ip='$jetec_Ip'"; $ergebnis1 = mysql_query($abfrage1); if($dat1 = mysql_fetch_array($ergebnis1)) $eintrag = "UPDATE ".$jetec_Prefix."_Hangomat_Ip Set Try='1' WHERE Ip='$jetec_Ip'"; else $eintrag = "INSERT INTO ".$jetec_Prefix."_Hangomat_Ip (Try, Ip) VALUES ('1','$jetec_Ip')"; $eintragen = mysql_query($eintrag); } } echo "<form method=\"POST\" action=\"index.php?hangomat\" name=\"loesen\">".$HEADER; echo "<tr class=\"hmheader\"><td align=\"center\" colspan=2>".$Titel."</td></tr> ".$Text.$FOOTER."</form>"; } ########################################### Vote $vote=9; if ($Buchstabe && (preg_match ("/^[A-Z]+$/", $Buchstabe))) { $abfrage8 = "SELECT * FROM ".$jetec_Prefix."_Hangomat WHERE Buchstaben NOT LIKE '%$Buchstabe%' AND Id=".$dat['Id']; $ergebnis8 = mysql_query($abfrage8); if($dat8 = mysql_fetch_array($ergebnis8)) $Text="Der Buchstabe \"<b>".$Buchstabe."</b>\" steht nichtmehr zur Auswahl.<br><a href=\"javascript:history.go(-1)\">zurück</a>"; $abfrage1 = "SELECT * FROM ".$jetec_Prefix."_Hangomat_Ip WHERE Ip='$jetec_Ip'"; $ergebnis1 = mysql_query($abfrage1); if($dat1 = mysql_fetch_array($ergebnis1)) $vote=$dat1['Vote']; if ($vote==1) $Text="Du hast Heute bereits für den Buchstaben \"<b>".$dat1['Buch']."</b>\" gevotet, versuche es Morgen noch einmal.<br><a href=\"javascript:history.go(-1)\">zurück</a>"; if (!$Text) { $dat[$Buchstabe]++; if ($vote==0) $eintrag = "UPDATE ".$jetec_Prefix."_Hangomat_Ip Set Vote='1', Buch='$Buchstabe' WHERE Ip='$jetec_Ip'"; if ($vote==9) $eintrag = "INSERT INTO ".$jetec_Prefix."_Hangomat_Ip (Vote, Ip, Buch) VALUES ('1','$jetec_Ip','$Buchstabe')"; $eintragen = mysql_query($eintrag); if (!strstr($dat['SWort'], $Buchstabe)) { $eintrag = "UPDATE ".$jetec_Prefix."_Hangomat Set ".$Buchstabe."=".$Buchstabe."+1 WHERE Id=".$dat['Id'].""; $eintragen = mysql_query($eintrag); } } } ########################################### Anzeige if (!$Text) { $abfrage = "SELECT * FROM ".$jetec_Prefix."_Hangomat ORDER BY Id"; $ergebnis = mysql_query($abfrage); if($dat = mysql_fetch_array($ergebnis)) { if ($jehmcookie==$adminpass) $jehmtt=""; else $jehmtt=""; $Text="<table cellpadding=5 cellspacing=1 class=\"hmtabelle\"><tr align=\"center\" class=\"hmfarbe2\"> <td class=\"hmfarbe3\" rowspan=2></td>"; for ($a=0; $a<$hmlaenge; $a++) { if ($dat[$hmallbuch[$a]]>0) { $W1[$a]=$dat[$hmallbuch[$a]]; $W2[$a]=$hmallbuch[$a]; } if ($dat['Buchstaben'][$hmcount]==$hmallbuch[$a]) { $Text.="<td align=\"center\"><input type=\"submit\" value=\"".$hmallbuch[$a]."\" name=\"Buchstabe\" class=\"hminput\" style=\"width:25; height:25;\"></td>"; $hmcount++; } else { $Text.="<td align=\"center\"><input type=\"button\" value=\"".$hmallbuch[$a]."\" class=\"hminput1\" style=\"width:25; height:25;\"></td>"; } if ($a==12) $Text.="</tr><tr class=\"hmfarbe2\">"; } $Text2=""; $Text3=""; if ($W1 && $W2) array_multisort ($W1,SORT_NUMERIC,SORT_DESC,$W2); for ($a=0; $a<count($W1); $a++) { $Text2.="<td align=\"center\"><b>".$W2[$a]."</b></td>"; $Text3.="<td align=\"center\">".$W1[$a]."</td>"; } $hmswort=""; for ($a=0; $a<strlen($dat['SWort']); $a++) $hmswort.=" ".$dat['SWort'][$a]; $Text.="</tr></table>"; $Text.="<br><table cellpadding=5 cellspacing=1 class=\"hmtabelle\"><tr align=\"center\" class=\"hmfarbe2\"><td align=\"center\" class=\"hmfarbe3\">Buchstaben:</td>".$Text2."</tr><tr align=\"center\" class=\"hmfarbe2\"><td align=\"center\" class=\"hmfarbe3\">Stimmen:</td>".$Text3."</tr></table> <br><span style=\"FONT-SIZE:20px; FONT-WEIGHT: bold;\">".$hmswort."</span><br><br> Das Wort läuft seit <b> ".$dat['Anzahl']." </b> Tag".($dat['Anzahl']!=1 ? "en" : "")."<br> Letzter gelöster Begriff: <b> ".$dat['LWort']."</b> <br> Letzter bewerteter Buchstabe: <b> ".$dat['Last']." </b><br> <input type=\"text\" name=\"Loesungswort\" style=\"width:300;\" class=\"hminput\"> <input type=\"submit\" value=\" Lösen \" class=\"hminput\"><br><br>".$jehmtt; } } } else { $Text="Kein Wort in der Datenbank.<br><br>".$jehmtt; } if (!$Loesungswort) { echo "<form method=\"POST\" action=\"index.php?hangomat\" name=\"hmform\"><input type=\"hidden\" value=\"\" name=\"hmcook\">".$HEADER; echo "<tr class=\"hmheader\"><td align=\"center\">".$Titel."</td></tr> <tr class=\"hmfarbe1\"><td align=\"center\">".$Text."</td></tr>"; echo $FOOTER."</form>"; $Text=" <tr align=\"center\" class=\"hmheader\"><td colspan=4>Die letzten ".$loeanz." Löser</td></tr> <tr align=\"center\" class=\"hmfarbe1\"><th>Gelöst:</th><th>Name:</th><th>Wort:</th><th>Tage:</th></tr>"; $abfrage1 = "SELECT * FROM ".$jetec_Prefix."_Hangomat_Liste ORDER BY Id DESC LIMIT $loeanz"; $ergebnis1 = mysql_query($abfrage1); while($dat1 = mysql_fetch_array($ergebnis1)) { if ($col=="hmfarbe1") $col="hmfarbe2"; else $col="hmfarbe1"; if ($dat1['Mail']) $dat1['User']="<a href=\"mailto:".$dat1['Mail']."\">".$dat1['User']."</a>"; if ($dat1['HP']) $dat1['HP']="<a href=\"".$dat1['HP']."\" target=\"NEU\"><img src=\"".$szge."/page.gif\" alt=\"HP\" border=0></a>"; $Text.="<tr class=\"".$col."\"><td>".date("d.m.Y", $dat1['Zeit'])."</td><td>".$dat1['HP']."".$dat1['Name']."</td><td align=\"center\">".$dat1['Wort']."</td><td align=\"center\">".$dat1['Anzahl']."</td></tr>"; } echo $HEADER; echo $Text; echo $FOOTER; } $design->footer(); ?> </center> </body></html> <?php $design->footer(); ?>
Ich war mal so frei den User und Passwort zu entfremden, aber ich verbürge mich dafür, daß sie in den Versionen auf unserem Server übereinstimmen; habe ich sogar per copy-paste übertragen, um auszuschliessen, daß sich da Leerzeichen oder sonstwas eingeschlichen hat, was man - je nach editor - nicht sofort sieht.
Thanks für Deine Hilfe !
Holgi