form problem

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

  • form problem

    Mein button in der form sieht so aus:
    <input type="submit" name="wedit" value="edit">

    soweit das script(auszug)
    PHP-Code:
    <?php
        
    if ( isset($_POST['weidt']) ) {
                    
    //wird nicht unbedingt gebraucht, aber sicher ist sicher
                    
    if ($_POST['ecpid'] == "" OR $_POST['ectid'] =="" OR $_POST['eduration'] =="") {
                        
    $wediterror "Bitte Projektnummer, Arbeitstyp, Dauer wählen";
                    echo 
    "<hr>error <--";
                    } else {
                        
    //update
                        
    echo "<hr>update <--";
                        
    $uworkquery $DBase->query("     UPDATE  
                                                            "
    .$prefix."_worksheet
                                                        SET 
                                                            pid='"
    .$_POST['ecpid']."',
                                                            tid='"
    .$_POST['ectid']."',
                                                            duration='"
    .$_POST['eduration']."',
                                                            info='"
    .$_POST['einfo']."'
                                                        WHERE 
                                                            wid='"
    .$_POST['ewid']."'");        
                        
    header('Location: '$_SERVER['REQUEST_URI'].'');
                    }
                } else {
                echo 
    "<hr>ausgabe ecpid-".$_POST['ecpid']."ectid->".$_POST['ectid']."eduraiton->".$_POST['eduration'];
        
    ?>

    Problem:
    Ich bekomme immer <hr>ausgabe ausgegeben die POST werte enthalten die richtigen werte. warum ist die if oben nie true ?
    thx Mukraker

  • #2
    Weil du zu D**F bist zum schreiben!!!

    PHP-Code:
      if ( isset($_POST['weidt']) ) { 
    und jetzt weiche...

    Kommentar


    • #3
      ohhps, ne daran lags aber nicht
      thx Mukraker

      Kommentar


      • #4
        hätte ich jetzt auch gesagt,

        Kommentar


        • #5
          wenn die variable gesetzt ist, und du das berichtigt hast, dann geht das auch. andere fehlerquelle (außer DU) gibt es nicht!

          Kommentar


          • #6
            na muper


            jetzt sind alle $_POST[] werte leer wenn ich edit(submit) drücke
            thx Mukraker

            Kommentar


            • #7
              kann ich die Seite sehen?

              Kommentar


              • #8
                sry ist im moment nur offline bei mir aufm PC

                aber wenn mehr php code hilft
                ------------------------------
                PHP-Code:
                ###### ersten teil füllen
                    //daten aus db holen
                    
                $sql =     "SELECT 
                                *
                            FROM 
                                "
                .$prefix."_worksheet
                            WHERE
                                YEAR(date)="
                .$intjahr." AND
                                MONTH(date)="
                .$intmonat." AND
                                DAYOFMONTH(date)="
                .$intday." AND
                                eid = "
                .$euserid."";
                    
                $worksheetquery $DBase->query($sql);
                    
                $anz $DBase->num_rows();
                    
                #### pulldown felder aufbereiten
                    //projektnummer aufbereiten
                    
                $cpid .="<select name=\"cpid\">\n";
                    
                $cpid .= "<option value=\"\">w&auml;hlen</option>";
                    
                $projektquery $DBase->query(" SELECT 
                                                        *
                                                    FROM
                                                        "
                .$prefix."_projekt
                                                    WHERE
                                                        status=1"
                );    
                    while (
                $row mysql_fetch_object($projektquery)) {        
                        
                $datum date ("my"strtotime($row->date));
                        
                $fpid $datum.$row->pid;
                        
                //i wenn länger als 20 zeichen kürzen
                        
                if (strlen($row->name) > "20") {
                            
                $name substr($row->name,17)."...";
                        } else {
                            
                $name $row->name;
                        }
                        
                $cpid .= "<option ".$selected." value=\"".$row->pid."\">".$fpid." ".$name."</option>\n";
                    }
                    
                $cpid .= "</select>";
                    
                //arbeitstype aufbereiten aufbereiten
                    
                $ctid .="<select name=\"ctid\">\n";
                    
                $ctid .= "<option value=\"\">w&auml;hlen</option>";
                    
                $typequery $DBase->query(" SELECT 
                                                        *
                                                    FROM
                                                        "
                .$prefix."_type");    
                    while (
                $row mysql_fetch_object($typequery)) {
                        
                $ctid .= "<option value=\"".$row->tid."\">".$row->name."</option>\n";
                    }
                    
                $ctid .= "</select>";
                    
                //duration
                    
                $zeiten = array('00:05','00:10''00:15''00:20''00:30''00:45''01:00''01:30''02:00''02:30''03:00''03:30''04:00''04:30''05:00');
                    
                $duration .= "<select name=\"duration\">";
                    
                $duration .= "<option value=\"\">w&auml;hlen</option>";
                    foreach (
                $zeiten as $wert) {
                        
                $duration .="<option value=".$wert.">".$wert."</option>\n";
                    }
                    
                $duration .= "</select>\n";
                    
                ### ende puldown menu
                    //wenn nichts gefunden
                    
                if ($anz == 0) {
                        
                $error "keine daten für diesen tag gefunden";    
                    }
                    
                //wenn daten gefunden anzeigen
                    
                $worksheet .= "<table width=\"100%\">\n";
                    
                $worksheet .= "<tr class=\"headercontent\">\n<td>Projekt</td>\n<td>Tätigkeit</td>\n<td>Dauer</td>\n<td>Info</td>\n<td>Option</td>\n</tr>\n";
                    while (
                $row mysql_fetch_object($worksheetquery)){
                        
                //projektname suchen
                        
                $projektquery $DBase->query("SELECT
                                                            *
                                                        FROM
                                                            "
                .$prefix."_projekt
                                                        WHERE
                                                            status = '1' AND
                                                            pid = '"
                .$row->pid."'");
                        
                $prow mysql_fetch_object($projektquery);
                        
                $datum date ("my"strtotime($prow->date));
                        
                //wenn projektname zu lang
                        
                if (strlen($prow->name) > "20") {
                            
                $name substr($row->name,17)."...";
                        } else {
                            
                $name $prow->name;
                        }
                        
                $fpid $datum.$prow->pid." ".$name;
                        
                //typname suchen
                        
                $typquery $DBase->query("SELECT
                                                        name
                                                    FROM
                                                        "
                .$prefix."_type
                                                    WHERE
                                                        tid='"
                .$row->tid."'");
                        
                $trow mysql_fetch_object($typquery);
                        
                $typ=$trow->name;
                        
                //ausgabe
                        //ausgabe wenn etwas geändert werden soll
                        
                if (isset($_GET['ewid']) AND $_GET['ewid'] == $row->wid) {
                            
                //eingaben checken
                            //wenn wir auf dem aktuellen tag sind gibt es noch keine getdaten
                            
                if ( isset($_POST['wedit']) ) {
                                
                //wird nicht unbedingt gebraucht, aber sicher ist sicher
                                
                if ($_POST['ecpid'] == "" OR $_POST['ectid'] =="" OR $_POST['eduration'] =="") {
                                    
                $wediterror "Bitte Projektnummer, Arbeitstyp, Dauer wählen";
                                    echo 
                "<hr>error <--";
                                } else {
                                    
                //update
                                    
                echo "<hr>update <--";
                                    
                $uworkquery $DBase->query("     UPDATE  
                                                                        "
                .$prefix."_worksheet
                                                                    SET 
                                                                        pid='"
                .$_POST['ecpid']."',
                                                                        tid='"
                .$_POST['ectid']."',
                                                                        duration='"
                .$_POST['eduration']."',
                                                                        info='"
                .$_POST['einfo']."'
                                                                    WHERE 
                                                                        wid='"
                .$_POST['ewid']."'");        
                                    
                header('Location: '$_SERVER['REQUEST_URI'].'');
                                }
                            } else {
                            echo 
                "<hr>->ausgabe wedit-".$_POST['wedit']."ecpid->".$_POST['ecpid']."eduraiton->".$_POST['eduration'];
                            
                ### pulldowns nochmal auflisten diesmal mit select ###
                            //projektnummer aufbereiten
                            
                $scpid .="<select name=\"ecpid\">\n";
                            
                $projektquery $DBase->query(" SELECT 
                                                                *
                                                            FROM
                                                                "
                .$prefix."_projekt
                                                            WHERE
                                                                status=1"
                );    
                            while (
                $prow mysql_fetch_object($projektquery)) {
                                
                //abfragen was gewählt war
                                
                if ($row->pid == $prow->pid) {
                                    
                $selected "selected";
                                } else {
                                    
                $selected ="";
                                }        
                                
                $datum date ("my"strtotime($row->date));
                                
                $fpid $datum.$prow->pid;
                                
                //i wenn länger als 20 zeichen kürzen
                                
                if (strlen($prow->name) > "20") {
                                    
                $name substr($prow->name,17)."...";
                                } else {
                                    
                $name $prow->name;
                                }
                                
                $scpid .= "<option ".$selected." value=\"".$prow->pid."\">".$fpid." ".$name."</option>\n";
                            }
                            
                $scpid .= "</select>";
                            
                //arbeitstype aufbereiten aufbereiten
                            
                $sctid .="<select name=\"ectid\">\n";
                            
                $typequery $DBase->query(" SELECT 
                                                                *
                                                            FROM
                                                                "
                .$prefix."_type");    
                            while (
                $trow mysql_fetch_object($typequery)) {
                                
                //abfragen was gewählt war
                                
                if ($row->tid == $trow->tid) {
                                    
                $selected "selected";
                                } else {
                                    
                $selected ="";
                                }
                                
                $sctid .= "<option ".$selected." value=\"".$trow->tid."\">".$trow->name."</option>\n";
                            }
                            
                $sctid .= "</select>";
                            
                //duration
                            
                $zeiten = array('00:05','00:10''00:15''00:20''00:30''00:45''01:00''01:30''02:00''02:30''03:00''03:30''04:00''04:30''05:00');
                            
                $sduration .= "<select name=\"eduration\">";
                            foreach (
                $zeiten as $wert) {
                                
                //abfragen was gewählt war
                                
                if ($row->duration == $wert) {
                                    
                $selected "selected";
                                } else {
                                    
                $selected ="";
                                }
                                
                $sduration .="<option ".$selected." value=".$wert.">".$wert."</option>\n";
                            }
                            
                $sduration .= "</select>\n";
                            
                ### ende puldown menu
                            
                            //$worksheet .= "<tr>\n<td>".$cpid."</td>\n<td>".$ctid."</td>\n<td>".$row->duration." Stunden</td>\n<td>".$row->info."</td>\n<td><input type=\"button\" name=\"edit\" value=\"edit\"><input type=\"hidden\" name=\"worksheet\" value=\"".$row->wid."\"></td>\n</tr>\n";
                            
                $worksheet .= "<form name=\"workupdate\" action=\"\"  method=\"post\"><tr>\n<td valign=\"top\">".$scpid."</td>\n<td valign=\"top\">".$sctid."</td>\n<td valign=\"top\">".$sduration."</td>\n<td><textarea name=\"einfo\" cols=\"50\" rows=\"4\" id=\"info\">".$row->info."</textarea></td>\n<td valign=\"top\"><input type=\"submit\" name=\"wedit\" value=\"edit\"><input type=\"hidden\" name=\"ewid\" value\"".$_GET['ewid']."\"></td>\n</tr>\n</form>";
                        
                            }
                        } else {
                            
                ###wenn wir auf dem aktuellen tag sind
                            //$worksheet .= "<tr>\n<td>".$fpid."</td>\n<td>".$typ."</td>\n<td>".$row->duration." Stunden</td>\n<td>".$row->info."</td>\n<td><a href=\"". $PHP_SELF."?day=".$gday."&month=".$gmonth."&year=".$gyear."&ewid=".$row->wid."\">edit</a></td>\n</tr>\n";
                            
                $worksheet .= "<tr>\n<td>".$fpid."</td>\n<td>".$typ."</td>\n<td>".$row->duration." Stunden</td>\n<td>".$row->info."</td>\n<td><a href=\""$PHP_SELF."?day=".$gday."&month=".$gmonth."&year=".$gyear."&ewid=".$row->wid."\">edit</a></td>\n</tr>\n";
                        
                        }
                    }
                    
                $worksheet .= "</table>"
                Zuletzt geändert von mukraker; 14.09.2003, 14:39.
                thx Mukraker

                Kommentar


                • #9
                  tu ma post und get am anfang der datei ausgeben.

                  if (isset($_GET['ewid']) AND $_GET['ewid'] == $row->wid) {
                  (ist richtig, oder?)

                  Kommentar


                  • #10
                    komisch, wenn ich meine schreibfehler von oben wieder einbaue sind die POST werte wieder voll
                    thx Mukraker

                    Kommentar


                    • #11
                      waren das mehrere schreibfehler?

                      was zeigt die ausgabe von post/get?

                      Kommentar


                      • #12
                        ohne den "einen" tipfehler
                        ------POST und GET ausgabe (oben, unten) leer

                        (if wird trotzdem nciht erfüllt)

                        mit dem einen tipfehler
                        ----------POST und GET ausgabe (oben, unten) voll


                        super merkwürdig
                        thx Mukraker

                        Kommentar


                        • #13
                          ich habs *G*
                          konnte keiner finden

                          ich hatte bei der value eines hidden fields dein "=" vergessen.


                          das soll mal einer finden in einer
                          600 zeilen langen template und 600 zeilen langer php file


                          trotzdem danke
                          thx Mukraker

                          Kommentar


                          • #14
                            du sollst mir sagen was da drin steht!!!

                            steht das ganz am anfang?

                            wann guckst du nach? vor/nach dem absenden?

                            was steht in der url?

                            seid wann programmierst du offline?

                            Kommentar

                            Lädt...
                            X