weichensteve: datums funktion

Hi, mal ne frage.

wollte ne funktion aus ner anderen datei aufrufen. habe die datein includiert und dann das ganze so geschrieben.

--------------------------------------------------------------
funktion
--------------------------------------------------------------
<?

function datum($c_date)
 {

$get_date=getdate();
 $c_date="$dat[mday].$dat[mon].$dat[year]";
 }

?>
---------------------------------------------------------------
aufruf
---------------------------------------------------------------

<? $create_datum(call_user_func("datum",$c_date);) ?>

das datum soll dann in ne datenbank geschrieben werden, aber das funzt eigentlich.
was ist an der sache falsch? kann mir da vielleicht jemand weiterhelfen?

thx

  1. Hi,

    das datum soll dann in ne datenbank geschrieben werden, aber das funzt eigentlich.
    was ist an der sache falsch? kann mir da vielleicht jemand weiterhelfen?

    was willst du denn? Du sagst doch selbst dass es geht! Was ist denngenau dein Problem?

    Schoene Gruesse,
    Dave

    1. mein problem ist das da immer nen schöner prase error kommt.

      aber ich verstehe nich warum... eigenlich kann da ja nix falsch sein aber irgendwie muss es ja.

      1. Hi,

        mein problem ist das da immer nen schöner prase error kommt.

        aber ich verstehe nich warum... eigenlich kann da ja nix falsch sein aber irgendwie muss es ja.

        zeig nochmal deinen ganzen code

        --
        Jan

        1. Hier
          <?

          function datum($c_date)
           {

          $get_date=getdate();
           $c_date="$dat[mday].$dat[mon].$dat[year]";
           return $c_date;
           }

          ?>

          --------------------------------------------------------------

          <html>
          <head><title>Daten hinzufügen</title>
          <style type="text/css">
          #t_main {
             border-style:solid;
             border-width:1px;
             border-bottom-color:black;
             background-color:#778899;
          }
          #t_wert {
             border-style:solid;
             border-width:1px;
             border-bottom-color:black;
             background-color:#D3D3D3;
          }
          #main{
           background-color:#F5F5F5;
          }
          #rahmen {
            border-width:1px;
            border-style:solid;
            border-color:black;
          }
          -->
          </style>

          </head>
          <body bgcolor="#4682B4">

          <?
          if ($submit) {

          include('db_connect.php');
          include('table.php');
          include('date.php');

          $result_hardware=mysql_query($hardware,$connect);
          $result_software=mysql_query($software,$connect);
          $result_ea=mysql_query($ea,$connect);
          $result_infot=mysql_query($info,$connect);

          echo "Die Daten wurden abgeschickt"; ?></br><a href="auswahl.php">Zur Raumübersicht</a></br><a href="hinzu.php">Neuen Datensatz einfügen</a></br>
          <?
          mysql_close($connect);
          ?>
          <?
          }
          else {
          ?>
          <form method="post" action="<? echo $PHP_SELF ?>">
          <table cellspacing="0" cellpadding="0" border-collapse="collapse">
          <tr><td colspan="2" id="t_main"><p align="left" id="main"><b>Hardware</b></p></td><td colspan="2" id="t_main"><p align="left" id="main"><b>Software</b></p></td></tr>
          <tr><td id="t_main">PC-Nummer</td>
          <td id="t_wert"><input type="text" name="pc_nr" value="pc""<? echo $pc_nr ?>" size="6" maxlength="6"></td>
          <td id="t_main">Betriebssystem</td>
          <td id="t_wert"><input type="text" name="os" value="-""<? echo $os ?>" size="30" maxlength="30"></td>
          </tr><tr>
          <td id="t_main">CPU</td>
          <td id="t_wert" align="left"><input type="text" name="cpu" value="-""<? echo $cpu ?>" size="30" maxlength="30"></td>
          <td id="t_main">Registrierungsnummer</td>
          <td id="t_wert"><input type="text" name="os_reg_nr" value="-""<? echo $os_reg_nr ?>" size="30" maxlength="50"></td>
          </tr><tr>
          <td id="t_main">RAM</td>
          <td id="t_wert"><input type="text" name="ram" value="-""<? echo $ram ?>" size="30" maxlength="30"></td>
          <td id="t_main">Officeanwendungen</td>
          <td id="t_wert"><input type="text" name="office" value="-""<? echo $office ?>" size="30" maxlength="30"></td>
          </tr><tr>
          <td id="t_main">Festplatte</td>
          <td id="t_wert"><input type="text" name="hdd" value="-""<? echo $hdd ?>" size="30" maxlength="30"></td>
          <td id="t_main">Registrierungsnummer</td>
          <td id="t_wert"><input type="text" name="office_reg_nr" value="-""<? echo $office_reg_nr ?>" size="30" maxlength="50"></td>
          </tr><tr>
          <td id="t_main">Diskettenlaufwerk</td>
          <td id="t_wert"><input type="text" name="fdd" value="-""<? echo $fdd ?>" size="30" maxlength="30"></td>
          <td id="t_main">Porgrammiersoftware</td>
          <td id="t_wert"><input type="text" name="programmiersoftware" value="-""<? echo $programmiersoftware ?>" size="30" maxlength="30"></td>
          </tr><tr>
          <td id="t_main">CD-Rom LW-1</td>
          <td id="t_wert"><input type="text" name="cd_rom_1" value="-""<? echo $cd_rom_1 ?>" size="30" maxlength="30"></td>
          <td id="t_main">Registrierungsnummer</td>
          <td id="t_wert"><input type="text" name="prog_reg_nr" value="-""<? echo $prog_reg_nr ?>" size="30" maxlength="50"></td>
          </tr><tr>
          <td id="t_main">CD-Rom LW 2</td>
          <td id="t_wert"><input type="text" name="cd_rom_2" value="-""<? echo $cd_rom_2 ?>" size="30" maxlength="30"></td>
          <td id="t_main">Netzwerksoftware</td>
          <td id="t_wert"><input type="text" name="netzwerksoftware" value="-""<? echo $netzwerksoftware ?>" size="30" maxlength="30"></td>
          </tr><tr>
          <td id="t_main">Grafikkarte</td>
          <td id="t_wert"><input type="text" name="grafikkarte" value="-""<? echo $grafikkarte ?>" size="30" maxlength="30"></td>
          <td id="t_main">Zusatzsoftware</td>
          <td id="t_wert"><input type="text" name="zusatzsoftware" value="-""<? echo $zusatzsoftware ?>" size="30" maxlength="100"></td>
          </tr><tr>
          <td id="t_main">Nic</td>
          <td id="t_wert"><input type="text" name="nic" value="-""<? echo $nic ?>" size="30" maxlength="30"></td>
          <td id="t_main">Extras</td>
          <td id="t_wert"><input type="text" name="extras" value="-""<? echo $extras ?>" size="30" maxlength="200"></td>
          </tr><tr>
          <td id="t_main">MAC</td>
          <td id="t_wert"><input type="text" name="mac" value="-""<? echo $mac ?>" size="17" maxlength="17"></td>
          <td colspan="2" id="main"><p><b>Ein/Ausgabegräte</b></p></td>
          </tr><tr>
          <td id="t_main">IP</td>
          <td id="t_wert"><input type="text" name="ip" value="-""<? echo $ip ?>" size="15" maxlength="15"></td>
          <td id="t_main">Monitor-Typ</td>
          <td id="t_wert"><input type="text" name="monitor" value="-""<? echo $monitor ?>" size="30"></td></tr>
          </tr><tr>
          <td id="t_main">Subnetmask</td>
          <td id="t_wert"><input type="text" name="subnetmask" value="-""<? echo $subnetmask ?>" size="15" maxlength="15"></td>
          <td id="t_main">Seriennummer</td>
          <td id="t_wert"><input type="text" name="monitor_s_nr" value="-""<? echo $monitor_s_nr ?>" size="30" maxlength="50"></td></tr>
          </tr><tr><td></td><td></td>
          <td id="t_main">Drucker-Typ</td>
          <td id="t_wert"><input type="text" name="drucker" value="-""<? echo $drucker ?>" size="30" maxlength="30"></td></tr>
          </tr><tr><td align="left"><input type="submit" name="submit" value="sendern"></td><td align="left"><input type="reset" border="0"></td>
          <td id="t_main">Seriennummer</td>
          <td id="t_wert"><input type="text" name="drucker_s_nr" value="-""<? echo $drucker_s_nr ?>" size="30" maxlength="50"></td></tr>
          </tr><tr><td></td><td></td>
          <td id="t_main">Seriennummer</td>
          <td id="t_wert"><input type="text" name="monitor_s_nr" value="-""<? echo $monitor_s_nr ?>" size="30" maxlength="50"></td></tr>
          </tr><tr><td></td><td></td>
          <td id="t_main">Scanner-Typ</td>
          <td id="t_wert"><input type="text" name="scanner" value="-""<? echo $scanner ?>" size="30" maxlength="30"></td>
          </tr><tr><td></td><td></td>
          <td id="t_main">Serienennummer</td>
          <td id="t_wert"><input type="text" name="scanner_s_nr" value="-""<? echo $scanner_s_nr ?>" size="30" maxlength="50"></td></tr>
          </tr><tr><td></td><td></td>
          <td id="t_main">Extras</td>
          <td id="t_wert"><input type="text" name="extras" value="-""<? echo $extras ?>" size="30" maxlength="200"></td></tr>
          <? $create_datum(call_user_func("datum",$c_date);) ?>
          </tr></td>
          </table></form>
          <?
          }
          ?>

          </tr>
            </td>
           </tr>
          </table>
          </tr><td></td><tr>
          </body>
          </html>

          1. Hallo,

            function datum($c_date)
             {

            $get_date=getdate();
             $c_date="$dat[mday].$dat[mon].$dat[year]";
             return $c_date;
             }

            ?>

            woher kommt denn das $dat[] in der Funktion plötzlich? Sollte das vielleicht $get_date[] heißen?

            Liebe Grüße aus http://www.braunschweig.de

            Tom

            --
            Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
  2. <?

    function datum($c_date)
     {

    $get_date=getdate();
     $c_date="$dat[mday].$dat[mon].$dat[year]";
     }

    ?>

    <? $create_datum(call_user_func("datum",$c_date);) ?>

    a-----^
    b--------------------------------------------------^
    c-------------------^

    a) Mit $ leitet man eine Variable ein, keine Funktion, es muß also create_datum() lauten, nicht $create_datum().
    b) Das Semikolon soll sicher eine Stelle weiter nach hinten.
    c) call_user_func() ist überflüssig, in allen modernen Programmiersprachen kann man auch eigene Funktionen direkt aufrufen.

    Summa sumarum wird aus Deiner letzten Zeile:

    datum($c_date);

    Dann hast Du allerdings noch das Problem, daß $c_date im Hauptteil des Skripts seinen Wert nicht ändern wird. Es wird nur der Inhalt von $c_date an datum() übergeben, nicht die Variable selber. Somit kann datum() auch nur mit dem Inhalt (in einer eigenen, lokalen Variable $c_date) arbeiten, aber nicht mit der Variable $c_date aus dem Hauptteil selber (und ihr somit auch keinen neuen Wert verpassen).
    Du solltest Deine datum()-Funktion so ändern, daß sie einen Wert zurück gibt.

    Weiterhin funktioniert das Innenleben von datum() eh nicht, weil Du erst das aktuelle Datum in $get_date speicherst, dann aber diese Datumsdaten nicht wieder aus $get_date ausliest sondern aus einem völlig unbeteiligten (genauer: leeren) Feld namens $dat.

    Also:

    function datum()
       {
        $dat=getdate();
        return $dat["mday"].".".$dat["mon"].".".$dat["year"];
       };

    Und im Hauptteil:

    $c_date=datum();

    Gruß,
      soenk.e