kostenloser Webspace werbefrei: lima-city


übertragen und in eine datei eintragen - wie?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    Moinsen ^^
    ich hab schon ne bisschen vorarbeit gemacht, aber nun komm ich an den punkt wo ich nicht weiter wei?. wie bekomm ich das hin, dann die daten in eine datei eintragen werden ?

    Wenn es ?bertragen wurde sollen die Daten noch mal angezeigt werden und man kann dann vielleicht noch was eintragen. aber das muss die datei alles mit machen.

    ich hoffe ich finde hier hilfe.

    mfg trance

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
      <table width="600" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td colspan="2">Rubrik</td>
          <td colspan="2"><select name="select">
            <option selected>Bitte w&auml;hlen</option>
            <option value="allgemein">Allgemein</option>
            <option value="forum">Forum</option>
            <option value="hp">Private Homepage</option>
            <option value="musik">Musik</option>
            <option value="game">Game</option>
            <option value="fun">Fun</option>
            <option value="web">Webmaster</option>
            <option value="computer">Computer</option>
            <option value="down">Download</option>
                                  </select></td>
        </tr>
    	<tr>
          <td colspan="2"><div align="left">Url</div></td>
          <td width="400" colspan="2"><input type="text" name="url" size="55"></td>
        </tr>
        <tr>
          <td colspan="2"><div align="left">Titel</div></td>
          <td colspan="2"><input type="text" name="titel" size="55"></td>
        </tr>
        <tr>
          <td colspan="2"><div align="left">Beschreibung</div></td>
          <td colspan="2"><input type="text" name="beschreibung" size="55"></td>
        </tr>
      </table>
      <p>Falls sie ein Bild zu Hand haben, welches als Garfik aufgebenen soll, bitte folgende Felder ausf&uuml;llen.</p>
      <table width="600" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td colspan="2"><div align="left">Bild</div></td>
          <td colspan="2"><input type="text" name="bild" size="55"></td>
        </tr>
        <tr>
          <td width="47"><div align="left">Breite</div></td>
          <td width="150"><input name="breite" type="text" size="25" maxlength="3"></td>
          <td width="167"><div align="left">&nbsp;&nbsp;H?he</div></td>
          <td width="150"><input name="hoehe" type="text" size="25" maxlength="3"></td>
        </tr>
      </table>
      <p><input type="submit" value="speichern" name="save"></p>
    
    </form>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hi,

    das k?nnte man z.B. folgendermassen machen (eine M?glichkeit):
    if (isset($_POST['action']) && $_POST['action'] == "eintragen") {
      $data = array();
      foreach ($_POST as $key => $val) {
        if ($key != "action") $data[$kay] = $val; // Nur elemente seichern,
                                                  // bei denen der Schl?ssel nicht gleich "action" ist
      }
    
      // Abspeichern in "data.db"
      $data = serilaize($data);
      $fp = fopen("datei.db",'w');
      fputs($fp,$data);
      fclose($fp);
    } else {
    ?>
    
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <input type="hidden" name="action" value="eintragen">
    <!-- ... Hier das ganze HTML-Formular ... -->
    </form>
    
    <?php
    }


    Dieser Code ist nat?rlich sinnlos, aber als Beispiel funktioniert es.
    Am besten liesst du dir mal das hier durch: http://www.php.net/manual/de/function.fopen.php
    und alle anderen Datei-Funktionen in der Referenz.

    mfg,
    hr
  4. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    das geht so nicht:
    http://trancedrome.xardas.lima-city.de/Testarea/admin.php
    einmal bitte nachlesen!! Danke!!
  5. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    Kann mir vielleich noch mal jemand beistehen bei dem (f?r die pro's) kleinem problem!
    Danke!!
  6. Hi,

    ich hatte da ein Tippfehler gemacht:
    Es sollte serialize() und nicht serilaize() heissen.
    Das steht ?brigens auch da, wenn man es ausf?hrt:
    http://trancedrome.xardas.lima-city.de/Testarea/admin.php:
    Fatal error: Call to undefined function: serilaize()


    L?st das dein Problem?

    EDIT: Noch ein Tippfehler gefunden....
    Es sollte $key und nicht $kay heissen.

    So sollte es funktionieren:

    if (isset($_POST['action']) && $_POST['action'] == "eintragen") {
      $data = array();
      foreach ($_POST as $key => $val) {
        if ($key != "action") $data[$key] = $val; // Nur elemente seichern,
                                                  // bei denen der Schl?ssel nicht gleich "action" ist
      }
    
    
      // Abspeichern in "datei.db"
      $data = serialize($data);
      $fp = fopen("datei.db",'w');
      fputs($fp,$data);
      fclose($fp);
    } else {
    ?>
    
    
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <input type="hidden" name="action" value="eintragen">
    <!-- ... Hier das ganze HTML-Formular ... -->
    </form>
    
    <?php
    }


    mfg,
    hr

    Beitrag ge?ndert am 17.05.2006 00:08 von heavyraptor

    Beitrag ge?ndert am 17.05.2006 00:09 von heavyraptor
  7. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    hm
    nun kann man das
    http://trancedrome.xardas.lima-city.de/Testarea/admin.php
    zwar benutzen
    aber man kann die informationen nicht in die datei, mit "|" eintragen.
    und genau das ist das wo ich nicht wei? wie das geht?!?!?
  8. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    ok es geht zum teil.
    die funktion ja.
    aber wie es eingetragen wird ist ein wenig komisch:

    a:8:{s:6:"select";s:12:"Bitte w?hlen";s:3:"url";s:20:"http://www.google.de";s:5:"titel";s:6:"Google";s:12:"beschreibung";s:6:"Google";s:4:"bild";s:0:"";s:6:"breite";s:0:"";s:5:"hoehe";s:0:"";s:9:"eintragen";s:9:"speichern";}

    wie ich schon gesagt hatte, m?ssen die informationen mit einem "|" getrennt werden.
    und wenn die angeben ?ber das bild nicht besteht da da keine leerzeiche gemacht sonst einfach ?bersehen wird.
  9. Hi,

    dass du die Daten mit "|" in einer Datei trennst, ist meiner Meinung nach zu kompliziert.
    Besser ist es mit serialize() (siehe http://www.php.net/manual/de/function.serialize.php), so wie ich es gemacht habe. Diesen String kann man dann mit unserialize() (siehe http://www.php.net/manual/de/function.unserialize.php) wieder auseinandernehmen und in den ursprunglichen Array umwandeln. Ausserdem bleiben die Typen erhalten (integer, float, string ... usw). Das ist schneller und einfacher.

    Bsp:
    $a = array(
      'name'  => "irgendwas",
      'alter' => 20
    );
    
    $a = serialize($a);
    print gettype($a) . "<br />\n"; // zeigt string an (typ von $a)
    
    $a = unserialize($a);
    print gettype($a) . "<br />\n"; // zeigt array an, der String wurde zur?ckverwandelt



    mfg,
    hr
  10. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    Also nun muss ich doch mal eben erkl?ren wieso mit trennungsstich?!

    Also ich hab mir vor ne paar wochen schon ein linkeinbinder geschrieben...der nun auch funktioniert.

    nur ein teile des codes:
    foreach ($lines as $line_num => $line) 
     {
      $line = explode("|", $line);
       if($line[3]) {


    wie man sieht wird die datein ausgelesen und ?berall wo ein "|" ist, ist ein neues array.

    Nun will ich halt noch ein script schreiben womit ich die eintr?ge in der datein edit und auch neue eintragen kann.
    deshalb der trenstich!!

    vielleicht hilft das ja!?

    mfg trancer!
  11. Hi,

    ok, ich weiss schon was du meinst, aber serialize() bietet nur vorteile. Trotzdem, hier ist der Code mit Trennstrich:
    $data = array();
      foreach ($_POST as $key => $val) {
        if ($key != "action") $data[$key] = $val;
      }
    
      $data = implode("|",$data);
      $fp = fopen("datei.db",'w');
      fputs($fp,$data);
      fclose($fp);


    mfg,
    hr
  12. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    Sauber!

    jetzt funktioniert es halb.
    das komm nun raus > Hp|http://www.google.de|Google|Suchmaschine||||Speichern

    nur das speichern sollte nun noch weg.
    und wenn ich ne eintrag gemacht hab und den nachsten machen, soll der erste nicht ?berschrieben werden!?!!!
  13. Hi,

    das sollte so gehen (mit dem parameter 'a+' statt 'w'):
    $data = implode("|",$data);
      $fp = fopen("datei.db",'a+'); // a+ statt w
      fputs($fp,$data);
      fclose($fp);


    Alles klar?

    mfg,
    hr
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!