HTTP-Fehler 500 (Internal Server Error): Ein unerwarteter Zustand aufgetreten, während der server versucht, die Anforderung zu erfüllen

Ich bin neu in PHP und ich bin ein Skript. Können Sie helfen, wo bin ich falsch?
Ich möchte auch, es zu verstehen, nicht nur den code, weil ich bin lernen. Es ist ein IP-ban script (Oder ich will es sein 😀 )

<?php
mysql_connect('host', 'user', 'mypasss') or die(mysql_error()); 
mysql_select_db('databse')
$ip = (isset($_SERVER)) ? $_SERVER['REMOTE_ADDR'] : $HTTP_SERVER_VARS['REMOTE_ADDR']; 
echo "Your IP: ".$ip; 

$query = mysql_query("SELECT `ip` FROM `user` WHERE `ip` = '$ip'");
$row = mysql_fetch_array($query); 

$protocol = strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https') 
            === FALSE ? 'http' : 'https';

$host     = $_SERVER['HTTP_HOST'];

$script   = $_SERVER['SCRIPT_NAME'];
$params   = $_SERVER['QUERY_STRING'];

$currentUrl = $protocol . '://' . $host . $script . '?' . $params;


if ($row) {

   header("Location: $currentUrl/ban/ban.php"); 
   exit(); 
} else {
 $sql = mysql_query("INSERT  INTO user(ip) VALUES ('".$ip."') ");
 header("Location: $currentUrl/ban/ban.php");
}

?>

Dank für deine Hilfe 🙂

  • Bitte genau die Fehler, die Sie möglicherweise bekommen werden.
  • Können Sie erklären, was genau "falsch" und geben Sie eine richtige Erklärung und Titel?
  • Es funktioniert einfach nicht laden. Sie können es hier malamut.hu/prog/bottracker/caught_bot
  • sollten Sie nicht verwenden mysql_* Funktionen im neuen code (why?)Sie sind veraltet. PDO oder MySQLi statt
  • aber ich verwende mysql_connect in anderen Projekten, und diejenigen, die gut arbeiten.
  • So möchten Sie zum einfügen der IP in der ban Tabelle, wenn der Benutzer nicht bereits verboten? Passiert es, ist egal, die leere Seite? Auch Sie prüfen, ob $Zeile gilt für einige Grund, sollten Sie extrahieren Sie das Ergebnis und überprüfen Sie es?
  • Ja. Ich wan, um dort einfügen, wenn es nicht verboten ist. Es ist ein bot-tracker und es wird in einem Ordner verweigert robots.txt.. Wenn die ip da ist, ich will nicht in die Datenbank geschrieben. das ist $row
  • Und ich kann auch sagen, dass es ein bot sein banner script für mich und einige Freunde, weil ich es hasse 3000 Besucher auf meiner Website, die ist nicht wirklich groß: malamut.hu
  • Sie arbeiten gut für jetzt, aber die MySQL-Erweiterung nicht mehr gepflegt und wird irgendwann verschwinden ganz.
  • okey, aber ich bin nicht auf dieser Ebene denken der Zukunft. Ich möchte heute lernen :D, wenn das Skript wrking, dann werde ich das korrigieren
  • Okey Leute, Danke für die Hilfe, Das problem war sehr einfach. Ich fand es und es ist auf der Linie 3. Das Semikolon fehlt Dank für everyon die Hilfe

InformationsquelleAutor MLL | 2013-03-30
Schreibe einen Kommentar