Variablen mittels php-script in txt eintragen....

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

  • Variablen mittels php-script in txt eintragen....

    Hi Leute,

    auf meiner Site hab ich unter anderem eine Highscoretabelle. Wenn der User punktemäßig reinkommt dann muss er ein kleines Formular ausfüllen.
    Sieht wie folgt aus.

    Vorname:
    Zuname:
    Straße:
    PLZ:
    Ort:
    Land:
    Kommentar:

    Das Formular ist im Flash gemacht und gibt folgende Variablen mit der Usereingabe zurück:
    Vorname_User
    Zuname_User
    Straße_User
    PLZ_User
    Ort_User
    Land_User
    Kommentar_User

    Von Flash aus steuere ich dann die Funktion "WriteUserdat.php" an die mir die Variablen (also deren Inhalte) in eine Userdata.txt reinschreibt.
    Die txt sollte folgende Form haben:
    Jan
    Schmidt
    Stadtgasse 15
    1010
    Frankfurt

    Schön, auf Deiner Site gewesen zu sein!!

    Hat der User in einem Feld nichts eingegeben,dann soll die Zeile leer bleiben. Im obrigen Fall hat der das Land ausgelassen => also leere Zeile
    Der zuletzt hinzugefügte User sollte immer als erstes in der txt stehen.

    In der php-referenz hab ich diesbezüglich schon einiges nachgelesen bin aber nicht wirklich weitergekommen.
    Könnt ihr mir da helfen??

    Thanxs,
    bye

    P.S.:
    Die einzelnen User-Datensätze könnte man mit einer Zeile voll * voneinander trennen, oder gibt's da erfahrungsgemäß bessere Möglichkeiten??

    [Editiert von Metallica am 30-08-2001 um 07:36]
    $PHP resource 4ever$

  • #2
    ich würde die daten in einen string zusammenfügen

    dann kannst du sie schön mit explode auseinanderdividieren

    Kommentar


    • #3
      Soviel hab ich bis jetzt. Bin leider ein php-newbie.
      Im Kommentar stehen die weiteren Schritte.

      <?
      $VornameUser="Jan"; //kommt von Flash zurück
      $ZunameUser="Schmidt"; //kommt von Flash zurück
      $StrasseUser="Stadtgasse 15"; //kommt von Flash zurück
      $PLZUser="1010"; //kommt von Flash zurück
      $OrtUser="München"; //kommt von Flash zurück
      $LandUser="Germany"; //kommt von Flash zurück
      $KommentarUser="Schön, auf Deiner Site gewesen zu sein"; //kommt von Flash zurück

      $ud = fopen("Userdata.txt","w");
      //jetzt sollen die Variableninhalte Zeile für Zeile in die txt geschrieben werden
      //nach der letzten Zeile soll eine neue Zeile gemacht werden die nur * (Sterne) beinhaltet
      //damit ich die einzelnen Datensätze voneinander unterscheiden kann; wenn ihr bessere
      //Vorschläge habt ist das kein Problem - nur zu!

      // bin mir nicht sicher ob ich diese Zeile wirklich benötige
      while($data = fgets($fp,1024)){ // zeile für zeile einlesen

      // bin mir nicht sicher ob ich diese Zeile wirklich benötige
      $data = explode(";",$data); // jede zeile aufsplitten

      }
      fclose($ud);

      ?>
      $PHP resource 4ever$

      Kommentar


      • #4
        Zum eintragen...

        $fp = fopen("blabla.dat","r");
        while (!feof($fp)) {
        $alt = fread ($fp,999999);
        }
        fclose($fp);
        $alles = "$VornameUser|$ZunameUser|$StrasseUser|$PLZUser|$OrtUser|$LandUser|$KommentarUser";
        $datei = fopen("Userdata.txt", "w");
        $fw = fwrite($datei, "$alles\n$alt");
        fclose($datei);


        und zum auslesen:

        $file = fopen('Userdata.txt','r');
        while ( ! feof($file))
        {
        $line = fgets($file,999999);
        $line = trim($line);
        $mtext = explode("|",$line);

        $VornameUser = $mtext[0];
        $ZunameUser = $mtext[1];
        $StrasseUser = $mtext[2];
        $PLZUser = $mtext[3];
        $OrtUser = $mtext[4];
        $LandUser = $mtext[5];
        $KommentarUser = $mtext[6];
        require("table.inc.php");
        }

        danach erstellst du dir ne datei mit dem namen "table.inc.php" und schreibst dort den html-code für EINE tabelle rein... da kannst du dann auch die variablen unterbringen..
        so.. war doch ganz einfach ... ;>

        [Editiert von tRaX4u am 31-08-2001 um 03:08]

        Kommentar


        • #5
          Danke tRaX4u!!
          Wie schaut das Ganze eigentlich aus, wenn ich die Variablen als email an meinen Rechner schicken lassen will. So eine Version bräuchte ich nämlich auch.
          Sprich:

          <?
          $VornameUser="Jan"; //kommt von Flash zurück
          $ZunameUser="Schmidt"; //kommt von Flash zurück
          $StrasseUser="Stadtgasse 15"; //kommt von Flash zurück
          $PLZUser="1010"; //kommt von Flash zurück
          $OrtUser="München"; //kommt von Flash zurück
          $LandUser="Germany"; //kommt von Flash zurück
          $KommentarUser="Schön, auf Deiner Site gewesen zu sein"; //kommt von Flash zurück

          // jetzt umformatieren, in die html eintragen und als email
          // versenden mit Betreff: Highscoreeintrag am [datum]
          // um [uhrzeit]

          ?>

          zum Umformatieren folgender Vorschlag:
          Ich habe mir eine klassische html erstellt die aus einer zweispaltigen Tabelle mit 7 Zeilen besteht.
          Code:
          <html>
          <head>
          <title>HighscoreMail</title>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
          </head>
          <body bgcolor="#000000" text="#000000">
          <table width="506" border="1" cellspacing="0" cellpadding="0" height="325">
          <tr>
          <td width="98"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">
          &nbsp;Vorname:</font></td>
          <td width="402">&nbsp;</td>
          </tr>
          <tr>
          <td width="98"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">&nbsp;Zuname:</font></td>
          <td width="402">&nbsp;</td>
          </tr>
          <tr>
          <td width="98"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">&nbsp;Strasse:</font></td>
          <td width="402">&nbsp;</td>
          </tr>
          <tr>
          <td width="98"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">
          &nbsp;PLZ:</font></td>
          <td width="402">&nbsp;</td>
          </tr>
          <tr>
          <td width="98"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">&nbsp;Ort:</font></td>
          <td width="402">&nbsp;</td>
          </tr>
          <tr>
          <td width="98"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">&nbsp;Land:</font></td>
          <td width="402">&nbsp;</td>
          </tr>
          <tr>
          <td width="98"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">&nbsp;Kommentar:</font></td>
          <td width="402">&nbsp;</td>
          </tr>
          </table>
          </body>
          </html>

          Und in der rechten Spalte soll dann php jeweils von Zeile 1-7 die Variableninhalte eintragen.
          Kann man das überhaupt so machen?? Man müßte ja sicher die einzelnen Zeilen benennen damit php weiß wo es was eintragen soll, oder??
          $PHP resource 4ever$

          Kommentar


          • #6
            Das mit der Tabelle ist in Ordnung.. du musst dann eben in der rechten spalte jeweils mit den variablen arbeiten ..

            <tr>
            <td width="98"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">&nbsp;Strasse:</font></td>
            <td width="402">&nbsp;<? echo $Strasseuser ?></td>
            </tr>
            <tr>
            <td width="98"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">
            &nbsp;PLZ:</font></td>
            <td width="402">&nbsp;<? echo $PLZUser ?></td>
            </tr>

            ..usw usw..

            wenn das alles in EIN file kommen soll ok,
            ansonsten musst du die variablen vorher importieren..
            mit

            require("dateimitdeinenvars.dat");


            Mit der email.. auch keinproblem:

            $datum = date("F j, Y, g:i a");
            $zeit= date("H");
            $time= date("$zeit:i");
            $betreff = "Highscoreeintrag am $datum um $time";
            $newmail = "";
            $newmail = $newmail."Vorname: $VornameUser\n";
            $newmail = $newmail."Zuname: $ZunameUser\n";
            $newmail = $newmail."Strasse: $StrasseUser\n";
            $newmail = $newmail."PLZ: $PLZUser\n";
            $newmail = $newmail."Ort: $OrtUser\n";
            $newmail = $newmail."URL: $url\n";
            $newmail = $newmail."Land: $LandUser\n\n";
            $newmail = $newmail."Kommentar:\n$KommentarUser";

            mail(deine@email.com,$betreff,$newmail);

            ..Jo.. müsst eigentlich langen..

            [Editiert von tRaX4u am 31-08-2001 um 12:40]

            Kommentar


            • #7
              @tRaX4u:
              Absoluter Wahnsinn wenn das wirklich so geht!Bin jetzt leider nicht zu Hause um es auszutesten. Kann Dir auf diesem Wege nur DANKEN. Wenn ich's probiere, poste ich wieder!

              Bye,
              until later

              P.S.: Sendet er bei
              $newmail = $newmail."Vorname: $VornameUser\n";
              $newmail = $newmail."Zuname: $ZunameUser\n";
              usw. uws.
              jeweils eine Mail??
              Ich dachte eher daran, dass das php-script die variablen einsetzt und dann als EINE Mail verschickt. Die html dient ja nur zur Formatierung. Oder hab ich da was falsch verstanden??

              [Editiert von Metallica am 31-08-2001 um 20:37]
              $PHP resource 4ever$

              Kommentar


              • #8
                *lach* japps .. keine sorge .. das gibt eine mail ;>

                Kommentar


                • #9
                  Hi tRaX4u!

                  Die html und die php-datei müssen aber schon in einem Verzeichnis liegen damit es klappt, oder?

                  Das Ganze sieht bei mir momentan folgendermaßen aus:
                  Die html:
                  <tr>
                  <td width="98"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">&nbsp;Strasse:</font></td>
                  <td width="402">&nbsp;<? echo $Strasseuser ?></td>
                  </tr>
                  usw. usw.

                  userdaten.php:
                  <?
                  $vorname="Jan"; //kommt von Flash zurück
                  $zuname="Schmidt"; //kommt von Flash zurück
                  $land="Germany" //kommt von Flash zurück
                  $email="My@mail.net" //kommt von Flash zurück
                  $strasse="Stadtgasse 15"; //kommt von Flash zurück
                  $plz="1010"; //kommt von Flash zurück
                  $ort="München"; //kommt von Flash zurück
                  $kommentar="Test!" //kommt von Flash zurück

                  //jetzt sollte doch eigentlich die html mit den variablen
                  //beschickt werden, denn die will dann ja als mail auf
                  //meinem Rechner bekommen.
                  //Die html hab ich ja nur wegen der Formatierung gemacht
                  //damit ich nicht eine reine Textmail von php bekomme.

                  $datum = date("F j, Y, g:i a");
                  $zeit= date("H");
                  $time= date("$zeit:i");
                  $betreff = "Highscoreeintrag am $datum um $time";
                  $newmail = "";
                  $newmail = $newmail."Vorname: $vorname\n";
                  $newmail = $newmail."Zuname: $zuname\n";
                  $newmail = $newmail."Strasse: $strasse\n";
                  $newmail = $newmail."PLZ: $plz\n";
                  $newmail = $newmail."Ort: $ort\n";
                  $newmail = $newmail."URL: $url\n";
                  $newmail = $newmail."Land: $land\n\n";
                  $newmail = $newmail."Kommentar:\n$kommentar";

                  mail(ErichGSI@gmx.at,$betreff,$newmail);

                  ?>

                  Weißt Du einigermaßen wie ich das meine??
                  Anmerkung: Ich habe die Variablennamen kurfristig etwas abgeändert. Ignoriere diesen Umstand einfach.

                  [Editiert von Metallica am 05-09-2001 um 08:47]
                  $PHP resource 4ever$

                  Kommentar


                  • #10
                    Hi tRaX4u!

                    Hab grad dein script ausprobiert und bekomme von php-edit bei der Zeile

                    mail(ErichGSI@gmx.at,$betreff,$newmail);

                    einen parse-error. Hast du 'ne Ahnung warum??
                    Noch was:
                    Warum verwendest du bei Land \n\n
                    und bei Kommentar \n$kommentar
                    [Codeauszug:
                    $newmail = $newmail."Land: $land\n\n";
                    $newmail = $newmail."Kommentar:\n$kommentar";
                    ]
                    ??
                    Was bedeutet das \n überhaupt? Zeilenumbruch vielleicht?

                    Gibt es über php eigentlich eine Möglichkeit die Mail tabellenmäßig ein bißchen zu formatieren. Ich dachte da an zwei Spalten mit verschiedenen Farben. Mehr nicht.Damit es nicht gar so wie eine txt aussieht. Verstehst Du??
                    $PHP resource 4ever$

                    Kommentar


                    • #11
                      ========
                      tRaX4u??
                      ========
                      $PHP resource 4ever$

                      Kommentar

                      Lädt...
                      X