Keine Fehlermeldung, aber leider auch nix in der db...

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

  • Keine Fehlermeldung, aber leider auch nix in der db...

    Hallo,
    völliger PHP DaU der ich bin habe ich versucht, meine Semesterferienjobstundenabrechnung () in Kombination aus PHP und SQL zu basteln. Sieht auch alles prima aus, es kommen keine Fehlermeldungen mehr nur leider kommt auch kein Eintrag in die Datenbank . Das Script habe ich aus nem PHP Tutorial und an meine Anforderungen angepasst. Damit hab ich vor 5 Stunden angefangen und nu frag ich doch mal um Hilfe ;-)
    Kann mir jemand sagen, wieso nix in der db an kommt ?
    PHP-Code:
    <html><head><title>Arbeitszeitabrechnung</title></head>
    <? include("dbase.php");

    if($Button) {
        if($ID) {
               // Update   mysql_query("update ttn set date='$date', get_in='$get_in', get_out='$get_out', break='$break', worktime='$worktime', 
    customer='$customer', project='$project', amount='$amount', billed='$billed', payed='$payed' where ID=$ID");
                   }
        else {
            // Insert mysql_query("insert into ttn (date, get_in, get_out, break, worktime, customer, project, amount, billed, payed) 
    values ('$date', '$get_in', '$get_out', '$break', '$worktime', '$customer', '$project', '$amount', '$billed', '$payed')");  
                     } 
                     
    unset($ID); }

    if($ID) { $result=mysql_query("select * from ttn where ID=$ID");   while($row=mysql_fetch_array($result)) {   $ID=$row["ID"];   $date=$row["date"];   
    $get_in=$row["get_in"];   $get_out=$row["get_out"];   $break=$row["break"];   $worktime=$row["worktime"];   $customer=$row["customer"]; 
     $project=$row["project"];  $amount=$row["amount"];   $billed=$row["billed"];   $payed=$row["payed"];   } } ?> 

    <body bgcolor="#ff0000">
        <center><h1>Arbeitszeitabrechnung Tim O. Brauer</h1><br>
    <FORM METHOD="post"ACTION="index.php">
    <TABLE WIDTH="500" BORDER="1" CELLSPACING="0" CELLPADDING="0">
    <INPUT TYPE="hidden" NAME="ID" VALUE="<? echo $ID ?>"> 
        <tr><td>Datum:</td><td>
    <INPUT TYPE="text"NAME="date" SIZE="10" MAXLENGTH="40" VALUE="<? echo $date?>"><br>
    </td></tr><tr><td>Get In:</td><td>
    <INPUT TYPE="text"NAME="get_in" SIZE="10" MAXLENGTH="40" VALUE="<? echo $get_in?>">
    </td></tr><tr><td>Get Out:</td><td>
    <INPUT TYPE="text"NAME="get_out" SIZE="10" MAXLENGTH="40" VALUE="<? echo $get_out?>">
    </td></tr><tr><td>Pause:</td><td>
    <INPUT TYPE="text"NAME="break" SIZE="10" MAXLENGTH="40" VALUE="<? echo $break?>">
    </td></tr><tr><td>Nettozeit:</td><td>
    <INPUT TYPE="text"NAME="worktime" SIZE="10" MAXLENGTH="40" VALUE="<? echo $worktime?>">
    </td></tr><tr><td>Kunde:</td><td>
    <INPUT TYPE="text"NAME="customer" SIZE="40" MAXLENGTH="40" VALUE="<? echo $customer?>">
    </td></tr><tr><td>Projekt:</td><td>
    <INPUT TYPE="text"NAME="project" SIZE="40" MAXLENGTH="40" VALUE="<? echo $project?>">
    </td></tr><tr><td>Summe:</td><td>
    <INPUT TYPE="text"NAME="amount" SIZE="10" MAXLENGTH="40" VALUE="<? echo $amount?>">
    </td></tr><tr><td>Berechnet:</td><td>
    <? if($billed==1) { $chk="CHECKED"; } else { $chk=""; } ?> <INPUT TYPE="checkbox" NAME="billed" VALUE="1" <? echo $chk?>>
    </td></tr><tr><td>Bezahlt:</td><td>
    <? if($payed==1) { $chk="CHECKED"; } else { $chk=""; } ?> <INPUT TYPE="checkbox" NAME="payed" VALUE="1" <? echo $chk?>>
    </td></tr><tr><td><a href="index.php">Neuer Datensatz</a> </td><td>

    <INPUT TYPE="submit" NAME="Button" VALUE="Abschicken"></td></tr></table><table>
    <TR>    <TD WIDTH="164" VALIGN="TOP">&nbsp;</TD>    
        <TD WIDTH="336" VALIGN="TOP">    </TD>   </TR>   
            
            <?   $result=mysql_query("select ID,date,customer,amount from ttn");     while($row=mysql_fetch_array($result)) {     $ID=$row["ID"];   ?>   <TR>    
                <TD><? echo $date ?></TD>    <TD WIDTH="336" VALIGN="TOP">     <a href="<? echo "index.php?ID=$ID"?>">Datensatz <? echo $ID ?></a>    <td>
    <? echo $customer ?></td>   <td><? echo $amount ?></td>
                  </TR>   
                    
                    <? } ?>  
                    
                    </TABLE> </FORM> </BODY> </HTML>
    Jetzut schon vielen Dank fürs angucken !

    Psie Tabelle heisst ttn und natürlich hab ich das dbase.php file auch angelegt und im gegensatz zu dem hier funktioniert es sogar ...
    Zuletzt geändert von tim.brauer; 10.08.2006, 17:17.

  • #2
    such mal in diesem forum nach "register globals". alle per Post gesendeten Formulardaten, rufst du mit $_POST['name'] auf.

    aus $date wird $_POST['date']
    mfg

    Kommentar


    • #3
      Vielen Dank für Deine Antwort, heisst das ich muss ALLE in dem Script vorkommenden Variablen in $_POST['name'] verwandeln ?

      Kommentar


      • #4
        alle, die durch das formular übertragen werden. also alle die mit der Post-Methode versendet werden
        mfg

        Kommentar


        • #5
          Bitte halt mich nicht für doof ... D.h. alle die innerhalb der <form> tags stehen ? aber wenn ich die nachher wieder aufrufe kann ich das $_POST weglassen ???

          Irgendwie steh ich grad voll aufm Schlauch, dabei hab ich grad schon einiges zu register global gelesen - allein ich versteh es nicht

          Kommentar


          • #6
            was heisst überhaupt : wenn ich eine Variable _WIEDER_ _AUFRUFE?_ verstehe ich nicht.
            Die Variable heisst überall $_POST['...'] wenn sie vom Formular her kommt.
            Die anderen heissen so wie sie heissen, z.B. $row, $result kommen nicht vom Formular.

            Im string müssen sie so geschrieben werden, beispielsweise
            PHP-Code:
            "update...set customer='{$_POST['customer']}', ...." 
            Es lohnt sich, die queries so zu schreiben:
            PHP-Code:
            $sql="update ....";
            $sql="insert.....";
            mysql_query($sql) ;

            und 
            echo "sql=$sql<br />";
            echo 
            mysql_error(); 
            Zuletzt geändert von jhaase; 10.08.2006, 18:32.

            Kommentar


            • #7
              beispiel:

              PHP-Code:
              <form method="post" action="bla.blub">
              <
              input name="feld1">
              <
              input name="feld2">
              <
              input type="submit" value="wechdamit">
              </
              form
              in dieser form hast du zwei felder, wo der benutzer text eingeben kann. das formular wird abgeschickt und nun möchtest du auf diese übertragenen "felder" zugreifen.

              Das machst du dann z.b. so:

              PHP-Code:
              echo $_POST['feld1'];
              echo 
              $_POST['feld2']; 
              so, jetzt kommt aber die einstellung register globals noch ins spiel. früher war diese einstellung per default aktiv, daher konnte man auf die übertragenden variablen direkt zugreifen z.b. echo $feld1; echo $feld2; .Heute ist aber (und das ist auch gut so) register globals ausgeschaltet und du musst über superglobale Arrays ($_POST,$_GET,$_REQUEST) darauf zugreifen (siehe obiges beispiel).
              mfg

              Kommentar

              Lädt...
              X