kostenloser Webspace werbefrei: lima-city


PhP vertauscht einfach Strings!

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s*****z

    Moin. Moin!

    Ich habe ein Formular in HTML erstellt und dazu ein PhP-Script zur Auswertung geschrieben. Nun ist aber folgendes Problem: Die Variablen werden in die falschen Dateien geschrieben, obwohl die Vriablen richtig zugewiesen sind. Woran liegt das? Habe ich einen Fehler gemacht? Ich bin noch PhP-Einsteiger und verzichte gerade absichtlich auf MySql. Ich bitte dringend um Hilfe.

    Saublöder Fehler! Hat sich erledigt! Wer sich mal unten anschaut, welche Datei erstellt wird und was eingesetzt wird (als Variable) versteht es.

    PS: Es wird folgendermaßen verwechselt:
    Kurztext <-> Titel
    Inhalt <-> Titelbild
    Inhalt <-> Titel

    Hier meine beiden Dateien:

    PhP-Datei zur Auswertung:

    <?php
    
    include ("count.php");
    
    // Slash als Slash darstellen.
    
    if(0!=get_magic_quotes_gpc())
    $_POST['kategorie'] = stripslashes($_POST['kategorie']);
    $_POST['titel'] = stripslashes($_POST['titel']);
    $_POST['kurztext'] = stripslashes($_POST['kurztext']);
    $_POST['inhalt'] = stripslashes($_POST['inhalt']);
    $_POST['titelbild'] = stripslashes($_POST['titelbild']);
    $_POST['forumlink'] = stripslashes($_POST['forumlink']);
    $_POST['links'] = stripslashes($_POST['links']);
    
    $kategorie = $_POST['kategorie'];
    //Aufnahme der Werte
    
    $inhalt = $_POST['inhalt'];
    $titel= $_POST['titel'];
    $titelbild = $_POST['titelbild'];
    $kurztext = $_POST['kurztext'];
    $forumlink = $_POST['forumlink'];
    $links = $_POST['links'];
    $autor = $_GET['autor'];
    
    //Datum erzeugen
    
    $datum = date ('d.m.y  -  H:i:s');
    
    
    
    
      $fp = fopen("zahlen.txt","r");
         $zeile = fgets($fp, 100);
    echo $zeile;
     
       
     $ID = $zeile;
     
    //Dateinamen festlegen
    
    $dateiname['inhalt']= "inhalt/" . $ID . "inhalt.html";
    $dateiname['titel']= "titel/" . $ID . "titel.html";
    $dateiname['titelbild']= "titelbild/" .  $ID . "titelbild.txt";
    $dateiname['kurztext']= "kurztext/" .  $ID . "kurztext.html";
    $dateiname['forumlink']= "flink/" .  $ID . "flink.txt";
    $dateiname['links']= "links/" . $ID . "links.html";
    
    
    $older = $ID - 1;
    
    
    
    @$handle=fopen($dateiname['inhalt'], "a+");
    @fputs($handle, $titel);
    @fclose($handle);
    
    @$handle2=fopen($dateiname['titel'], "a+");
    @fputs($handle2, $kurztext);
    @fclose($handle2);
    
    @$handle3=fopen($dateiname['titelbild'], "a+");
    @fputs($handle3, $inhalt);
    @fclose($handle3);
    
    @$handle4=fopen($dateiname['kurztext'], "a+");
    @fputs($handle4, $titelbild);
    @fclose($handle4);
    
    @$handle5=fopen($dateiname['forumlink'], "a+");
    @fputs($handle5, $forumlink);
    @fclose($handle5);
    
    @$handle6=fopen($dateiname['links'], "a+");
    @fputs($handle6, $links);
    @fclose($handle6);
    
    fclose($fp);
    
    echo $older;
    
    
    ?>




    HTML-Datei mit Formular:

    <html>
    
    <head>
    <meta http-equiv="Content-Language" content="de">
    <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Willkommen im Fiction4u Adminsystem</title>
    </head>
    
    <body>
    
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="700" id="AutoNumber1">
      <tr>
        <td>Willkommen im Fiction4u Adminsystem! Hier können sie einen neuen Artikel 
        anlegen.</td>
      </tr>
      <tr>
        <td>
        <form method="POST" action="ierstellen.php">
       <p>
          Artikel ist für den Bereich</p>
          <p><input type="radio" value="multimedia" checked name="kategorie">Multimedia</p>
          <p><input type="radio" name="kategorie" value="sport">Sport</p>
          <p>Titel: <input type="text" name="titel" size="20"></p>
          <p>Kurztext/Kurzbeschreibung<textarea rows="9" name="kurztext" cols="43"></textarea></p>
          <p>Inhalt: <textarea rows="11" name="inhalt" cols="44"></textarea></p>
          <p>Titelbild URL: <input type="text" name="titelbild" size="20"></p>
          <p>Forumlink: <input type="text" name="forumlink" size="20"></p>
          <p>Allgemeine Links: <textarea rows="7" name="links" cols="36"></textarea></p>
          <p><input type="submit" value="Submit" name="B1"><input type="reset" value="Reset" name="B2"></p>
        </form>
        <p>&nbsp;</td>
      </tr>
    </table>
    
    </body>
    
    </html>


    Ich würde mich sehr über Hilfe freuen.

    Vielen Dank und mit freundlichen Grüßen,
    screenz


    Beitrag geändert: 11.11.2006 22:57:31 von screenz

    Beitrag geändert: 11.11.2006 23:19:36 von screenz
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Probier mal das hier:
    <?php
    include ('count.php');
    // Slash als Slash darstellen.
    if(0!=get_magic_quotes_gpc())
    
    $_POST['kategorie'] = stripslashes($_POST['kategorie']);
    
    $_POST['titel'] = stripslashes($_POST['titel']);
    
    $_POST['kurztext'] = stripslashes($_POST['kurztext']);
    
    $_POST['inhalt'] = stripslashes($_POST['inhalt']);
    
    $_POST['titelbild'] = stripslashes($_POST['titelbild']);
    
    $_POST['forumlink'] = stripslashes($_POST['forumlink']);
    
    $_POST['links'] = stripslashes($_POST['links']);
    $kategorie = $_POST['kategorie'];
    
    //Aufnahme der Werte
    
    $inhalt = $_POST['inhalt'];
    
    $titel= $_POST['titel'];
    
    $titelbild = $_POST['titelbild'];
    
    $kurztext = $_POST['kurztext'];
    
    $forumlink = $_POST['forumlink'];
    
    $links = $_POST['links'];
    
    $autor = $_GET['autor'];
    
    //Datum erzeugen
    
    $datum = date ('d.m.y  -  H:i:s');
    
    $fp = fopen('zahlen.txt','r');
    
         $zeile = fgets($fp, 100);
    
    echo $zeile;
    
     $ID = $zeile;
    
     //Dateinamen festlegen
    
    
    
    $dateiname1= 'inhalt/' . $ID . 'inhalt.html';
    
    $dateiname2= 'titel/' . $ID . 'titel.html';
    
    $dateiname3= 'titelbild/' .  $ID . 'titelbild.txt';
    
    $dateiname4= 'kurztext/' .  $ID . 'kurztext.html';
    
    $dateiname5= 'flink/' .  $ID . 'flink.txt';
    
    $dateiname6= 'links/' . $ID . 'links.html';
    
    $older = $ID - 1;
    
    @$handle=fopen($dateiname1, 'a+');
    
    @fputs($handle, $titel);
    
    @fclose($handle);
    
    
    
    @$handle2=fopen($dateiname2, 'a+');
    
    @fputs($handle2, $kurztext);
    
    @fclose($handle2);
    
    
    
    @$handle3=fopen($dateiname3, 'a+');
    
    @fputs($handle3, $inhalt);
    
    @fclose($handle3);
    
    
    
    @$handle4=fopen($dateiname4, 'a+');
    
    @fputs($handle4, $titelbild);
    
    @fclose($handle4);
    
    
    
    @$handle5=fopen($dateiname5, 'a+');
    
    @fputs($handle5, $forumlink);
    
    @fclose($handle5);
    
    
    
    @$handle6=fopen($dateiname6, 'a+');
    
    @fputs($handle6, $links);
    
    @fclose($handle6);
    
    fclose($fp);
    
    echo $older;
    
    ?>

    Ungetestet sollte aber funzen^^
    Und die @ würde ich weglassen Fehlermeldungen sind praktisch^^
    Um die Fehler aufzuspüren^^
  4. Autor dieses Themas

    s*****z

    @garlian: Ne, sorry, das Problem besteht immer noch. Hat sich nichts geändert. Trotzdem vielen Dank an dich!!

    Gruß,
    screenz
  5. #...
    @$handle=fopen($dateiname['inhalt'], 'a+');
    @fputs($handle, $titel);
    @fclose($handle);

    @$handle2=fopen($dateiname['titel'], 'a+');
    @fputs($handle2, $kurztext);
    @fclose($handle2);

    @$handle3=fopen($dateiname['titelbild'], 'a+');
    @fputs($handle3, $inhalt);
    @fclose($handle3);

    @$handle4=fopen($dateiname['kurztext'], 'a+');
    @fputs($handle4, $titelbild);
    @fclose($handle4);
    #...


    ich denke es sollte wohl eher so sein:
    #...
    @$handle=fopen($dateiname['inhalt'], 'a+');
    @fputs($handle, $inhalt);
    @fclose($handle);
    
    @$handle2=fopen($dateiname['titel'], 'a+');
    @fputs($handle2, $titel);
    @fclose($handle2);
    
    @$handle3=fopen($dateiname['titelbild'], 'a+');
    @fputs($handle3, $titelbild);
    @fclose($handle3);
    
    @$handle4=fopen($dateiname['kurztext'], 'a+');
    @fputs($handle4, $kurztext);
    @fclose($handle4);
    #...


    also hat nicht php deine variablen "vertauscht" sondern du

    mfg
  6. 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!