PHP $_POST Unterschied Firefox <=> IE

Don_Pazo

Erfahrenes Mitglied
Hallo,
ich habe einen Problem mit IE.
Also ich habe eine einfache PHP Seite mit 3-Buttons. Die Abfrage nach dem geklickten Button funktioniert aber leider nicht beim IE.

Ich habe meine Buttons statt mit <input type="submit" ...> mit <button tyte="submit"></button> implementiert. Auser dem habe ich einen <img ..> und einen <div..></div> Tage eingefügt.

Ich wiess nicht woran es liegt, dass die PHP Weiterleitung nicht beim IE funktioniert

Siet jemand von euch Fehler ?
:(
PHP:
<?php
	/* Include 		*/	
	include_once("include/config.inc.php");

	if(isset($_POST['bAnmeldung'])){
		header("location: page/anmeldung.php");
	}
	
	if(isset($_POST['bRegistrierung'])){
		header("location: page/registrierung/index.php");
	}
	
	if(isset($_POST['bHilfe'])){
		header("location: page/hilfe/index.php");
	}
?>

<html>
<head>
<title>Startseite von eManager</title>
<link href="css/formatText.css" rel="stylesheet" type="text/css">
<link href="css/index.css" rel="stylesheet" type="text/css">
</head>

<SCRIPT LANGUAGE="JavaScript" type="text/javascript" src="css/index.js"></SCRIPT>

<body>
<table border="0">
  <tr>
    <td width="80">&nbsp;</td>
    <td width="300">&nbsp;</td>
    <td width="10">&nbsp;</td>
  </tr>
  
  <tr>
    <td width="80">&nbsp;</td>
    <td width="300">&nbsp;</td>
    <td width="10">&nbsp;</td>
  </tr>
  
  <tr>
    <td>&nbsp;</td>
    <td width="300">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  
  <tr>
    <td width="80">&nbsp;</td>
    <td width="300" align="left" valign="top"><fieldset>
    <legend><img src="bilder/formular/home.gif"></legend>
	<form name="Index" action=" <?php echo $_SERVER['PHP_SELF']; ?> " method="POST">
    <table width="240" border="0">
      
	  <tr>
        <td width="20">&nbsp;</td>
        <td width="200">
   		<button type="submit" <?php hilfe("eManager Anmeldung", 1, 0); ?> name="bAnmeldung" class="buttonAnmeldungIndex" value="Anmeldung" id="bAnmeldung" onMouseOver="buttonAnmeldungIndex_over('Anmeldung')" onMouseOut="buttonAnmeldungIndex_out('Anmeldung')">
		<img src="bilder/index/anmeldung_aus.gif" name="Anmeldung" align="left">
		<div id="divAnmeldung" class="buttonsText">Anmeldung</div>
		</button>		
        </td>
        <td width="20" class="normal">&nbsp;</td>
      </tr>
      
	  <tr>
        <td width="20">&nbsp;</td>
        <td width="200">
		<button type="submit" <?php hilfe("eManager Registrierung", 1, 0); ?> name="bRegistrierung" class="buttonRegistrierungIndex" value="Registrierung" id="bRegistrierung" onMouseOver="buttonRegistrierungIndex_over('Registrierung')" onMouseOut="buttonRegistrierungIndex_out('Registrierung')">
		<img src="bilder/index/registrieren_aus.gif" name="Registrierung" align="left">
		<div id="divRegistrierung" class="buttonsText">Registrierung</div>
		</button>		
        </td>
        <td width="20">&nbsp;</td>
      </tr>
      
	  <tr>
        <td width="20">&nbsp;</td>
		<td width="200">
		<button type="submit" <?php hilfe("eManager Hilfe", 1, 0); ?> name="bHilfe" class="buttonHilfeIndex" value="Hilfe" id="bHilfe" onMouseOver="buttonHilfeIndex_over('Hilfe')" onMouseOut="buttonHilfeIndex_out('Hilfe')">
		<img src="bilder/index/hilfe_aus.gif" name="Hilfe" align="left">
		<div  id="divHilfe" class="buttonsText">Hilfe</div>
		</button>		
        </td>
        <td width="20">&nbsp;</td>
      </tr>
      
	  <tr>
        <td width="20">&nbsp;</td>
        <td width="200">&nbsp;</td>
        <td width="20">&nbsp;</td>
      </tr>
    </table></form></fieldset>
	</td>
    <td width="10">&nbsp;</td>
  
  </tr>
</table>
</body>
</html>
 
das ganze war mehr oder weniger logische Fehler. Ich Paste der Beitrag und vielen dank an kalweit :


"isset" sind sind die Elemente ja alle, da sie vom Browser gesendet werden, auch wenn sie nicht angeklickt wurden. Einzig ist bei den nicht angeklickten Buttons der Wert "leer". Frage nicht, ob die Variablen vorhanden sind, sondern ob sie einen Wert !=leer enthalten:

if(isset($_POST['bHilfe']) && $_POST['bHilfe'])
 
Er kann das nächstemal ruhig im Beitrag posten, damit alle was davon haben. Zudem geht das auch kürzer.
PHP:
if(!empty($_POST['...']))

isset(...) kannst du weglassen, da sie ja alle immer übergeben werden.
 
Zurück