Seite wird nicht angezeigt in PHP 5. PHP 4 funktioniert

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

  • Seite wird nicht angezeigt in PHP 5. PHP 4 funktioniert

    Hallo Leute,

    ich habe mir da ein Formular gebastelt, welches in PHP 4 prima funktioniert.

    Leider funktioniert es in PHP 5 NICHT mehr.

    Folgenden Code habe ich.

    PHP-Code:
    <?php 
    $check1
    =$_POST['check1'];
    $alter=$_POST['alter'];

    if (
    $alter>="65")
    $meldung="Das Alter darf maximal 65 Jahre betragen!";

    if (
    $alter<="15")
    $meldung="Das Alter muss mindestens 15 Jahre betragen!";

    if (
    $alter=="")
    $meldung=" ";

    if (
    $check1=="mann")                         
    $datei fopen ("mann.csv","r");              

    if (
    $check1=="frau")
    $datei fopen ("frau.csv","r");              


    for (
    $i=0$i count($datei); $i++)
        
    $zeile[$i] = explode(";"$datei[$i]);

    while ( (
    $data fgetcsv ($datei1000";")) !== FALSE )         
        {
            if (
    $check1=="mann")
            {
                if (
    $alter==$data[0])
                  
    showTable($data[1],$data[2],$data[3]);          
            }
            
            if (
    $check1=="frau")
            {
                if (
    $alter==$data[0])
                
    showTable($data[1],$data[2],$data[3]);
            }
        } 
    fclose ($handle); 
    echo 
    '<tr>
            <td class=meldung>'
    .$meldung.'</td>
          </tr>'
    ."\n";

    function 
    showTable($zahl1$zahl2$zahl3)


    echo 
    '<tr>
            <td>Ihre statistische Lebenserwartung liegt bei <b>'
    .$zahl1.'</b> Jahren.</td>
          </tr>'
    ."\n";

    }
    ?>
    Wenn ich folgenden Code herausnehme, dann sehe ich wenigstens am Schirm was.

    PHP-Code:


    echo 
    '<tr>
            <td>Ihre statistische Lebenserwartung liegt bei <b>'
    .$zahl1.'</b> Jahren.</td>
          </tr>'
    ."\n";


    Die Seite wird nur geladen und es kommt kein Ergebniss.

    LG, m-werk
    LG, m-werk

  • #2
    schon gescheckt http://www.php-resource.de/forum/sho...threadid=50454 ?

    Kommentar


    • #3
      Hallo,

      ich habe folgendes ja schon eingebaut:

      PHP-Code:
      error_reporting(E_ALL); 
      aber es zeigt mir keine Fehlermeldung. Es wird einfach nur die Seite geladen und geladen und geladen..........

      Die Stelle, wo sich die Seite aufhängt ist im vorigen Code unten (auszug hab ich ja extra dazugegeben.)

      Wenn ich den unteren Teil weglasse, sehe ich wenigstens die Seite, aber wie gesagt, ist der untere Teil dabei, geht nix mehr.

      In PHP 4 kein Problem. In PHP 5 geht da nichts.

      LG, m-werk
      LG, m-werk

      Kommentar


      • #4
        PHP-Code:
        for ($i=0$i count($datei); $i++) 
        was glaubst du, passiert hier? was ist $datei? genau, eine referenz. lass dir die mal per echo ausgeben.

        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Es wird mir nichts ausgegeben.

          Aber warum geht's in PHP 4?
          LG, m-werk

          Kommentar


          • #6
            Irgendwie glaube ich nicht, dass PHP 4 hier ein Array zurückgegeben hätte. Bist du sicher, dass du im 4-er Code nicht file() verwendet hast?
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Ich habe diese Datei 1 zu 1 auf einen PHP Server gelegt. Ich habe nichts verändert.

              Kannst du mir bitte sagen, was ich machen muss?
              LG, m-werk

              Kommentar


              • #8
                Original geschrieben von m-werk
                Aber warum geht's in PHP 4?
                Warum interessiert dich das? Du willst es doch unter PHP 5 laufen lassen.
                Wenn du das hinbekommst, wird es ziemlich sicher auch unter PHP 4 laufen, denn die Funktionen, die du da verwendest sind sozusagen abwärtskompatibel.

                Du musst die for-Schleife rausnehmen. Benutzt du sowieso nicht. Ist scheinbar von früheren Versionen drin geblieben.
                Zuletzt geändert von onemorenerd; 22.04.2008, 14:21.

                Kommentar


                • #9
                  Ganz versteh ich das nicht.

                  In der CSV stehen in den spalten Werte drinn:

                  15 93,5 95 96,4
                  16 88,2 90,7 93,1
                  17 88,1 90,6 93
                  18 88 90,5 92,9
                  19 87,9 90,5 92,9
                  20 87,8 90,4 92,8


                  Die muss ich doch irgendwie herausbekommen. Ich gebe z.B. 15 ein und dann wird mir 93,5-959-96,4 angezeigt. Das gleiche, wenn ich 19 eingebe.
                  Ergebnis: 87,9-90,5-92,9 usw.

                  Wie kann ich den das sonst zerlegen?
                  LG, m-werk

                  Kommentar


                  • #10
                    Wie kann ich den das sonst zerlegen?
                    z.B so:
                    Code:
                    15 93,5 95 96,4
                    16 88,2 90,7 93,1
                    17 88,1 90,6 93
                    18 88 90,5 92,9
                    19 87,9 90,5 92,9
                    20 87,8 90,4 92,8
                    PHP-Code:
                    foreach(file('pfad/zu/CSV.csv') as $wert){
                      echo 
                    $wert//und anstatt auszugeben zerlegst du an dieser Stelle

                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      das mit foreach funktioniert bei einer Datei. Ich habe aber 2 csv-Dateien:

                      PHP-Code:
                      if ($check1=='mann')                         
                      $datei fopen ('mann.csv','r');              

                      if (
                      $check1=='frau')
                      $datei fopen ('frau.csv','r'); 
                      denn wenn ich
                      PHP-Code:
                      foreach(file($datei) as $wert) { 
                      eingebe, funktioniert das nicht.
                      LG, m-werk

                      Kommentar


                      • #12
                        Durchlesen und verstehen:

                        http://de.php.net/manual/de/function.file.php

                        Kommentar


                        • #13
                          PHP-Code:
                          $array file $datei );

                          foreach(
                          $array as $wert) {

                          for (
                          $i 0$i count $wert ); $i++ )
                          $zeile[$i] = explode(";"$wert[$i]);

                          while ( (
                          $data fgetcsv ($wert1000";")) !== FALSE )         
                              {
                                  if (
                          $check1=="mann")
                                  {
                                      if (
                          $alter==$data[0])
                                        
                          showTable($data[1],$data[2],$data[3]);          
                                  } 
                          So hab ich das jetzt drinn: Ich muss doch eine for schleife hineingeben, ich muss ja wissen, in welcher Zeile ich mich befinde:

                          Ich gebe im Formular 17 ein und dann muss doch von der csv in der Zeile 17 der Wert, was unter B, C usw. drinn steht, ausgegeben werden.

                          Ich weiss nur nicht, wo ich die { welche ich bei foreach öffne, jetzt schließe.

                          Ich hab schon einiges herumprobiert, leider kommt kein Ergebniss.

                          Was mir auch aufgefallen ist, dass folgender Code nicht stimmen kann:

                          PHP-Code:
                          while ( ($data fgetcsv ($wert1000";")) !== FALSE 
                          Nur was geb ich da an?
                          LG, m-werk

                          Kommentar


                          • #14
                            So, anbei mal mein Code. Leider kommt kein Ergebnis:

                            PHP-Code:

                            <?php 
                            $check1
                            =$_POST['check1'];
                            $alter=$_POST['alter'];

                            if (
                            $alter>="65")
                            $meldung="Das Alter darf maximal 65 Jahre betragen!";

                            if (
                            $alter<="15")
                            $meldung="Das Alter muss mindestens 15 Jahre betragen!";

                            if (
                            $alter=="")
                            $meldung=" ";

                            if (
                            $check1=='mann')                         
                            $datei fopen ('mann.csv','r');              

                            if (
                            $check1=='frau')
                            $datei fopen ('frau.csv','r');              

                            $array file $datei );

                            foreach(
                            $array as $wert) {

                            explode (";"$wert);

                                    if (
                            $check1=="mann")
                                    {
                                        if (
                            $alter==$wert[0])
                                          
                            showTable($wert[1],$wert[2],$wert[3]);          
                                    }
                                    
                                    if (
                            $check1=="frau")
                                    {
                                        if (
                            $alter==$wert[0])
                                        
                            showTable($wert[1],$wert[2],$wert[3]);
                                    }
                                } 
                            fclose ($handle); 

                            echo 
                            '<tr>
                                    <td class=meldung>'
                            .$meldung.'</td>
                                  </tr>'
                            ;

                            function 
                            showTable($zahl1$zahl2$zahl3)

                            echo 
                            '<tr>
                                    <td>Ihre statistische Lebenserwartung liegt bei <b>'
                            .$zahl1.'</b> Jahren.</td>
                                  </tr>
                                  </table>'
                            ;
                            }
                            ?>
                            LG, m-werk

                            Kommentar


                            • #15
                              Du hast es anscheinend nicht durchgelesen, sonst würdest du nicht den selben Fehler nochmal machen.

                              Kommentar

                              Lädt...
                              X