Fehlerfall

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

  • Fehlerfall

    Hallo Zusammen,
    bin mal weiter mit meinem Script!
    Danke erstmal für die konstruktive Hilfe!

    Jetzt bin ich dabei "Fehlerfälle" in mein Script einzubauen.
    Es funktioniert aber leider nur fallweise!
    Das soll heisen, ich möchte eine Variante wenn das FELD leer ist. In diesem Fall soll eine Errormeldung kommen, das das Feld zu befüllen ist.
    Andereseits soll eine Meldung kommen, wenn die Eingabe kein Ergebnis bringt!

    Soweit bin ich aktuell. Mir klar das was fehlt!!

    <?php
    $Erg = true;
    if ($Erg = true){

    $Verbindung = mysql_connect("localhost", "root", "");
    $Suchbegriff = "abfrage";
    $SQLString = "SELECT * FROM netzelemente WHERE NE LIKE '$abfrage'";
    mysql_select_db("php_buch", $Verbindung);
    $Ergebnis = mysql_query($SQLString, $Verbindung);
    {
    if ($Ergebnis) {
    $Zeilen = mysql_num_rows($Ergebnis);
    $Spalten = mysql_num_fields($Ergebnis);
    echo "<body bgcolor=\"#4D4D4D\">";
    echo "<center>";
    echo "<h3><font color=\"#00FF00\">Gefundene NE`s</h3></font>";
    for ($n= 0; $n <$Zeilen; $n++) {
    echo "<br>";
    for ($i = 0; $i <$Spalten; $i++) {
    echo mysql_result($Ergebnis, $n ,$i), "<br>";
    echo "<hr align=\"center\" width=\"150\" color=\"#00FF00\">";
    }
    }
    }
    }
    }
    else {
    echo "<body bgcolor=\"#4D4D4D\">";
    echo "<br><br>";
    echo "<font color=\"#00FF00\">Es liegen keine Daten zu dem $abfrage Netzelement vor!</font>";
    }
    ?>


    WER KANN MIR HELFEN?
    gruss pedro

  • #2
    - wie bitte? was geht (nicht)?
    - php-tags benutzen!
    - code einrücken!
    - vergleiche mit == statt = ansetzen

    zusätzlich:
    - deppenapostrophen vermeiden
    - auf font-tags verzichten
    - ' und " mischen spart \

    wenn das FELD leer ist
    welches feld?
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Danke erstmal für die Tips!


      Ich möchte gerne das wenn das formfeld leer ist eine meldung kommt die sagt, das das Feld auszufüllen ist!

      Ausserdem soll für den Fall das kein WERT in der SQL DB zufinden ist gesagt werden das es keine Einträge gibt.
      gruss pedro

      Kommentar


      • #4
        Ich möchte gerne das wenn das formfeld leer ist eine meldung kommt die sagt, das das Feld auszufüllen ist!
        dann prüfe das feld auf ausgefülltheit ... was sonst? also z.b. einfach schauen, ob etwas anderes als '' drin steht ...
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Werden die anderen Punkte auch noch behandelt, oder wie immer schön brav ignoriert?

          Kommentar


          • #6
            ignoriert! leider;o(

            Habe übers Wochenende wieder etwas gebastet.
            Habe jetzt alles in einen if else Syntax gepackt.

            Frage! Kann ich hier Posten?
            Also kann ich $_POST verwenden um die Formularfelder aus "ausgefüllt" zu prüfen??

            Oder was muss ich tun um sicher zu stellen, das php prüft ob die Fehler befüllt sind?

            Viell. kann mir einer ne Antwort geben!

            ..Ich werde jetzt erst noch etwas basteln und melde mich wieder.
            gruss pedro

            Kommentar


            • #7
              Also mit isset() kannst du sehr einfach prüfen ob Vars gesetzt sind. Bei input type=text musst du lediglich aufpassen, dass du auch auf Leer prüfst, weil diese afaik Felder immer gesetzt sind.
              Also könnte ein BeispielCode so aussehen
              PHP-Code:
              if(isset($_POST['name_des_submit_buttons'])){
                  
              //Form wurde abeschickt
                  
              if(isset($_POST['name_des_txt_feldes']) && !empty(trim($_POST['name_des_txt_feldes'))){
                      
              //Variable gesetzt kann zu Verarbeitung übernommen werden
                  
              }
              }else{
                  
              //Form wurde nicht abgeschickt mach wat anderes

              Das musst du natürlich an deine formularen Gegebenheiten anpassen, aber so in der Art würde ich eine Prüfung machen.

              Gruss

              tobi
              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


              • #8
                Also habs versucht, leider hat dein Tip bei meinem Script nicht so recht klappen wollen, aber ich bin anders weiter gekommen!
                Jetzt stehe ich hoffentlich vor dem Finalen Problem!

                Wenn ich in der If else Anweisung will das er A dann B und wenn nicht C machen soll,
                macht er nur A und C oder nur A un B aber nicht C!

                Sprich

                if das Feld leer ist sage Bitte befüllen.

                Wenn ausgefüllt aber es gibt kein Ergebnis sage es gibt keines.

                Else

                Ergebnis! Soweit klar??

                Hier der Grundsyntax natürlich sieht mein Script nicht so aus!

                if ($_POST[Wert]) {
                Anweisung
                }

                if ($_POST[Wert]) {
                Anweisung
                }
                else
                {
                Anweisung
                }


                Frage jetzt! Wie muss ich die If else Geschichte machen damit er alles nach Fall lausführt?
                Oder Muss ich in der Anweisung genauer beschreiben?
                Er unterscheidet einfach nicht --> Keinen Wert von einem vorhandenen Wert, das ist für das Script beides gleich!!!
                gruss pedro

                Kommentar


                • #9
                  Tipp: Versuch sauberer zu Programmieren, dann kann man den Code besser lesen und leichter Fehler finden.

                  Du hast zwar schon 100 Meter Text geschrieben, aber ich versteh immer noch nicht was den Problem ist?
                  - Variablenübergabe?
                  - if-else-Struktur?
                  - auf Variablen zugreifen und Inhalt auswerten?
                  - oder was anderes

                  Poste mal ein Stück Code und sagt dann was nicht geht, und wie es eigentlich gehen soll.

                  Dann können wir die auch besser helfen.

                  Kommentar


                  • #10
                    if (!$_POST[abfrage]) {echo "<center><font color=red>Bitte geben Sie ein Netzelement ein.</font></center>";unset($_POST[sent]);}
                    echo "<br><br>";
                    echo "<center><font color=\"#00FF00\"><a href=\"kopieubungsquery_3.php\">Zurück zur Eingabe!</a></font></center>";
                    unset($_POST[flag]);
                    }
                    if ($_POST[abfrage] AND !$_POST[abfrage]==1) {
                    echo "<center>";
                    echo "<body bgcolor=\"#4D4D4D\">";
                    echo "<br><br>";
                    echo "<font color=red>Es gibt keine Daten zu dem Netzelement " . $abfrage . '&nbsp;' , 'vor.</font>';
                    echo "<br><br>";
                    }
                    else/*if ($_POST[abfrage])*/ {
                    $Verbindung = mysql_connect("localhost", "root", "");
                    $Suchbegriff = "$abfrage";
                    $SQLString = "SELECT * FROM netzelemente WHERE NE = '$abfrage'";
                    mysql_select_db("php_buch", $Verbindung);


                    hallo sorry ich versuche mir mehr mühe zu geben!Danke fürt die Hilfe!Ich habe hier mal den wie ich finde wichtigen Teil kopiert.
                    Ich hoffe du kannst etwas damit anhangen!

                    Was ich will ist die ifelse Struktur hin bekommen und evtl. liegt auch an meinen Variablen... wenn ich das so ganz genau wüsste!
                    gruss pedro

                    Kommentar


                    • #11
                      update!!

                      deine frage->
                      auf Variablen zugreifen und Inhalt auswerten?
                      ja genau das möchte ich!
                      gruss pedro

                      Kommentar


                      • #12
                        Nur mal ein paar Kleinigkeiten die mir zu deinem Code auffallen:

                        - was macht center vor body? Alles was du siehst befindet sind innerhalb von <body>
                        - Wenn du $_POST Variablen verwendest, solltest du auch diese in deinem Code Nutzen ($_POST['abfrage'] / $abfrage)
                        - Ließ bitte die Fehlermeldungen die PHP dir gibt.
                        - Wenn du hier Code postest benutze bitte die -Tags

                        Ich habe mir hier mal die Mühe gemacht und die Syntax in deinem Code korrigiert. Funktionieren wird er davon allerdings nicht automatisch.

                        PHP-Code:
                        <body style="background-color: #4D4D4D;">
                        <?php
                            
                        if (!$_POST['abfrage']) {
                                echo 
                        '<div style="color: red;">Bitte geben Sie ein Netzelement ein.</div>';
                                echo 
                        '<div style="color: #00FF00; text-align: center;">
                                      <a href=\"kopieubungsquery_3.php\">Zurück zur Eingabe!</a></div>'
                        ;

                            }elseif (
                        $_POST[abfrage] AND !$_POST[abfrage]==1) {
                                echo 
                        '<div style="color: red; margin-top: 20px; margin-bottom: 20px; text-align: center;">
                                      Es gibt keine Daten zu dem Netzelement '
                        .$_POST['abfrage'].'vor.</div>';
                            }else{
                                
                        $Verbindung mysql_connect("localhost""root""");
                                
                        $SQLString "SELECT * FROM netzelemente WHERE NE = '".$_POST['abfrage']."'";
                                
                        mysql_select_db("php_buch"$Verbindung);
                            }
                        ?>

                        Kommentar


                        • #13
                          also habe es mal versucht.
                          danke für code Korekturen.

                          leider funktioniert die if else anweisung immer noch nicht zufrieden stellend.
                          Ich werde es so lassen und versuche es später wieder mal...

                          ..
                          gruss pedro

                          Kommentar

                          Lädt...
                          X