Weiterleitung per Submit

Maximus

Erfahrenes Mitglied
Hi,
ich habe folgendes Problem :

Ich habe eine Form, mit den 3 Tasten "Editieren", "Erstellen" und "Löschen".

Hiese Form ruft sich im Normalfall selbst auf, es sei denn die Taste "Löschen" wurde gedrückt, dann soll sie die Seite "News_Loeschen.php" aufrufen.



PHP:
<?
If (Isset($Editieren))  print "Editieren";//**** Wenn Taste Editieren gedrückt wurde......*********
If (Isset($Erstellen))  print "Erstellen";//**** Wenn Taste Löschen gedrückt wurde......*********
If (Isset($Loeschen)) $Taste="Loeschen";
?>


PHP:
<form name="form1" method="post" action="<? If ($Taste=="Loeschen") print "News_Loeschen.php"; else print $PHP_SELF; ?>">

Und wenn ich jetzt auf die Taste "Löschen" drücke, wird zuerst immer nochmal die selbe Seite aufgerufen ($PHP_SELF) und erst beim zweiten drücken die "Löschen"-Seite ! Woran liegt das?
 
ich weiß nicht genau, wo das problem liegt, aber versuchs doch mal mit echo und mit geschweiften klammern bei if und else (jaaa, ich weiß dass es theoretisch auch ohne geht)

PHP:
<form name="form1" method="post" action="<? If ($Taste=="Loeschen") { echo "News_Loeschen.php"; } else { echo "$PHP_SELF"; } ?>">
 
weiß nicht genau, was du meinst, aber ich sag einfach mal, wie ich es machen würde.

PHP:
<?php

if($sub == "Erstellen") echo "Erstellen";
elseif($sub == "Editieren") echo "Editieren";
elseif($sub == "Löschen") header("news_loeschen.php");

?>
<form action="<?=$PHP_SELF?>" method=POST>
<input type=submit name="sub" value="Erstellen">
<input type=submit name="sub" value="Editieren">
<input type=submit name="sub" value="Löschen">
</form>
 
Nein, das hat leider nicht geholfen.
Die If-Bedingung wird ja auch akzeptiert, sonst würde die Seite sich ja immer selbst aufrufen. Aber beim 2. Klick auf die Löscehn Taste geht es ja dann!
 
Oh entschuldigung,
wie konnte ich nur *ascheaufmeinhauptstreu*

Aber leider klappt das nicht so ganz.
Die Seite greift immer nur auf sich selbst zu, wenn ich eine
Taste drücke.
Hier mal die komplette Quellcode:
PHP:
<?
if($Taste == "Erstellen") echo "Erstellen";
elseif($Taste == "Editieren") echo "Editieren";
elseif($Taste == "Beitrag löschen") header("News_Loeschen.php");
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="formate.css">
<title>WTW Engineering - Interner Bereich</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="feffec">
<br>
<table width="750" height="590" border="0" align="center" bordercolor="#000000" bgcolor="#FEFFEC">
  <tr> 
    <td height="95" colspan="2" align="left" valign="top"> <div align="center"> 
        <table width="100%" border="0">
          <tr> 
            <td height="69"> <div align="left"><font size="6" face="Arial, Helvetica, sans-serif"><strong><font size="5">WTW</font><br>
                <font size="1"><em>Engineering</em></font> </strong></font></div></td>
            <td width="450" height="69"><div align="left"><img src="Bilder/WTW_Banner.jpg" width="450" height="69"></div></td>
            <td height="69"> <div align="right"><font size="6" face="Arial, Helvetica, sans-serif"><strong><font size="5">WTW</font><br>
                <font size="1"><em>Engineering</em></font> </strong></font></div></td>
          </tr>
        </table>
      </div></td>
  </tr>
  <tr> 
    <td width="166" height="282" align="left" valign="top"> 
<table width="100%" border="0" align="left">
        <tr> 
          <td align="left" valign="top"><font size="2" face="Arial, Helvetica, sans-serif"><a href="Index.php">News</a></font></td>
        </tr>
        <tr> 
          <td align="left" valign="top"> <p><font size="2" face="Arial, Helvetica, sans-serif"><a href="Unternehmen.php">Unternehmen</a></font></p></td>
        </tr>
        <tr> 
          <td align="left" valign="top"> <p><font size="2" face="Arial, Helvetica, sans-serif"><a href="Produkte.php">Produkte</a></font></p></td>
        </tr>
        <tr> 
          <td align="left" valign="top"><font size="2" face="Arial, Helvetica, sans-serif"><a href="Vertretungen.php">Vertretungen</a></font></td>
        </tr>
        <tr> 
          <td align="left" valign="top"><font size="2" face="Arial, Helvetica, sans-serif"><a href="Downloads.php">Downloads</a></font></td>
        </tr>
        <tr> 
          <td align="left" valign="top"><font size="2" face="Arial, Helvetica, sans-serif"><a href="Kontakt_Formular.php">Kontakt</a></font></td>
        </tr>
        <tr> 
          <td align="left" valign="top"><font size="2" face="Arial, Helvetica, sans-serif"><a href="Links.php">Links</a></font></td>
        </tr>
        <tr> 
          <td align="left" valign="top"><font size="2" face="Arial, Helvetica, sans-serif"><a href="Intern_Passwort.php">Intern</a></font></td>
        </tr>
        <tr> 
          <td align="left" valign="top"><font size="1" face="Arial, Helvetica, sans-serif">• 
            <a href="Firmendaten_Edit.php">Firmendaten</a></font></td>
        </tr>
        <tr> 
          <td align="left" valign="top"><font size="1" face="Arial, Helvetica, sans-serif">• 
            Telefonregister</font></td>
        </tr>
        <tr> 
          <td align="left" valign="top"><font size="1" face="Arial, Helvetica, sans-serif">• 
            News editieren</font></td>
        </tr>
      </table></td>
    <td width="658" align="left" valign="top"> <div align="left"> 
       
          <div align="center"> </div>
          
		  
        <table width="450" height="470" border="0" cellpadding="5" cellspacing="5" style="background-image:url(Bilder/Tasten.jpg); background-repeat:no-repeat; background-position:center">
<tr> 
              <td><div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><strong>Interner 
                Bereich - News editieren</strong></font></div></td>
            </tr>
            <tr>
              <td><div align="center"> 
			  

				<form name="form1" method="post" action="<? echo $PHP_SELF; ?>">

			  
                  <table width="100%" height="299" border="0">
                    <tr> 
                      <td><font size="2" face="Arial, Helvetica, sans-serif">News 
                        wählen </font></td>
                      <td><font size="2" face="Arial, Helvetica, sans-serif"> 
                        <select name="NewsMenu" id="NewsMenu" >
<option> 
                          <?
						 //*********** Öffnen der Datenbak **********
					     $host="localhost";
						 $Benutzer="";
						 $Passwort="";
						 $Datenbank="WTW";
						 $Verbindungskennung = mysql_connect($host, $Benutzer, $Passwort);
						 mysql_select_db($Datenbank, $Verbindungskennung);

						 // ********* Ab hiert werden die Daten aus der Datenbank ausgelesen ****************
						 $sql_Abfrage="SELECT  Nummer, Ueberschrift, Datum FROM news ORDER BY SUBSTRING(datum, 7, 4) DESC, SUBSTRING(datum, 4, 2) DESC, SUBSTRING(datum, 1, 2) DESC ";
						 $Ergebnis=mysql_query($sql_Abfrage, $Verbindungskennung);
						 $Zaehler=0;
						  while ($Reihe = mysql_fetch_array($Ergebnis))
						  {
						  		$Zaehler = $Zaehler+1;
						  		print "<option>".$Reihe[Datum]."   •   ".$Reihe[Ueberschrift]."</option>";
						  }
						mysql_close($Verbindungskennung);
						?>
                          </option>
                        </select>
                        </font></td>
                    </tr>
                    <tr> 
                      <td><font size="2" face="Arial, Helvetica, sans-serif"> </font></td>
                      <td><font size="2" face="Arial, Helvetica, sans-serif">  
                        </font></td>
                    </tr>
                    <tr> 
                      <td> </td>
                      <td><font size="2" face="Arial, Helvetica, sans-serif">  
                        </font></td>
                    </tr>
                    <tr> 
                      <td> </td>
                      <td><font size="2" face="Arial, Helvetica, sans-serif">  
                        </font></td>
                    </tr>
                    <tr> 
                      <td> </td>
                      <td><font size="2" face="Arial, Helvetica, sans-serif">  
                        </font></td>
                    </tr>
                    <tr> 
                      <td colspan="2"> </td>
                    </tr>
                  </table>
                  <input name="Taste" type="submit" id="Erstellen" value="Beitrag erstellen">
                  <input name="Taste" type="submit" id="Editieren" value="Beitrag ändern">
                  <input name="Taste" type="submit" id="Loeschen" value="Beitrag löschen">
                </form>
                <p><font size="2" face="Arial, Helvetica, sans-serif"><br>
                  </font></p>
                </div></td>
            </tr>
          </table>
        </form>
</div></td>
  </tr>
  <tr> 
    <td height="15" colspan="2" align="left" valign="top"> <p align="center"><font size="-7" face="Arial, Helvetica, sans-serif"> 
        • <a href="Index.php">News</a> • <a href="Unternehmen.php">Unternehmen</a> 
        • <a href="Produkte.php">Produkte</a> • <a href="Vertretungen.php">Vertretungen</a> 
        • <a href="Downloads.php">Downloads</a> • <a href="Kontakt_Formular.php">Kontakt</a> 
        • <a href="Links.php">Links</a> • <a href="Intern_Passwort.php">Intern</a><br>
        • <a href="Firmendaten_Edit.php">Firmendaten</a> • Telefonregister 
        • News editieren</font></p></td>
  </tr>
</table>
</body>
</html>
 
javascript

sorry ich hab keine Zeit mir den quelltext jetzt durchzu
arbeiten, also wenn ich müll quatsch ignorieren. :)


also ich denke mal das es daran liegt
das php ja auf dem server interpretiert wird,
also wenn du löschen drückst sendet er das ding an den server,
dann interpretier er dir löschen und gibt dir die Seite zurück.
Diese löscht denn erst beim naechsten klick.
Also ich wuerd mir da ein hiddenfield anlegen und mit javascript eine
variable vor dem Post setzen.

Oder du umgibst jeden button mit einen Formular und setz dort
drinnen einen hiddenfield. Dann kanst du auf javascript verzichten.

oder alternativ mit get

mage
 
Zurück