Ankündigung

Einklappen
Keine Ankündigung bisher.

nach if funktion wird nichts mehr angezeigt

Einklappen

Neue Werbung 2019

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

  • nach if funktion wird nichts mehr angezeigt

    Hey,

    ich habe ein kleines Script gebastelt.
    ich suche schon seit Tagen den Fehler aber finde keinen Fehler...
    hier ist auf jeden fall mal das script. das echo drunter wird nicht ausgegeben nichteinmal das </html> aber alle anführungszeichen sind gesetzt und das ?> dürfte das doch eigendlich alle Fehler beenden...
    Bin völlig ratlos weil das vor der if anweisung ja funktioniert.
    wobei das if funktioniert glaube ich. der datensatz ist auch in der datenbank da.
    PHP-Code:
    if($adresse!="$adresseaus")
    {
    #eintag
    $eintragen mysqli_query($daba"INSERT INTO tabellenname (adresse, wert2) VALUES ('$adresse', '0')") or die(mysql_error());

    echo 
    "
    <br><br><br><center><h1>Du wurden erfolgreich eingetragen.<br>
    Bitte lade die Seite neu.
    </h1></center>
    "
    ;
    }
    else
    {
    print 
    "Hier werbung rein.";
    };

    echo 
    "hier?";
    ?> 
    gruß janto

  • #2
    Hi,

    was soll das Semikolon nach der letzten geschweiften Klammer?

    Zrur Fehlersuche auch gerne am Anfang eines Scriptes gerne folgende Zeilen einfügen:

    <?php
    ERROR_REPORTING(E_ALL);
    ini_set('display_errors',1);
    ...

    Das hier ist ganz schlechter Stil:

    <br><br><br><center><h1>
    Bitte mit CSS und div's arbeiten.

    Kommentar


    • #3
      PHP-Code:
      if( $adresse != $adresseaus // DoubleQuotes (") sind hier überflüssig und sinnfrei!
      {
      #eintag
      // hier konkatinieren oder besser DataBinding
      $eintragen mysqli_query($daba"INSERT INTO tabellenname (adresse, wert2) VALUES ('" $adresse "', '0')") or die(mysql_error());

      echo 
      "
      <br><br><br><center><h1>Du wurden erfolgreich eingetragen.<br>
      Bitte lade die Seite neu.
      </h1></center>
      "
      ;
      }
      else
      {
      print 
      "Hier werbung rein.";
      // hier war das ; überflüssig!

      echo "hier?"

      Kommentar


      • #4

        PHP-Code:
        if($adresse != $adresseaus // Was ist $adresseaus und was ist $adresse?
        {
        #eintag
        $eintragen mysqli_query($daba"INSERT INTO tabellenname (adresse, wert2) VALUES ('$adresse', '0')") or die(mysql_error()); //mysql_-Funktionen sind veraltet und sollten nicht mehr benutzt werden. Sollte $adresse nicht gefiltert sein, besteht hier SQL-injection Gefahr

        echo "
        <br><br><br><center><h1>Du wurden erfolgreich eingetragen.<br> // Grammatikfehler
        Bitte lade die Seite neu.
        </h1></center>
        "
        ;
        }
        else
        {
        print 
        "Hier werbung rein."// wieso einmal print und einmal echo?
        };

        echo 
        "hier?";
        ?> 

        Allgemein:
        Error-reporting an
        Debbugen
        Vollständigen Code zeigen

        Kommentar


        • #5
          - "$adresseaus" Variablen qouten ist unsinnig und schlechter Stil http://php-de.github.io/jumpto/code-...n-doppelquotes

          - Die mysql_ Erweiterung ist veraltet, und wird bald nicht mehr funktionieren. Du solltest auf PDO ( http://php-de.github.io/jumpto/pdo/
          ) oder mysqli umsteigen

          - Ev. bist du anfällig für SQL -Injections, wenn du Daten von aussen einfach so in der Querys verwendest. Prüf das mal.

          - Du solltest deinen Code sauber einrücken, das ist um einiges leserlicher als deine Wurst.

          - Achja.. und wenn etwas nicht funktioniert wie gedacht - debugge: http://php-de.github.io/jumpto/leitfaden/

          LG

          Kommentar


          • #6
            Öhm...
            Zitat von hausl
            Die mysql_ Erweiterung ist veraltet, und wird bald nicht mehr funktionieren.
            Zitat von janto
            PHP-Code:
            $eintragen mysqli_query

            Kommentar


            • #7
              Keine Ahnung was du hast.
              Funktioniert doch alles ?!
              Zwar nicht schön und nicht ganz korrekt aber generell klappt es.

              Bitte kein PHP und HTML mischen!!

              Code einrücken etc...

              Du kannst auch die alternative Schreibweise für ifs, foreach etc benutzen. Finde ich übersichtlicher als diese Klammer {}

              PHP-Code:
              <?php

              $adresse 
              "testadresse";
              $adresseaus "testadresse";

              if(
              $adresse != $adresseaus):
                  
              #eintag
                  
              $eintragen mysqli_query($daba"INSERT INTO tabellenname (adresse, wert2) VALUES ('$adresse', '0')") or die(mysql_error());

                  echo 
              "<br><br><br><center><h1>Du wurden erfolgreich eingetragen.<br>Bitte lade die Seite neu.</h1></center>";
              else:
                  print 
              "Hier werbung rein."."<br>";
              endif;

              echo 
              "hier?";
              ?>


              Kommentar


              • #8
                Zitat von Arne Drews Beitrag anzeigen
                Öhm...
                Ich hatte nur Augen für das:

                PHP-Code:
                 ... or die(mysql_error()); 
                janto : Das ist auch noch falsch, bleib konsequent bei mysqli_

                LG

                Kommentar


                • #9
                  @Fab4guy:
                  Zwar nicht schön und nicht ganz korrekt aber generell klappt es.
                  M.E. suggerierst Du damit einen falschen Ansatz.
                  Der Threadersteller sollte möglichst von Anfang an einen guten und korrekten Stil lernen + du hast in deinem Beispielcode zwar die If-/Foreach-Strukturen übersichtlicher geschrieben (wobei geschmackssache), aber die "Fehler" mitgenommen!

                  Kommentar


                  • #10
                    Zitat von wolf29 Beitrag anzeigen
                    @Fab4guy:

                    M.E. suggerierst Du damit einen falschen Ansatz.
                    Der Threadersteller sollte möglichst von Anfang an einen guten und korrekten Stil lernen + du hast in deinem Beispielcode zwar die If-/Foreach-Strukturen übersichtlicher geschrieben (wobei geschmackssache), aber die "Fehler" mitgenommen!

                    Sage ja auch nicht das er es so machen soll. Wollte ihm nur damit sagen das es noch andere Möglichkeiten gibt. Natürlich ist es Geschmackssache aber gerade bei viel Code finde ich es übersichtlicher.

                    Ich wollte ja auch nicht seine Fehler korrigieren. Das kann er selber! Er hat ja nur behauptet, dass das letzte echo nicht ausgegeben wird.

                    Das wollte ich ihm damit nur zeigen..

                    Kommentar


                    • #11
                      Zitat von Fab4guy
                      Wollte ihm nur damit sagen das es noch andere Möglichkeiten gibt. Natürlich ist es Geschmackssache aber gerade bei viel Code finde ich es übersichtlicher.
                      Richtig ist Geschmackssache und darf natürlich immer mit angeboten werden.
                      Allerdings gebe ich wolf29 recht, dann hätte ein triviales Beispiel gereicht und nicht der fehlerhafte Code mit einer anderen Variante des IF

                      Kommentar


                      • #12
                        Beim nächsten Mal dann ..

                        Kommentar


                        • #13
                          Das alles hatte ich schon gemacht. Also Fehleranalyse.
                          Fehler war der hier:

                          VALUES ('".$adresse."', '0')") or die(mysql_error());

                          die variable die ich anzeigen wollte war nicht mit diesen ". $variabeln ." versehen.
                          da liefert die fehleranalyse auch keine fehleranzeige.
                          gut danke.

                          Kommentar


                          • #14
                            Zitat von hausl Beitrag anzeigen
                            janto : ... bleib konsequent bei mysqli_

                            Kommentar

                            Lädt...
                            X