Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

PHP: Login Fehlermeldung

Hallo liebe PHP- und Sql-Freaks!  ;)

Wenn ich mich einlogen will bekomme ich eine fehlermeldung (nur wenn eingabe des users stimmt)...  :-\

der fehler liegt glaub ich an "session_start();", aber wo?  ???

Zitat
Warning: Cannot modify header information - headers already sent by (output started at C:\Users\n00bie\Desktop\xampp\htdocs\index.php:68) in C:\Users\n00bie\Desktop\xampp\htdocs\index.php on line 104

hoffe mir kann jemand helfen.

Antworten zu PHP: Login Fehlermeldung:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Leerzeichen ode Zeilenschaltung vor dem <php Tag am Anfang der Datei??

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

nein da ist alles in ordnung...

Hallo  :D,
was steht in Deinem Script vor der Funktion header()?
Ist das Dein eigenes Script oder irgendein "altes"? 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi,

falls da gar nichts davor steht (auch kein <html> und kein Leerzeichen) könnte es am Byte-Order-Mark liegen, sofern Du als Kodierung UTF-8 verwendest. Bei manchen Editoren kann man dieses BOM abschalten. Im Notepad++ geht dies z.B. im Menü unter "Kodierung", hier müsstest Du "Utf-8" in "Utf-8 ohne BOM" ändern.

Es kann natürlich auch sein, dass Du das Login-Script per Include integrierst und in dem Ursprungs-Script schon eine Ausgabe stattfindet (oder diese den BOM verwendet.) 

« Letzte Änderung: 05.11.10, 20:44:26 von MBGucky »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

danke erstmal für die antworten!

der aufbau sieht wie folgt aus:

Zitat
<?php
   session_start();
?>
<!--Dann etwas in HTML... also <html><head>...-->
<?php
      if($_POST) {
      require_once 'config.php';
      $username = $_POST['user'];
      $password = $_POST['password'];      
   
      $conn = mysql_connect($dbhost,$dbadmin,$dbpass)or die ('Fehler beim Connecten der Datenbank!');
      mysql_select_db($dbname);
      
      $sql = sprintf("SELECT COUNT(id) FROM users WHERE UPPER(username) = UPPER('%s') AND password='%s'",
         mysql_real_escape_string($username),
         mysql_real_escape_string(md5($password)));
      
      $result = mysql_query($sql);
      
      list($count) = mysql_fetch_row($result);
      if($count == 1) {
         $_SESSION['authenticated'] = true;
         $_SESSION['username'] = $username;
         
         $sql = sprintf("UPDATE users SET last_login = NOW() WHERE UPPER(username) = UPPER('%s') AND password = '%s'",
            mysql_real_escape_string($username),
            mysql_real_escape_string(md5($password)));
         
         mysql_query($sql);
         
         $sql = sprintf("SELECT is_admin FROM users WHERE UPPER(username) = UPPER('%s') AND password='%s'",
            mysql_real_escape_string($username),
            mysql_real_escape_string(md5($password)));
         
         $result = mysql_query($sql);
         
         list($is_admin) = mysql_fetch_row($result);
         if($is_admin == 1) {
            header('Location:admin.php');         
         } else {
            header('Location:hiergehtsweiter.php');            
         }
      }
      else {   
   ?>
      <span style='color:red'>Fehler: User/Passwortkombination nicht vorhanden.</span><br>
   <?php   
         }
      }
   ?>
<!--und gleich hinter diesem PHP script das formular <form>...</form>-->
 

sry das ich es als zitat einfügen muss kenne aber keine anderen weg   ::)

Du darfst keine Ausgabevor header() verwenden, ansonsten wird der Header nicht mehr versendet.
Du kannst es aber mal mit ob_start und ob_end_flush versuchen(Ausgabepuffer!)
 

Achso, und schieb mal den HTML-Krempel auch nach hinten.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Danke für deine hilfe mit dem header!!
habe aber jetzt eine eigene Variante gefunden:

habe zuerst das php script, aber endet jetzt so:

Zitat
else {   
         $ausgabe = "<span style='color:red'>Fehler: User/Passwortkombination nicht vorhanden.</span><br>";
      }

danach gebe ich den text einfach mit einem echo aus...

da dürfte es doch keine problem sein?
zumindestens erkenne ich kein problem wenn ich mir die seite anzeigen lasse...

« Bild über Tabellenrand ziehenAjax/JS »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Tag
Ein Tag ist ein englischer Begriff und bedeutet so viel wie Etikett, Mal, Marke, Auszeichner und Anhänger. Generell ist Tag eine Auszeichnung eines Datenbetandes mit...

Auslagerungsdatei
Die Auslagerungsdatei, auch bekannt als virtueller Speicher, ist ein wichtiges Element im Windows-Betriebssystem. Sie dient als Erweiterung des physischen Arbeitsspeicher...

Dateiendungen
Die Dateiendung, auch Dateinamenerweiterung, Dateierweiterung oder einfach "Endung" genannt, besteht aus meistens drei oder vier Buchstaben und wird mit einem Punkt an de...