Woran liegt das ****

Raptor72

Mitglied
Hallo Leute,

ich habe mal wieder ein Problem und zwar ist es so das die Seite auch mit dem Login beim Internet Explorer so funktioniert wie es sein soll, nur beim Firefox 4 wird irgendwie Mist gebaut :(

Woran kann das liegen denn ich habe schon alles Mögliche ausprobiert aber nichts hat bisher geholfen.
Firefox läuft im privaten Modus und die Seite ist bei Xampp gespeichert.
Bei meinen anderen Seiten läuft es auch normal, nur eben bei dieser nicht.

Danke schon jetzt für die Hilfe

Code:
<?php 
   session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="30; URL=index.php"  />
<title>Sven Homepage Arbeit</title>
<link href="layout.css" type="text/css" rel="stylesheet" />

</head>

<body >

<table class="klasse3" cellpadding="60">
  <tr>
    <th scope="col">&nbsp;</th>
  </tr>
</table>

<p></p>


<table class="klasse1" bgcolor="#ffa500" cellpadding="8">
 <?php
  if(isset($_SESSION['username']))
    {
	  echo "<tr><th align='center'>";
	  echo "Hallo <font size='+2' color='#00FF33'>" . $_SESSION["username"];
	  echo"</font></th>";
	  echo"<form action='logout.php' method='post' target='_self'>";
      echo"<th><input type='submit' class='anmeldeweiter' style='width:100px;height:20px;' name='logout' value='Logout'>";
      echo "</th></tr></form>";
	}
  else
    {
?>
  <tr>
   <th align="left"><span class="text1">Noch kein Mitglied, dann</span> -><a href="reg.php" class="reg">hier</a><- <span class="text1">registrieren !</span></th> 
    <th align="right" colspan="2">
      <form id="form1" method="post" action="login.php" target="_self">
        <label for="username">Username</label>
        <input type="text" name="username" id="username" />
        <label for="password">Passwort</label>
        <input type="password" name="password" id="password" />
        <input type="submit" class="anmeldeweiter" style="width:60px;height:20px;" name="login" id="login" value="GO !" />
      </form>
    </th>
  </tr>
<?php 
	}
?>
</table>
<p></p>

<table class="klasse4" bgcolor="#ff4500" cellpadding="10">
  <tr>
      <td colspan="3" align="center"><font color="#00ffff" face="Monotype Corsiva" size="+2">Herzlich Willkommen auf   ........</font></td>
  </tr>
  <tr>
      <td align="center" colspan="3">
       <script>
          var d = new Date()
		  var Monat = new Array("Januar","Februar","M&auml;rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
		  document.write(d.getDate())
	      document.write(" ")
	      document.write(Monat[d.getMonth()])
	      document.write(" ")
	      document.write(d.getFullYear())
	   </script>
      </td>
  </tr>
 

Anhänge

  • Unbenannt.jpg
    Unbenannt.jpg
    204,6 KB · Aufrufe: 14
Nein habe keine Cookies eingestellt und habe auch noch nie mit Cookies gearbeitet weil es bisher immer so ging :-D
 
Deine PHP-Konfiguration sagt dir, wie die Session-Zuordnung statt findet. Mach mal das hier in irgendeine Datei und zeig dir Rückgabe:

PHP:
<?php
echo "session.use_cookies: " . ini_get('session.use_cookies') . '<br/>';
echo "session.use_only_cookies: " . ini_get('session.use_only_cookies') . '<br/>';
?>
 
Habe den Fehler gefunden, war ein Fehler von mir weil ich nicht über localhost aufgerufen hatte bzw. der Browser das nicht richtig gespeichert hatte.

Das funktioniert also jetzt, habe aber noch eine andere Frage,

und zwar wenn ich eingaben mache aber absichtlich Stellen frei lasse um eben das Script zu testen so sehe ich das er nachdem ALERT die anderen ALERTS auch schnell durchläuft und nicht wie gewollt history back macht und die Eingaben sind danach auch weg welche doch bei history back eigentlich erhalten sein sollten, oder sehe ich da jetzt was falsch.

PHP:
<?php 
  mysql_connect("localhost", "root", "********");
  mysql_select_db("*****") or die ("Datenbank konnte nicht ausgewählt werden");

  $datum_regi = date("d.m.Y - H:i");
  $username = $_POST["username"];
  $name = $_POST["name"];
  $vorname = $_POST["vorname"];
  $geschl = $_POST["geschl"];
  $mail = $_POST["mail"];
  $password = $_POST["password"];
  $password_repeat = $_POST["password_repeat"];
  $birthday_day = $_POST["birthday_day"];
  $birthday_month = $_POST["birthday_month"];
  $birthday_year = $_POST["birthday_year"];
  
  if($password != $password_repeat OR $username == "" OR $password == "" OR $name == "" OR $vorname == "" OR $mail == "" OR $birthday_day == "" OR $birthday_month == "" OR $birthday_year == "")
  {

	echo'<script  language="javascript" type="text/javascript">alert ("Bitte vollständig ausfüllen !");';
    echo'history.back();</script>';

  }
  
  $password = md5($password);
  
  $result = mysql_query("SELECT id FROM mitglieder WHERE username like '$username'");
  $menge = mysql_num_rows($result);
  
  if($menge == 0)
  {
     $eintrag = "INSERT INTO mitglieder (datum_regi, username, name, vorname,geschl, mail, password, birthday_day, birthday_month, birthday_year) VALUES ('$datum_regi','$username','$name','$vorname','$geschl','$mail','$password','$birthday_day','$birthday_month','$birthday_year')";

     $eintragen = mysql_query($eintrag);
	 
	 if($eintragen == true)
	 {

     	echo '<script language="javascript" type="text/javascript">alert ("Persönliche Daten erfolgreich gespeichert !");</script>';
        echo '<script>history.back();</script>';


	 }
	 else
	 {

	   echo'<script language="javascript" type="text/javascript">alert ("Fehler beim Speichern !");</script>';
       echo'<script>history.back();</script>';

	 }
	 
  }
else
{
	   echo'<script language="javascript" type="text/javascript">alert ("Benutzername schon vorhanden !");</script>';
       echo'<script>history.back();</script>';

}
?>

Danke nochmal für eure Hilfe :)

Gruß Sven
 
Du willst das wirklich mit Java-Script lösen? Bist du dir im Klaren, das man Java-Script im Browser deaktivieren kann und damit die Laufzeit deines Scriptes beeinflusst wird?

Man löst dein Problem so:

Wenn ein Fehler auftritt, wird das Form noch mal ausgegeben, aber "dieses" Mal werden die Felder mit dem value-Attribut versehen und der $_POST-Inhalt des jeweiligen Feldes da rein geschrieben. Wenn du eine Weiterleitung (oder auch Zurück-Leitung) machen willst, mach das server-seitig mittels header()-Funktion (siehe Manual).
 
Danke dir für den Tip,

werde mich dort mal reinlesen und dann mein Script entsprechend umschreiben, zumal du auch Recht hast das es ohne JS besser wäre.

Danke :)
 
Zurück