[php] Dateihandling problem



  • Hi
    ich bin mit meinem Latein am Ende. Wen ich das auf meinem System ausführe gehts aber sobald ich das ding hochlad ises vorbei. Wenn ich $dertext durch "Irgendwas" ersetzte wird ordnungsgemäs in die datei geschrieben. Wäre für jeden tipp dankbar.

    $fp = fopen("text2.txt", "w+");
    fwrite($fp, $dertext);
    fclose($fp);
    

    MFG eiskalt



  • gibt ja nur zwei Möglichkeiten:

    (1) fopen scheitert
    if (! $fp)
    die ("unable...");

    (2) Wenn ein String "irgendwas" nach dem upload geht, dann könnte
    $dertext vermutlich leer sein, print-Debugger anwerfen:

    print "DBUG dertext: #".$dertext."#<br>";



  • tatsache dertext ist leer wie gehtn sowas? das formular das dertext übergibt sieht so aus

    <form method="get" action="text.php" >
      <input name="dt" type="text" size="50">
      <input type="submit" value="text eintragen">
     </form>
    

    ich habs mit method="post" auch schon versucht aber das geht auch net irgendeine idee?

    MFG eiskalt



  • Dann schein wohl register_globals auf off zu stehen - ist eigentlich normal.
    Einfach statt $dertext eine der folgenden Varianten verwenden:
    - $_GET['dertext'] / $_POST['dertext']
    - $_REQUEST['dertext']



  • dein Computer muss register_globals auf on haben und der server auf off (was viel besser und sicherer ist). Benutzer die $_POST und $_GET Arrays.



  • Wo steht das der Parameter dertext übergeben wird.

    Eigentlich ist es kein Parameter der URL. Weder GET noch POST.
    Somit ist es egal ob welche einstellung register_globals hat.

    <input name="dt" ....

    also dt

    $dt bei register_globals auf on

    bei off

    _GET[dt] oder _POST[dt]

    Und ein Tipp. Register_globals immer auf off. Wenn es da funkt dann auch wenn einmal ein Server auf ON ist.



  • Hey, Unix-Tom, du machst doch wohl aber normalerweise Anführungszeichen in den Hashs oder?

    Also $_POST['dt'], statt $_POST[dat]

    !



  • Alles Klar hat funktioniert mit $_Get

    THX eiskalt



  • Unix-Tom schrieb:

    Wo steht das der Parameter dertext übergeben wird.

    Niergends, aber das ist meistens der Fehler wenn Variablen plötzlich keinen Wert haben (außer wenn man sie in "global ..." innerhalb einer Funktion vergisst)


Anmelden zum Antworten