Dateien



  • Was ist daran falsch:

    $datname   = 'data/'.$_POST["Title"].'.inc';
    $datei = fopen($datname, "w+");
    fclose($datei);
    

    Der Fehler müsste beim fopen liegen, ich find aber kein, da das mit $datname geht.

    thx

    Glamdring



  • Was funktioniert denn nicht? Hast du dir mal $datname ausgeben lassen? Was für einen Fehler bekommst du?



  • $datname geht, mein Code sieht eigentlich so aus:

    <html>
    <head>
    <title> Datenbank </title>
    </head>
    <body>
    <?php
         $db = mysql_connect("localhost", "Administrator", "1");
         if($db)
         {
                echo "Die Datenbank ist geöffnet";
    
                $_POST["msg"]    = str_replace("</HTML>", "", $_POST["msg"]);
                $_POST["Date"]   = str_replace("</HTML>", "", $_POST["Date"]);
                $_POST["Author"] = str_replace("</HTML>", "", $_POST["Author"]);
                $_POST["Title"]  = str_replace("</HTML>", "", $_POST["Title"]);
    
                echo "<BR><BR>Die Eingaben wurden bearbeitet";
    
                $Heribert  = $_POST["Date"]."<BR><BR>".$_POST["Title"];
                $Heribert .= "<BR>".$_POST["Author"]."<BR><BR>".$_POST["msg"];
                $datname   = 'C:/Webserver/Apache/htdocs/CMS/data/'.$_POST["Title"].'.inc';
    
                echo "<BR><BR>Die Variablen wurden definiert";
    
                $datei = fopen($datname, "w+");
                rewind($datei);
                fwrite($datei, $_POST["Date"]);
                fwrite($datei, "<BR><BR>);
                fclose($datei);
    
                echo "<BR><BR>Die Datei wurde erstellt";
    
                $erg     = mysql_query("use CMS;");
                $eingabe = "INSERT INTO data (ID, Datei) VALUES('1', $datname);
                $hebbert = mysql_query($eingabe);
    
                echo "Ihre Eingaben wurden gespeichert";
    
                mysql_close($db);
         }
         else
         {
                echo "Es ist ein Fehler beim Zugriff auf die Datenbank aufgetreten, kontaktieren sie                  bitte den Administrator";
         }
    ?>
    </body>
    </html>
    

    Es wird nichts angezeigt

    thx
    Glamdring



  • Ich hab den Fehler, Title wird immer leer übergeben, egal welchen Wertt man in das Formular einträgt. Dies ist mein Code:

    <html>
    <head>
    <title>CMS-Eingabe</title>
    </head>
    <body text="#EA7500" bgcolor="#888888" link="#EA7500" alink="#EA7500" vlink="#EA7500">
    <font size="+1"><b>
    <form action="writer.php" method="post">
    <h1><b><font color="#FF0000">CMS-Eingabe</font></b></h1>
    <BR><HR><BR>
    Datum: <INPUT NAME="Date" size="10"><BR><BR>
    Autor: &nbsp;&nbsp;<INPUT NAME="Author" SIZE="50"><BR><BR>
    Titel: &nbsp;&nbsp;&nbsp;&nbsp;<INPUT NAME="TITEL" SIZE="50"><BR><BR>
    Text:<BR><TEXTAREA NAME="msg" cols="40" rows="10">Hier Text eingeben</textarea>
    <BR><BR><BR>
    <INPUT TYPE="submit" value="Abschicken"><INPUT TYPE="reset" value="zurücksetzen">
    </form></b></font>
    </body>
    </html>
    

    Wo liegt hier der Fehler ?

    thx
    Glamdring



  • Also stimmt doch $datname nicht, denn wenn du das ausgibst steht dann ja ein falscher Pfad drin :p
    versuch's mal mit name="titel" und $_POST['titel'] - Groß-/Kleinschreibung beachten! 🙂

    PS: ich würde die Groß-/Kleinschreibung auch mal einheitlich durchziehen - nach XHTML muss dann afaik eh alles klein sein 🙄



  • Nee, daran liegts nicht, die unterschiedliche Schreibweise ist durch das kopieren entstanden. 😃

    mfg
    Glamdring



  • Werden denn die anderen Werte richtig übergeben oder hast du evtl. PHP < 4.1.0 🙄



  • Kein einziges geht 😕 😕

    Glamdring



  • jo klar...da kann ja auch garnix übergeben werden, weil da ja kein formular textfeld benutzt wurde...

    sag mal genau was übergeben werden soll...dann kann ich dir weiterhelfen...also wo soll man wirklich was eingeben können und in welchen feldern soll austomatisch welcher wert drinn stehen... ich kenn mich da ziemlich gut aus...hab von meiner Arbeit viel damit zutun.



  • Und... wie sieht es mit der PHP-Version aus? Wenn du nämlich PHP < 4.1.0 laufen hast musst du anstelle von $_POST $HTTP_POST_VARS verwenden 😉



  • Also erstmal Phpversion = 4.2.2

    Icxh möchte geanu die Werte übergeben, die im Formular stehen, also das Datum, der Autor, der Title und die ganze Nachricht, aber warum kann das so nicht gehen? (In meinem PHP-Buch sehen alle Beispiele so ähnlich aus)

    thx
    Glamdring



  • Mach mal in dem Ziel-Script (action-Angabe) phpinfo() und schau, ob dort irgendwo der Wert erscheint, den du in das Formular-Feld eingegeben hast 🙄



  • Ja, alles wird richtig angezeigt



  • also hast du den im input eingegebenen Wert in der Tabelle wiedergefunden? Was stand da in der linken Spalte?



  • Die Werte kamen doppelt vor, bei _POST["Name des Inputs"] und bei
    _REQUEST["Name des Inputs"]

    mfg
    Glamdring



  • Dann solltest du aber auch mit $_POST["Name des Inputs"] darauf zugreifen können 😕



  • Ja, finde ich auch, ich habs nochma überprüft, alles richtig angesprochen, keien Ahnung warums net geht.

    😕 😕 😕 😕 😕 😕

    mfg
    Glamdring



  • hmm, also wenn du jetzt die Groß-/Kleinschreibung beachtet hast, dann weiß ich auch nicht mehr weiter 😕



  • Hi,

    wenn du über $_POST["Title"] abfragst, solltest du das Input auch "Title" nennen - und nicht TITEL 😉

    Neescher

    Edit:
    Achja noch ein Tipp.... ich würde meine Includes nicht xxxxx.inc nennen, sondern z.b. xxxxx.inc.php oder inc.xxxxx.php
    Ansonsten kann man, wenn man Pfad/Dateinamen kennt, die Dateien einfach runterladen und öffnen (zb. MySQL Daten rauslesen usw...), aber wenn sie als .php abgespeichert sind, kommt erst mal der PHP-Interpreter 🙂


Anmelden zum Antworten