Ergebnis 1 bis 7 von 7

Thema: Daten aus Textdatein in Auswahlliste

  1. #1
    jobau
    Gast

    Standard Daten aus Textdatein in Auswahlliste

    Hallo Forum,

    ich bin absoluter PHP-Anfänger und habe mir die folgenden Scripte aus
    verschiedenen Quelle zusammengebastelt...
    Hier mein Problem: Mit dem 1. Script (hab nur einen Auszug hier reingestellt)
    werden Auswahllisten mit Daten aus einer Textdatei gefüllt. Wenn man die Seite
    aufruft, stehen die Daten dann ich in den Listen drin.

    Wenn ich dann mit dem "senden" Knopf das 2. Script ausführe, kommt immer die
    Meldung, dass nicht alle Felder ausgefüllt wurden, obwohl alle ausgefüllt waren.
    Wenn ich die Auswahllisten von Hand in eine HTM-Datei schreibe, dann funktioniert
    das 2. Script ??

    Ich bin absolut ratlos und würde mich sehr über etwas Hilfe freuen

    Danke Jörg


    **************** tip_1.php ************************

    <h3 class="Sh2"><a class="an" name="a1"> Tages-Tipp abgeben</a></h3> </p>

    <h5 class="Sh2"><a class="an" name="a1"> für die 1. Etappe am So 02.07.: Strasbourg - Strasbourg (183 km)</a></h5> </p>


    <form name="form1" method="GET" action="liste1.php">
    <font face="arial" size=2 color=black>


    Den Tagestipp bis spätestens 12:00 h am Tag der Etappe abschicken.

    Dazu einfach den Fahrer aus der Liste wählen, Spielername und Email

    eintragen und "Abschicken" drücken. Wenn ihr mehrmals für eine

    Etappe getippt habt, wird der letzte Tipp gewertet. Viel Erfolg!

    </p></font>


    <table>
    <tr>
    <td colspan="2"><hr noshade size="1"></td>
    </tr><tr><td align="right"><font face="arial" size=2 color=black>Spielername :</font></td><td><input type="text" size="30" name="name"></td>
    </tr><tr>
    <td align="right"><font face="arial" size=2 color=black>Email-Adresse :</font></td><td><input type="text" size="30" name="mail"></td>
    </tr><tr>

    <td colspan="2"><hr noshade size="1"></td>
    </tr><tr>

    <td align="right"><font face="arial" size=2 >1. Platz :</font></td><td>
    <select name="p5" size="1">

    <?php
    $datei = fopen('beispiel.txt','r');
    ?>

    <?php
    while (!feof($datei))
    {
    $zeile = fgets($datei,1024);
    echo $zeile.'
    ';
    } ?>

    <?php
    fclose($datei);
    ?>

    <option> ----------------------------------------------
    </select>
    </td>
    </tr><tr>


    ********************** liste1.php *****************************

    <HTML>
    <HEAD>
    <TITLE>Downloadliste</TITLE>
    </HEAD>

    <?php
    $timestamp = time();


    $datum = date("d.m.Y",$timestamp);
    $uhrzeit = date("H:i",$timestamp);

    $zeit="$datum $uhrzeit";


    $name = $_GET["name"];
    $mail = $_GET["mail"];
    $p1 = $_GET["p1"];
    $p2 = $_GET["p2"];
    $p3 = $_GET["p3"];
    $p4 = $_GET["p4"];
    $p5 = $_GET["p5"];


    if( isset($name)&& isset($mail)&& isset($p1)&& isset($p2)&& isset($p3)&& isset($p4)&& isset($p5) && $name!="" && $mail!="" && $p1!="" && $p2!="" && $p3!="" && $p4!="" && $p5!=""){
    $datei="namen1.txt";
    $zeiger=fopen($datei,"r+");
    $alt=fread($zeiger,filesize($datei));
    $meinung="$name $zeit $p1 $p2 $p3 $p4 $p5 $mail ";
    rewind($zeiger);
    fputs($zeiger,"$meinung \n $alt");
    fclose($zeiger);

    }
    else{
    echo "Sie haben nicht alle Felder ausgefüllt !";
    }
    ?>



    <BODY bgcolor="#FFFFFF">
    <TABLE width="95%" border="1" cellpadding="2" cellspacing="0">
    <TR>
    <TD width="12%">Spieler</TD>
    <TD width="12%">Datum</TD>
    <TD width="12%">Uhrzeit</TD>
    <TD width="12%">Platz 1</TD>
    <TD width="12%">Platz 2</TD>
    <TD width="12%">Platz 3</TD>
    <TD width="12%">Platz 4</TD>
    <TD width="12%">Platz 5</TD>

    </TR>

    <?php

    $datei = fopen("namen1.txt", "r") ;
    while (!feof($datei)) {
    $zeile = fgets($datei, 512) ;
    $eintrag = explode(" ", trim($zeile)) ;
    // Auslesen jetzt abgeschlossen,
    // es folgt das Einsetzen in die Tabelle
    ?>

    <TR>
    <TD><?php echo $eintrag[0]; ?></TD>
    <TD><?php echo $eintrag[1]; ?></TD>
    <TD><?php echo $eintrag[2]; ?></TD>
    <TD><?php echo $eintrag[3]; ?></TD>
    <TD><?php echo $eintrag[4]; ?></TD>
    <TD><?php echo $eintrag[5]; ?></TD>
    <TD><?php echo $eintrag[6]; ?></TD>
    <TD><?php echo $eintrag[7]; ?></TD>

    </TR>

    <?php
    } // Ende der while-Schleife
    fclose($datei) ;?>

    </TABLE>



    </BODY>
    </HTML>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    wer nicht liest und keine codetags benutzt, bekommt keine antwort:

    http://www.forum-hilfe.de/viewtopic.php?t=17857

  3. #3
    jobau
    Gast

    Standard Textdatei-Auswahlliste

    Hallo GreenRover,
    wahrscheinlich bin ich zu dumm für diese Welt, aber weder deine
    Antwort ("... codetags benutzt...") noch dein Link haben mir weiter
    helfen können. Muss ich wohl woanderes weiter suchen...
    Trotzdem Danke für deine (versuchte) Hilfe
    Jörg

  4. #4
    Forum Guru
    Registriert seit
    14.06.2004
    Ort
    Schleswig-Holstein
    Beiträge
    5.439
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Moin!

    1. Code-Tags sind BB-Codes , welche Quelltext in Postings lesbar machen. Ein Klick auf das Wörtchen "Code" über dem Textfenster leitet den Tag ein, ein 2. Klick beendet das ganze dann wieder. Du kannst es natürlich auch von Hand schreiben. Es steht dann

    [cod&#101;]
    Quelltext
    [/cod&#101;]

    in deinem Posting und so sieht es danach aus:
    Code:
    <h3 class="Sh2"><a class="an" name="a1"> Tages-Tipp abgeben</a></h3> </p>
    
    <h5 class="Sh2"><a class="an" name="a1"> für die 1. Etappe am So 02.07.&#58; Strasbourg - Strasbourg &#40;183 km&#41;</a></h5> </p>
    
    
    <form name="form1" method="GET" action="liste1.php">
    <font face="arial" size=2 color=black>
    
    
    Den Tagestipp bis spätestens 12&#58;00 h am Tag der Etappe abschicken.
    
    Dazu einfach den Fahrer aus der Liste wählen, Spielername  und Email 
    
    eintragen und "Abschicken" drücken. Wenn ihr mehrmals für eine 
    
    Etappe getippt habt, wird der letzte Tipp gewertet. Viel Erfolg!
    
    </p></font>
    
    
    <table>
    <tr>
    <td colspan="2"><hr noshade size="1"></td>
    </tr><tr><td align="right"><font face="arial" size=2 color=black>Spielername &#58;</font></td><td><input type="text" size="30" name="name"></td>
    </tr><tr>
    <td align="right"><font face="arial" size=2 color=black>Email-Adresse &#58;</font></td><td><input type="text" size="30" name="mail"></td>
    </tr><tr>
    
    <td colspan="2"><hr noshade size="1"></td>
    </tr><tr>
    
    <td align="right"><font face="arial" size=2 >1. Platz &#58;</font></td><td>
    <select name="p5" size="1">
    
    <?php
    $datei = fopen&#40;'beispiel.txt','r'&#41;;
    ?>
    
    <?php
    while &#40;!feof&#40;$datei&#41;&#41;
    &#123;
    $zeile = fgets&#40;$datei,1024&#41;;
    echo $zeile.'
    ';
    &#125; ?>
    
    <?php
    fclose&#40;$datei&#41;;
    ?>
    
    <option> ----------------------------------------------
    </select>
    </td>
    </tr><tr>
    2. Wenn der Fehler im 1. Script auftaucht, frage ich mich, warum du gerade von dem Script nur einen Auszug postest. Für die Fehlersuche benötigen wir das komplette Script, besser auch noch zusätzlich die URL.

    3. warum schließt du PHP im Quelltext und öffnest es sofort wieder?

    das
    Code:
    <?php
    $datei = fopen&#40;'beispiel.txt','r'&#41;;
    ?>
    
    <?php
    while &#40;!feof&#40;$datei&#41;&#41;
    &#123;
    $zeile = fgets&#40;$datei,1024&#41;;
    echo $zeile.'
    ';
    &#125; ?>
    
    <?php
    fclose&#40;$datei&#41;;
    ?>
    kannst du besser auch so schreiben:
    Code:
    <?php
    $datei = fopen&#40;'beispiel.txt','r'&#41;;
    while &#40;!feof&#40;$datei&#41;&#41;
    &#123;
    $zeile = fgets&#40;$datei,1024&#41;;
    echo $zeile.'
    ';
    &#125; 
    fclose&#40;$datei&#41;;
    ?>
    G.a.d.M.

    Ronald

  5. #5
    jobau
    Gast

    Standard auswahlliste

    Ok, dann hier nochmal komplett:

    *** tip_1.php ***

    Code:
     
    
    
    <html>
    <head>
    <title>ts2005</title>
    <link rel="stylesheet" type="text/css" href="wselfhtm.css"> 
    </head>
    <body bgcolor="yellow" text="black" >
    
    
    
    
    <h3 class="Sh2"><a class="an" name="a1"> Tages-Tipp abgeben</a></h3> </p> 
    
    <h5 class="Sh2"><a class="an" name="a1"> für die 1. Etappe am So 02.07.&#58; Strasbourg - Strasbourg &#40;183 km&#41;</a></h5> </p> 
    
    
    <form name="form1" method="GET" action="liste1.php">
    <font face="arial" size=2 color=black>
    
    
    Den Tagestipp bis spätestens 12&#58;00 h am Tag der Etappe abschicken.
    
    Dazu einfach den Fahrer aus der Liste wählen, Spielername  und Email 
    
    eintragen und "Abschicken" drücken. Wenn ihr mehrmals für eine  
    
    Etappe getippt habt, wird der letzte Tipp gewertet. Viel Erfolg!
    
    </p></font>
    
    
    <table>
    <tr>
    <td colspan="2"><hr noshade size="1"></td>
    </tr><tr><td align="right"><font face="arial" size=2 color=black>Spielername &#58;</font></td><td><input type="text" size="30" name="name"></td>
    </tr><tr>
    <td align="right"><font face="arial" size=2 color=black>Email-Adresse &#58;</font></td><td><input type="text" size="30" name="mail"></td>
    </tr><tr>
    
    <td colspan="2"><hr noshade size="1"></td>
    </tr><tr>
    
    <td align="right"><font face="arial" size=2 >1. Platz &#58;</font></td><td>
    <select name="p5" size="1">
    
    <?php 
    $datei = fopen&#40;'beispiel.txt','r'&#41;; 
     ?> 
    
    <?php 
    while &#40;!feof&#40;$datei&#41;&#41; 
       &#123; 
       $zeile = fgets&#40;$datei,1024&#41;; 
       echo $zeile.'
    ';
       &#125; ?> 
    
    <?php 
    fclose&#40;$datei&#41;; 
    ?> 
    
    <option> ----------------------------------------------</option>
    </select>
    </td>
    </tr><tr>
    
    <td align="right"><font face="arial" size=2 >2. Platz &#58;</font></td><td>
    <select name="p5" size="1">
    
    <?php 
    $datei = fopen&#40;'beispiel.txt','r'&#41;; 
     ?> 
    
    <?php 
    while &#40;!feof&#40;$datei&#41;&#41; 
       &#123; 
       $zeile = fgets&#40;$datei,1024&#41;; 
       echo $zeile.'
    '; 
       &#125; ?> 
    
    <?php 
    fclose&#40;$datei&#41;; 
    ?> 
    
    <option> ----------------------------------------------</option>
    </select>
    </td>
    </tr><tr>
    
    <td align="right"><font face="arial" size=2 >3. Platz &#58;</font></td><td>
    <select name="p5" size="1">
    
    <?php 
    $datei = fopen&#40;'beispiel.txt','r'&#41;; 
     ?> 
    
    <?php 
    while &#40;!feof&#40;$datei&#41;&#41; 
       &#123; 
       $zeile = fgets&#40;$datei,1024&#41;; 
       echo $zeile.'
    '; 
       &#125; ?> 
    
    <?php 
    fclose&#40;$datei&#41;; 
    ?> 
    
    <option> ----------------------------------------------</option>
    </select>
    </td>
    </tr><tr>
    
    <td align="right"><font face="arial" size=2 >4. Platz &#58;</font></td><td>
    <select name="p5" size="1">
    
    <?php 
    $datei = fopen&#40;'beispiel.txt','r'&#41;; 
     ?> 
    
    <?php 
    while &#40;!feof&#40;$datei&#41;&#41; 
       &#123; 
       $zeile = fgets&#40;$datei,1024&#41;; 
       echo $zeile.'
    '; 
       &#125; ?> 
    
    <?php 
    fclose&#40;$datei&#41;; 
    ?> 
    
    <option> ----------------------------------------------</option>
    </select>
    </td>
    </tr><tr>
    
    <td align="right"><font face="arial" size=2 >5. Platz &#58;</font></td><td>
    <select name="p5" size="1">
    
    <?php 
    $datei = fopen&#40;'beispiel.txt','r'&#41;; 
     ?> 
    
    <?php 
    while &#40;!feof&#40;$datei&#41;&#41; 
       &#123; 
       $zeile = fgets&#40;$datei,1024&#41;; 
       echo $zeile.'
    '; 
       &#125; ?> 
    
    <?php 
    fclose&#40;$datei&#41;; 
    ?> 
    
    <option> ----------------------------------------------</option>
    </select>
    </td>
    </tr><tr>
    
    <td align="right"><font face="arial" size=2 >Formular &#58;</font></td>
    <td><input type="submit" value="Abschicken"> <input type="reset" value="Verwerfen"> </td>
    </tr></table>
    </form>
    
    <font color=black>Home</font>
    
    </body>
    </html>

    und

    *** liste1.php ***

    Code:
     
    
    
    
    <HTML>
    <HEAD>
     <TITLE>Downloadliste</TITLE>
    </HEAD>
    
    <?php 
    $timestamp = time&#40;&#41;;
    
    
      $datum = date&#40;"d.m.Y",$timestamp&#41;;
      $uhrzeit = date&#40;"H&#58;i",$timestamp&#41;;
      
    $zeit="$datum $uhrzeit";  
    
    
    $name = $_GET&#91;"name"&#93;;
    $mail = $_GET&#91;"mail"&#93;;
    $p1 = $_GET&#91;"p1"&#93;;
    $p2 = $_GET&#91;"p2"&#93;;
    $p3 = $_GET&#91;"p3"&#93;;
    $p4 = $_GET&#91;"p4"&#93;;
    $p5 = $_GET&#91;"p5"&#93;;
    
    
    if&#40; isset&#40;$name&#41;&& isset&#40;$mail&#41;&& isset&#40;$p1&#41;&& isset&#40;$p2&#41;&& isset&#40;$p3&#41;&& isset&#40;$p4&#41;&& isset&#40;$p5&#41; && $name!="" && $mail!="" && $p1!="" && $p2!="" && $p3!="" && $p4!="" && $p5!=""&#41;&#123;
    $datei="namen1.txt";
    $zeiger=fopen&#40;$datei,"r+"&#41;;
    $alt=fread&#40;$zeiger,filesize&#40;$datei&#41;&#41;;
    $meinung="$name $zeit $p1 $p2 $p3 $p4 $p5 $mail ";
    rewind&#40;$zeiger&#41;;
    fputs&#40;$zeiger,"$meinung \n $alt"&#41;;
    fclose&#40;$zeiger&#41;;
    
    &#125;
    else&#123;
    echo "Sie haben nicht alle Felder ausgefüllt !";
    &#125;
    ?>
    
    
    
    <BODY bgcolor="#FFFFFF">
    <TABLE width="95%" border="1" cellpadding="2" cellspacing="0">
     <TR>
      <TD width="12%">Spieler</TD>
      <TD width="12%">Datum</TD>
      <TD width="12%">Uhrzeit</TD>
      <TD width="12%">Platz 1</TD>	
      <TD width="12%">Platz 2</TD>
      <TD width="12%">Platz 3</TD>
      <TD width="12%">Platz 4</TD>
      <TD width="12%">Platz 5</TD>
      
     </TR>
    
    <?php
    
    $datei = fopen&#40;"namen1.txt", "r"&#41; ;
    while &#40;!feof&#40;$datei&#41;&#41; &#123;
     $zeile = fgets&#40;$datei, 512&#41; ;
     $eintrag = explode&#40;" ", trim&#40;$zeile&#41;&#41; ;
    // Auslesen jetzt abgeschlossen,
    // es folgt das Einsetzen in die Tabelle
    ?>
    
     <TR>
      <TD><?php echo $eintrag&#91;0&#93;; ?></TD>
      <TD><?php echo $eintrag&#91;1&#93;; ?></TD>
      <TD><?php echo $eintrag&#91;2&#93;; ?></TD>
      <TD><?php echo $eintrag&#91;3&#93;; ?></TD>
      <TD><?php echo $eintrag&#91;4&#93;; ?></TD>
      <TD><?php echo $eintrag&#91;5&#93;; ?></TD>
      <TD><?php echo $eintrag&#91;6&#93;; ?></TD>
      <TD><?php echo $eintrag&#91;7&#93;; ?></TD>
      	
     </TR>
    
    <?php
    &#125; // Ende der while-Schleife
    fclose&#40;$datei&#41; ;?>
    
    </TABLE>
    
    
    
    </BODY>
    </HTML>
    in der textdatei (beispiel.txt) steht:

    <option>Acosta,García_036</option>
    <option>Aerts,Mario_042</option>
    <option>Albasini,Michael_112</option>
    <option>Armstrong,Lance_001</option>
    <option>Arrieta,José_032</option>
    <option>Arroyo,David_033</option>
    <option>Arvesen,Kurt-Asle_022</option>
    <option>Astarloza,Mikel_202</option>
    <option>Augé,Stéphane_122</option>
    <option>Azevedo,Jose_002</option>
    <option>Backstedt,Magnus_113</option>
    <option>Basso,Ivan_021</option>
    <option>Becke,Daniel_034</option>
    <option>Beloki,Joseba_092</option>
    <option>Beltran,Manuel_003</option>
    <option>Bénéteau,Walter_142</option>



    das ganze ist zu finden unter:

    http://www.tourspiel.de/tippen.htm

    für die

    1. Etappe am So 02.07.: Strasbourg - Strasbourg (183 km)


    schonmal vielen dank im voraus

  6. #6
    Forum Guru
    Registriert seit
    14.06.2004
    Ort
    Schleswig-Holstein
    Beiträge
    5.439
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    So, da sind verdammt viele Fehler drinnen.

    Zunächst mal die ursächlichen:

    1. die 5 Select-Felder im Eingabeformular haben alle den Namen "p5", dadurch fehlt dir dann in der Auswertung (liste1.php) die Werte für p1 bis p4. Sobald du das korrigiert hast sollte der Fehler mit den nicht ausgefüllten Feldern weg sein.

    Allerdings bin ich mir nicht sicher ob der String für eine GET-Übertragung nicht zu lang wird. Ich würde statdessen eine POST-Übertragung wählen.
    Änder mal in deinem Eingabeformular den Form-Tag von "get" auf "post" um:
    Code:
    <form name="form1" method="post" action="liste1.php">
    Als nächsten Schritt mußt du dann auch noch in der liste1.php eine kleine Änderung vornehmen.
    Das hier:
    Code:
    $name = $_GET&#91;"name"&#93;;
    $mail = $_GET&#91;"mail"&#93;;
    $p1 = $_GET&#91;"p1"&#93;;
    $p2 = $_GET&#91;"p2"&#93;;
    $p3 = $_GET&#91;"p3"&#93;;
    $p4 = $_GET&#91;"p4"&#93;;
    $p5 = $_GET&#91;"p5"&#93;;
    ersetzt du bitte durch
    Code:
    extract&#40;$_POST&#93;
    Dann sollte es eigentlich alles laufen.

    Was noch unsinnig ist:
    Code:
    if&#40; isset&#40;$name&#41;&& isset&#40;$mail&#41;&& isset&#40;$p1&#41;&& isset&#40;$p2&#41;&& isset&#40;$p3&#41;&& isset&#40;$p4&#41;&& isset&#40;$p5&#41; && $name!="" && $mail!="" && $p1!="" && $p2!="" && $p3!="" && $p4!="" && $p5!=""&#41;&#123;
    Du überprüfst zuerst, ob alle Variablen vorhanden sind. Traust du deinem eigenen Eingabeformular nicht? Du hast dort doch die Variablen definiert, warum sollten sie also nicht vorhanden sein?
    Im zweiten Schritt prüfst du, ob die Variablen Inhalte haben. Das ist bei Name und Mail sinnvoll, aber die p1 - p5 haben immer Inhalte, da du das ja im Formular so vorgibst.

    Einfacher (mit dem selben Ergebnis):
    Code:
    if&#40;$name && $mail&#41; &#123;
    Damit wird das ganze dann schon übersichtlicher und verständlicher. Mit dem rest habe ich mich derweil nicht beschäftigt, aber irgendwo steckt da noch ein dicker Hund drinne, bzw. mag es auch daran liegen, daß ich die erforderlichen Dateien nicht auf meinem PC habe. Jedenfalls bläht sich mein Browser bei deinem Script auf über 300MB Arbeitsspeicherverbrauch auf. Ich hab jetzt aber weder Zeit noch Lust die Ursache zu suchen.

    G.a.d.M.

    Ronald

  7. #7
    jobau
    Gast

    Standard

    Viiieeeeleeeen Daaaank
    jetzt klappt es !!!!!!!

    Gruß Jörg

Ähnliche Themen

  1. Auswahlliste
    Von Detlef F im Forum HTML & CSS Forum
    Antworten: 15
    Letzter Beitrag: 29.11.2007, 23:36
  2. Uploadform mit auswahlliste
    Von Sea-Kay im Forum HTML & CSS Forum
    Antworten: 0
    Letzter Beitrag: 18.10.2007, 23:09
  3. Problem mit Auswahlliste
    Von mlspider im Forum Script-Archiv
    Antworten: 0
    Letzter Beitrag: 15.11.2006, 17:51
  4. Wert aus Auswahlliste
    Von Tom84 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 08.03.2005, 18:30
  5. Auswahlliste deaktivienen
    Von Martin2 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 08.03.2005, 13:40

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •