PHP header funktioniert nicht im MAMP auch nach entfernen der Leerzeichen
Ich bin mit MAMP und aus irgendeinem Grund bin ich nicht immer Weiterleitung mit header in php, kann mir jemand bitte haben Sie einen Blick auf den folgenden code, wenn es etwas falsch daran???
Ich habe gelesen, ähnliche Beiträge und gefunden, dass es durch eine Art von Leerzeichen vor dem header-tag, aber in meinem Fall ist es nicht.
Bitte geben Sie Ihre Ratschläge...danke
<?php
$host="localhost"; //Host name
$username="root"; //Mysql username
$password="root"; //Mysql password
$db_name="DBase"; //Database name
$tbl_name="customers"; //Table name
//Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
//username and password sent from the form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$myusername = stripslashes($myusername);
$mypassword = md5($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE Username='$myusername' and Password='$mypassword'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
session_register("myusername");
session_register("mypassword");
header("location:/Account/index.php");
}
else {
echo "Wrong Username or Password.";
}
?>
Du musst angemeldet sein, um einen Kommentar abzugeben.
ist ein Weg, dies zu tun, aber können Sie output buffering benutzen, dieses problem zu umgehen, mit dem overhead, dass alle Ihre Ausgaben an den browser gepuffert werden, in dem server, bis Sie Sie senden. Sie können dies tun, durch aufrufen
ob_start()
undob_end_flush()
im Skript, oder setzen Sie die Konfigurationsdirektive output_buffering in deiner php.ini oder server-Konfigurations-Dateien.BEARBEITEN UND ANFÜGEN LÖSUNG: ------>
Können Sie Output Buffering benutzen, wie
Das problem ist, dass wir nicht senden Sie die Kopfzeile nach dem wir beginnen, das senden der Ausgabe. Um dieses Problem zu lösen, die wir Puffer für die Ausgabe. Die Funktion ob_start dreht output buffering auf. Während die Ausgabepufferung aktiv ist, wird keine Ausgabe geschickt aus dem Skript (außer Header), anstatt die Ausgabe wird gespeichert in einem internen Puffer. Also die echo-Ausgabe wird gepuffert werden. Als Nächstes senden wir die header ohne problem, da haben wir noch nicht ausspucken keine Ausgabe. Schließlich nennen wir ob_end_flush Spülen, um die internen Puffer-Inhalt und stoppen Sie die Ausgabe-Pufferung.
Ich hatte das gleiche problem in MAMP und es stellte sich heraus, dass output_buffering war deaktiviert in meinem php.ini-Konfigurationsdatei. Alles hatte ich zu tun ist, schalten Sie es wieder auf.
in php.ini finden Sie diese Zeile:
und zu ändern:
Dann starten Sie MAMP
Bitte Lesen Sie diesen Beitrag für weitere details:
http://hibbard.eu/php-headerlocation-not-working-in-mamp/
Es sollte so etwas wie dieses:
Location
- Headern, wie Sie zu beheben ungültiges HTML.