Probleme mit Umlauten und Fehlermeldung header

MisterMi

Erfahrenes Mitglied
Hallo,

ich habe eigentlich nur das PW meiner MySQL Datenbank geändert und danach dies in 3 Teilen des QUellcodes aber seitdem geht meine Seite nicht mehr.

Ich erhalte beim Aufruf der Domain

"Warning: Cannot modify header information - headers already sent by (output started at /customers/b/3/5/mirkolinho.de/httpd.www/config.inc.php:1) in /customers/b/3/5/mirkolinho.de/httpd.www/index.php on line 7 "

Die Fehlermeldung kam mit gleichen Quellcode vorher nicht.
Sagt das jemand etwas?
Im Prinzip geht es nicht mehr weiter dann. Rufe ich aber gleich die Save.php auf komm ich dann rein aber dort werden nun urplötzlich keine Umlaute mehr auf der ganzen Homepage angezeigt... Nur noch irgendwelche Lustigen Zeichen an der Stelle.

Danke
 

Anhänge

  • Umlaute.jpg
    Umlaute.jpg
    459,5 KB · Aufrufe: 32
  • Kodierung.jpg
    Kodierung.jpg
    80,1 KB · Aufrufe: 10
Hi,

diese Meldung sagt aus, dass du den Header nicht mehr verändern kannst, weil schon Daten an den Client geschickt wurden.
Cannot modify header information - headers already sent

Schau dir mal die config.inc.php an, hast du vor dem startenden "<?" vielleicht ein Leerzeichen? Ist die Datei als ANSI oder UTF8 ohne BOM gespeichert?

Grüße,
BK
 
PHP:
<?php

/* MySQL Verbindung */

$verbindung = mysql_connect ('xxx.de.mysql', 'xxx_de', 'xxx')
or die ("Keine Verbindung zur Datenbank möglich. Benutzername oder Passwort sind falsch!");

mysql_select_db('xxx_de')
or die ("Die Datenbank existiert nicht.");

/* MySQL Verbindungsscript end */

?>

Nein kein Leerzeichen :(
 
PHP:
<?php
session_start();

include('./config.inc.php');

if($_SESSION['userid'] != '' && $_SESSION['user'] != ''){
 header('Location: ./save.php');
 exit;
}

$c = $_GET['c'];
$p = $_GET['p'];

if($c == 'login'){
 $user = htmlspecialchars($_POST['username'], ENT_QUOTES);
 $pass = htmlspecialchars($_POST['password'], ENT_QUOTES);
 $save = $_POST['save'];
 if($user != '' && $pass != ''){ // Pruefen ob alle Felder ausgefuellt wurden

  $usdb = mysql_query("Select * From user Where username = '$user'");
  $uanz = mysql_num_rows($usdb); // Anzahl der gefundenen Zeilen ausgeben
  $uaus = mysql_fetch_array($usdb); // Gibt Werte aus der User-Datenbank aus
  $upas = $uaus['password']; // Passwort abrufen
  $uid  = $uaus['id']; // Userid ausgeben

  if($uanz == 1){ // Pruefen ob ein User gefunden wurde
   if(md5($pass) == $upas){ // Passwort auf Gleicheit pruefen
    $_SESSION['userid'] = $uid;
    $_SESSION['user']         = $user;
    if($save == '1'){
     setcookie("U16285", $user, time()+3600*24*30);
     setcookie("P15212", md5($pass), time()+3600*24*30);
    }
    header('Location: ./save.php');
    exit;
   } else {
    $error = '<span class="error">Passwort wurde falsch eingegeben!</span>';
   }
  } else {
   $error = '<span class="error">User konnte nicht gefunden werden!</span>';
  }
 } else {
  $error = '<span class="error">Bitte f&uuml;lle die Felder aus!</span>';
 }
}

if($_COOKIE['U16285'] != '' && $_COOKIE['P15212'] != ''){
 $user = htmlspecialchars($_COOKIE['U16285'], ENT_QUOTES);
 $pass = htmlspecialchars($_COOKIE['P15212'], ENT_QUOTES);
 if($user != '' && $pass != ''){ // Pruefen ob alle Felder ausgefuellt wurden

  $usdb = mysql_query("Select * From user Where username = '$user'");
  $uanz = mysql_num_rows($usdb); // Anzahl der gefundenen Zeilen ausgeben
  $uaus = mysql_fetch_array($usdb); // Gibt Werte aus der User-Datenbank aus
  $upas = $uaus['password']; // Passwort abrufen
  $uid  = $uaus['id']; // Userid ausgeben

  if($uanz == 1){ // Pruefen ob ein User gefunden wurde
   if($pass == $upas){ // Passwort auf Gleicheit pruefen
    $_SESSION['userid'] = $uid;
    $_SESSION['user']         = $user;
    header('Location: ./save.php');
    exit;
   } else {
    $error = '<span class="error">Passwort wurde falsch eingegeben!</span>';
   }
  } else {
   $error = '<span class="error">User konnte nicht gefunden werden!</span>';
  }
 } else {
  $error = '<span class="error">Bitte f&uuml;lle die Felder aus!</span>';
 }
}

if($c == 'regist'){
// $error = '<span class="error">Diese Funktion ist nicht erlaubt in der Demo!</span>';
 $username = $_POST['username'];
 $password = $_POST['password'];
 $passconf = $_POST['passwordconfirm'];
 $email           = $_POST['email'];
 $captcha  = $_POST['captcha'];
 if($username != '' && $password != '' && $passconf != '' && $email != '' && $captcha != ''){
  if(md5($password) == md5($passconf)){ // Pruefen ob die Passwoerter gleich sind
   if(md5($_POST['captcha']) == $_SESSION['random_txt']){ // Captcha ueberpruefen
    unset($_POST['captcha'],$_SESSION['random_txt']); // Captcha-Bild löschen
        $usdb = mysql_query("Select * From user Where username = '$username'");
        $uanz = mysql_num_rows($usdb); // Anzahl der gefundenen Zeilen ausgeben
    if($uanz == 0){ // Es darf kein User anderer User so heissen
     $password = md5($password); // Passwort md5 verschluesseln
     $insert = mysql_query("Insert Into user (username, email, password) Values ('$username', '$email', '$password')"); // eintragen in die Datenbank
     if($insert){ // Wenn eingetragen wurde
      header('Location: ./');
      exit;
     } else {
      $error = '<span class="error">Fehler beim erstellen des Accounts!</span>';
     }
    } else {
     $error = '<span class="error">Username schon vorhanden! Bitte w&auml;hle einen anderen.</span>';
    }
   } else {
    $erro = '<span class="error">Captcha ist falsch!</span>';
   }
  } else {
   $error = '<span class="error">Passw&ouml;rter stimmen nicht &uuml;berein!</span>';
  }
 } else {
  $error = '<span class="error">Bitte alle Felder ausf&uuml;llen!</span>';
 }
}

Das ist die index datei bei der in Zeile 34 der Header Fehler sein soll...

" header('Location: ./save.php'); "
 
Ich vermute auch mal dass das BOM da mal wieder lustige Streiche spielt...
Hast du die Dateikodierung geändert? Falls ja, stell mal sicher dass es sich bei UTF8 um UTF8 ohne BOM handelt.
 
Zurück