kostenloser Webspace werbefrei: lima-city


header & Location

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Hallo Zusammen,

    Ich bastel mir gerade ein kleines Login-Script und möchte gerne per Header weiterleiten. Jedoch klappt es nicht so wie es soll. Was mache ich falsch?

    <?php session_start();
    	
    	require_once('connect/config.php');
    	@$db = mysqli_connect($url,$user,$pw,$dbname);
    	
    	$email    = mysqli_real_escape_string($db, $_POST['email']);
    	$password = hash("sha512",mysqli_real_escape_string($db, $_POST['password']));
    	$remember = mysqli_real_escape_string($db, $_POST['remember']);
    	
    	if(empty($email)){
    		header("Location: /pages/login.php?miss=email");
    		exit();		
    	}elseif(empty($password)){
    		header("Location: /pages/login.php?miss=password");
    		exit();
    	}else{
    		$check_value  = $db->query("SELECT * FROM users WHERE passwort='$password' AND email='$email'");
    		$check_result = $check_value->num_rows;
    		if($check_result == 1){
    			if($remember == true){
    			}		
    			$_SESSION['userid'] = $email;
    			header("Location: /pages/index.php");
    			exit();						
    		}else{
    			header("Location: /pages/login.php?miss=invalid");
    			exit();
    		}	
    	}
    
    	mysqli_close($db);		
    ?>


    LG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    jo, klar:
    http://php.net/manual/de/function.header.php
    Steht doch dabei:
    Hinweis:
    HTTP/1.1 verlangt einen absoluten URI inklusive dem Schema, Hostnamen und absoluten Pfad als Argument von » Location:, aber manche Clients akzeptieren auch relative URIs. Gewöhnlich können Sie mittels $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] und dirname() aus einem relativen Link einen absoluten URI selbst erstellen:

    <?php
        /* Redirect auf eine andere Seite im aktuell angeforderten Verzeichnis */
        $host  = $_SERVER['HTTP_HOST'];
        $uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
        $extra = 'mypage.php';
        header("Location: http://$host$uri/$extra");
        exit;
        ?>



    Beitrag zuletzt geändert: 7.4.2015 21:24:32 von burgi
  4. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Hmm klappt immer noch nicht:

    <?php session_start();
    	
    	require_once('connect/config.php');
    	@$db = mysqli_connect($url,$user,$pw,$dbname);
    	
    	$email    = mysqli_real_escape_string($db, $_POST['email']);
    	$password = hash("sha512",mysqli_real_escape_string($db, $_POST['password']));
    	$remember = mysqli_real_escape_string($db, $_POST['remember']);
    	$host     = $_SERVER['HTTP_HOST'];
        $uri      = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
     
    	
    	if(empty($email)){
    		$extra = "login.php";
    		header("Location: http://$host$uri/$extra");
    		exit();		
    	}elseif(empty($password)){
    		$extra = "login.php";
    		header("Location: http://$host$uri/$extra");
    		exit();
    	}else{
    		$check_value  = $db->query("SELECT * FROM users WHERE passwort='$password' AND email='$email'");
    		$check_result = $check_value->num_rows;
    		if($check_result == 1){
    			if($remember == true){
    			}		
    			$_SESSION['userid'] = $email;
    			$extra = "index.php";
    			header("Location: http://$host/pages/$extra");
    			exit();						
    		}else{
    			$extra = "login.php";
    			header("Location: http://$host$uri/$extra");
    			exit();
    		}	
    	}
    	
    	mysqli_close($db);		
    ?>


    LG
  5. Diese äußert genauen Fehlerbeschreibungen ...

    UTF-8 BOM evtl. Gibst du vorher was aus?
  6. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Alle Dateien sind UTF-8 kodiert.

    Auch ohne BOM klappt es immer noch nicht, habe weder eine Fehlermeldung, nur eine weiße Seite, wenn ich aber ein Echo irgendwo hinsetze, wird dieses auch ausgegeben, also gehe ich nicht davon aus, das ein PHP Fehler vorliegt.


    LG


    EDIT:// Das Problem lag an der config Datei, diese war falsch kodiert.
    EDIT2// Also wenn ich statt include und variablen bei mysqli alles direkt reinschreibe klappt alles aber mit der config Datei nicht. Warum nicht? Ist jetzt alles UTF-8 Ohne Bom

    Beitrag zuletzt geändert: 8.4.2015 0:19:39 von marvinkleinmusic
  7. marvinkleinmusic schrieb:
    EDIT2// Also wenn ich statt include und variablen bei mysqli alles direkt reinschreibe klappt alles aber mit der config Datei nicht. Warum nicht? Ist jetzt alles UTF-8 Ohne Bom
    Durch die config-Datei darf es keine Ausgabe geben. Also:
    - kein echo (in der config eigentlich selbstverständlich)
    - kein BOM (hast du bestätigt)
    - keine Zeichen vor
    <?php
    . Auch keine Leerzeichen oder Zeilenumbrüche.
    - keine Zeichem nach
    ?>
    . Hier gilt genau das gleiche.

    Hilft alles nicht?
    Ich denke, du testest auf Lima-City. Dann gehe in die Website Verwaltung und schalte für die entsprechende Domain PHP: display_errors an. Dann müsstest du eine Fehlermeldung bekommen, mit der wir mehr anfangen können.
  8. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Also alles trifft zu, die Fehleranzeige habe ich sogar aktiviert, erhalte jedoch absolut gar nichts.


    Liebe Grüße

  9. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Wenn du ein Tool hast, mit welchem du den Netzwerk-Traffic mitschneiden kannst (z.B. Wireshark) oder im Browser die Konsole nutzt, könntest du rausfinden, ob der Header überhaupt übertragen wurde … alternativ, falls du cURL installiert hast, wäre auch etwas wie
    curl -i http://www.example.com/umleitungsseite
    möglich, dann würdest du ebenfalls die vollständige Server-Antwort inklusive Header sehen. Wenn dann gar kein Locaion-Header gesetzt ist, musst du wohl irgendwo ein Zeichen ausgegeben haben, bevor du den Header gesetzt hast, oder es verbirgt sich ein anderer Fehler, der erst gefunden werden will …
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!