2mal Submit-Button drücken

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 2mal Submit-Button drücken

    Hallo Forum,

    diese Datei heißt bei mir "bearbeiten.php". Sie führt ein Update von DS in einer mySQL-DB durch. Dies funktioniert auch.
    Ich möchte aber direkt nach Klick auf den Submit-Button in die Datei "en_zeile.php" zurückspringen, die ich in $updateGoTo angebe.

    Dies klappt aber nicht. Er aktualisiert die DB und bleibt auf der "bearbeiten.php" stehen. Erst bei erneutem Click auf den Submit-Button kehrt er zur gewünschten Datei zurück.

    Noch erwähnen möchte ich, daß es auf localhost ohne Probleme geht.

    Wer hat einen Tipp?

    Gruß

    PHP-Code:
    <?php require_once('../connections/energie.php'); ?>
    <html>
    <head>
    <meta http-equiv="Content-Style-Type" content="text/css">
    </head>
    <body topmargin="0" text="#000000" bgcolor="#DDEEFF" link="#FF0000" vlink="#FF0000" alink="#FF0000">
    <?php
    function GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
    {
      
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

      switch (
    $theType) {
        case 
    "text":
          
    $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
          break;    
        case 
    "long":
        case 
    "int":
          
    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case 
    "double":
          
    $theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
          break;
        case 
    "date":
          
    $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
          break;
        case 
    "defined":
          
    $theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
          break;
      }
      return 
    $theValue;
    }

    $editFormAction $HTTP_SERVER_VARS['PHP_SELF'];
    if (isset(
    $HTTP_SERVER_VARS['QUERY_STRING'])) {
      
    $editFormAction .= "?" $HTTP_SERVER_VARS['QUERY_STRING'];
    }

    if ((isset(
    $HTTP_GET_VARS["mmupdate"])) && ($HTTP_GET_VARS["mmupdate"] == "form1")) {
      
    $updateSQL sprintf("UPDATE help SET quelle=%s, beschreib=%s, laenderspezifika=%s WHERE row_id=%s",
                           
    GetSQLValueString($HTTP_GET_VARS['quelle'], "text"),
                           
    GetSQLValueString($HTTP_GET_VARS['beschreib'], "text"),
                           
    GetSQLValueString($HTTP_GET_VARS['laenderspezifika'], "text"),
                           
    GetSQLValueString($HTTP_GET_VARS['row_id'], "int"));

      
    mysql_select_db($database_energie$energie);
      
    $Result1 mysql_query($updateSQL$energie) or die(mysql_error());

      
    $updateGoTo "en_zeile.php";
      if (isset(
    $HTTP_SERVER_VARS['QUERY_STRING'])) {
        
    $updateGoTo .= (strpos($updateGoTo'?')) ? "&" "?";
        
    $updateGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
      }
      
    header(sprintf("Location: %s"$updateGoTo));
    }
    mysql_select_db($database_energie$energie);
    $query_update "SELECT * FROM help WHERE zeile = $zeile AND help.spalt_user = $spalt_user ORDER BY zeile ASC";

    $update mysql_query($query_update$energie) or die(mysql_error());
    $row_update mysql_fetch_assoc($update);
    $totalRows_update mysql_num_rows($update);

    mysql_free_result($update);
    ?>
    <form action="<? echo $updateGoTo ?>" method="GET" name="form1">
    <table align="center"> 
      <tr valign="baseline"> 
        <td nowrap align="right">Row_id:</td>
        <td><?php echo $row_update['row_id']; ?></td>
      </tr>
      <tr valign="baseline"> 
        <td nowrap align="right">Bezeichnung:</td>
        <td><?php echo $bez_zeil?></td>
      </tr>
      <tr valign="baseline"> 
        <td nowrap align="right">Quelle:</td>
        <td><textarea name="quelle" cols="50" rows="7"><?php echo $row_update['quelle']; ?></textarea></td>
      </tr>
      <tr valign="baseline"> 
        <td nowrap align="right">Beschreib:</td>
        <td><textarea name="beschreib" cols="50" rows="7"><?php echo $row_update['beschreib']; ?></textarea></td>
      </tr>
      <tr valign="baseline"> 
        <td nowrap align="right">Laenderspezifika:</td>
        <td><textarea name="laenderspezifika" cols="50" rows="7"><?php echo $row_update['laenderspezifika']; ?></textarea></td>
      </tr>
      <tr valign="baseline"> 
        <td nowrap align="right">&nbsp;</td>
        <td> 
          <input type="hidden" name="mmupdate" value="form1"> 
          <input type="hidden" name="row_id" value="<?php echo $row_update['row_id']; ?>"> 
          <input type="hidden" name="zeile" value="<?php echo $zeile?>"> 
          <input type="hidden" name="bezeichnung" value="<?php echo $bez_zeil?>"> 
          <input type="hidden" name="spalt_user" value="<?php echo $spalt_user?>">
          <input type="submit" name="submit" value="Datensatz aktualisieren"> 
    <a href="javascript:history.back();">zur&uuml;ck</a> </td> 
    </tr> 
    </table> 
    </form>
    <p>&nbsp;</p>
    </body>
    </html>

  • #2
    Vielleicht liegt es ja an den short-Tags...


    PHP-Code:
    <form action="<? echo $updateGoTo ?>" method="GET" name="form1">
    hast du mal im geparsten quellcode geschaut was an dieser Stelle rauskommt?

    Kommentar


    • #3
      Es funz nicht weil:
      1. du hast schon HTML-Ausgabe bevor du header aufrufst
      2. header aktzeptiert in der Regel nur absolute URL (relative funz manchmal auch aber nicht sicher)

      Kommentar


      • #4
        Hallo,

        danke für eure Antworten

        im Quelltext ist beim Aufruf
        <form action="" method="POST" name="form1">
        zu sehen.

        @asp2php
        Könntest du mir genauer beschreiben, was ich wegnehmen müßte?


        Gruß

        Kommentar


        • #5
          Original geschrieben von garfield71
          im Quelltext ist beim Aufruf
          <form action="" method="POST" name="form1">
          zu sehen.
          und - fällt dir vielleicht auf, ob da irgendwas fehlt ...?

          @asp2php
          Könntest du mir genauer beschreiben, was ich wegnehmen müßte?
          tja, welche, zitat: "HTML Ausgabe", hast du denn wohl vor dem header-befehl in deinem script?


          irgendwie macht das hier gerade den eindruck, als ob du überhaupt kein stück weit mitdenken möchtest.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            @Garfield71
            <form action="<? echo $updateGoTo ?>" method="GET" name="form1">
            JEDE Zeile eines PHP Codes MUSS mit einem Strichpunkt abgeschlossen werden. Schon mal etwas in dieser Richtung versucht ?

            PHP-Code:
            <form action="<? echo $updateGoTo;?>" method="GET" name="form1">
            Und ich würde auf eine konsquente Einhaltung der PHP-Tags achten:

            Entweder <? oder <?php
            Zuletzt geändert von jahlives; 23.09.2004, 04:05.
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Original geschrieben von garfield71
              im Quelltext ist beim Aufruf
              <form action="" method="POST" name="form1">
              zu sehen.
              wundert dich das? du definierst $updateGoTo nur im Falle, dass das Formular gesendet wurde, sonst aber kein Default-Wert.

              @asp2php
              Könntest du mir genauer beschreiben, was ich wegnehmen müßte?
              was verstehst du unter HTML-Ausgabe in einem PHP-Script? Wenn du dahinter kommst, dann weisst du was ich meine

              Kommentar


              • #8
                Original geschrieben von asp2php
                wundert dich das? du definierst $updateGoTo nur im Falle, dass das Formular gesendet wurde, sonst aber kein Default-Wert.
                Zur allgemeinen Verwunderung interpretiert der IE das sogar - und zwar als"php_self"

                Kommentar

                Lädt...
                X