Serverfehler 500

09/14/2013 16:01 {Skrillex}#1
Serverfehler
500 - Interner Serverfehler.
Problem bei der gesuchten Ressource. Sie kann nicht angezeigt werden.

Dieser error wird mir angezeigt,wenn ich meine php datei aufrufe ( IIS + PHP 5.2)


weiß einer eine Lösung?
09/14/2013 16:18 Synatex#2
Serverfehler 500 bedeutet immer "intern" - was bei der Verarbeitung hat nicht geklappt. In die erste Zeile am besten error_reporting(E_ALL); schreiben, dann sollte der Fehler angezeigt werden.
09/14/2013 17:39 {Skrillex}#3
Das geht nun danke.

PHP Code:
<?php
error_reporting
(E_ALL E_NOTICE);
function 
ms_escape($data) { //Zu jeder Benutzereingabe hinzufügen!
    
if(!isset($data) or empty($data)) return '';
    if(
is_numeric($data)) return $data;
    
$non_displayables = array(
        
'/%0[0-8bcef]/',            // url encoded 00-08, 11, 12, 14, 15
        
'/%1[0-9a-f]/',                // url encoded 16-31
        
'/[\x00-\x08]/',            // 00-08
        
'/\x0b/',                    // 11
        
'/\x0c/',                    // 12
        
'/[\x0e-\x1f]/'                // 14-31
    
);
    foreach(
$non_displayables as $regex)
        
$data preg_replace($regex,'',$data);
        
$data str_replace("'","''",$data);
    return 
$data;
}

if (isset(
$_POST['register'])){
    if (!isset(
$_POST['userid']) || empty($_POST['userid'])){
        
show('Bitte Benutzername eingeben.');
        
$error true;
    }
    
    if (!
$error){
        if (!isset(
$_POST['pw']) || empty($_POST['pw'])){
            
show('Bitte Passwort eingeben.');
            
$error true;
        }
    }
    
    if (!
$error){
        if (!isset(
$_POST['pwwd']) || empty($_POST['pwwd'])){
            
show('Bitte Passwort wiederholen.');
            
$error true;
        }
    }
    
    if (!
$error){
        if (
strlen($_POST['userid']) > 16){
            
show('Der Benutzername darf nicht länger als 16 Zeichen sein.');
            
$error true;
        }
    }
    
    if (!
$error){
        if (
strlen($_POST['userid']) < 3){
            
show('Der Benutzername darf nicht kürzer als 3 Zeichen sein.');
            
$error true;
        }
    }
    
    if (!
$error){
        if (
strlen($_POST['pw']) > 12){
            
show('Das Passwort darf nicht länger als 12 Zeichen sein.');
            
$error true;
        }
    }
    
    if (!
$error){
        if (
strlen($_POST['pw']) < 3){
            
show('Das Passwort darf nicht kürzer als 3 Zeichen sein.');
            
$error true;
        }
    }
    
    if (!
$error){
        if (
$_POST['pw'] != $_POST['pwwd']){
            
show('Das Passwort stimmt nicht mit der Wiederholung überein.');
            
$error true;
        }
    }
    
    if (!
$error){
        
$ip        $_SERVER['REMOTE_ADDR'];
        
$userid ms_escape($_POST['userid']);
        
$pw        ms_escape($_POST['pw']);
        
        if (!
$res = @file_get_contents('http://*******:*****/create_account.php?userid='.$userid.'&pw='.$pw.'&ip='.$ip))
            die(
'Die Benutzerdatenbank konnte nicht erreicht werden.');
        
        switch(
$res){
            case 
'eins':
                die(
'Es ist ein unerwarteter Fehler aufgetreten.');
            case 
'zwei':
                
show('Der Benutzername ist bereits vergeben.');
                break;
            case 
'drei':
                die(
'Der Account wurde erfolgreich erstellt.');
        }
    }
} else
    
show();

function 
show($error ""){
    if (
$error != "")
        echo 
'<font color="red">'.$error.'</font><br>';
    
?>
    <form action="?page=register" method="POST">
    <table>
    <tr>
    <td>Benutzername: </td><td><input type="text" name="userid" maxlength="16"></td>
    </tr>
    <tr>
    <td>Passwort: </td><td><input type="password" name="pw" maxlength="12"></td>
    </tr>
    <tr>
    <td>Passwort wiederholen: </td><td><input type="password" name="pwwd" maxlength="12"></td>
    </tr>
    <tr>
    <td></td><td><input type="submit" name="register" value="Registrieren"></td>
    </tr>
    </table>
    </form>
    <?php
}

?>
Das ist jetzt mein Problem. Klicke ich auf Account erstellen erscheint eine weise seite?

was tun?

Grüße
09/14/2013 18:00 Synatex#4
Normalerweise sollte dann eine Fehlermeldung entstehen, falls eine vorhanden ist. Sonst würde ich mal davon ausgehen das irgendwo in deinem Script nen Typo ist.
09/15/2013 09:24 JacK le chilla#5
mach oben noch ein ini_set("display_errors", 1); rein ist von apache standartmäßig deaktiviert