rony: Bei leerem Eintrag definierte Seite

Hallo Volk.
Also ich versuche ein Newsletter zu erstellen mit PHP & MySQL.
Nun wenn ich im Eingabefeld nichts schreibe und auf "Absenden" klicke kommt eine Fehlermeldung: "Column 'email' cannot be null".
Ich möchte aber anstatt diese Fehlermeldung eine eigene Seite dafür errichten. I
ch weiss auch dass dafür eine if-Anweisung in Frage kommt, doch wie der Code aussehen könnte weiss ich wirklich nicht.
Habe in Portalen gesucht aber nichts gefunden. Vielleicht kann jemand helfen? Ich wäre sehr froh darüber :-)

Vielen Dank im Voraus
MfG rony

  1. Hallo rony!

    Hallo Volk.

    *lol*

    Also ich versuche ein Newsletter zu erstellen mit PHP & MySQL.

    Aha. Wenn du mir nun noch erklärst, was ein Newsletter mit PHP & MySQL zu tun hat, verstehe ich es vielleicht auch.

    Nun wenn ich im Eingabefeld nichts schreibe und auf "Absenden" klicke kommt eine Fehlermeldung: "Column 'email' cannot be null".
    Ich möchte aber anstatt diese Fehlermeldung eine eigene Seite dafür errichten. Ich weiss auch dass dafür eine if-Anweisung in Frage kommt, doch wie der Code aussehen könnte weiss ich wirklich nicht.

    Wie eine if-anweisung auszusehen hat kannst du auf http://de3.php.net/manual/de/control-structures.php#control-structures.if nachlesen.

    Was Du suchst könnte so ähnlich wie folgendes aussehen:
    if(isset($_GET['email']) && !empty($_GET['email']))
      {
        // was "normal" gemacht werden soll
      }
    else
      {
        // was gemahct werden soll ,wen keien E-Mail angegeben ist bzw. obige Bedingung nicht erfüllt ist
      }

    Habe in Portalen gesucht aber nichts gefunden.

    Anscheinend solltest Du, bevor du PHP lernst, erstmal suchen lernen.
    (Lesetip: http://www.suchfibel.de/2kunst/index.htm)

    MfG
    Götz

    --
    Losung und Lehrtext für Dienstag, 16. September 2003
    Auf dich, Herr, sehen meine Augen; ich traue auf dich, gib mich nicht in den Tod dahin. (Psalm 141,8)
    Der Sünde Sold ist der Tod; die Gabe Gottes aber ist das ewige Leben in Christus Jesus, unserm Herrn. (Römer 6,23)
    (http://www.losungen.de/heute.php3)
    1. Danke, du bist echt ein netter Kerl.

    2. Hallo,
      kleine Anmerkung:

      ich würde sachen immer per $_POST übertragen, macht mehr sinn ;)

      oder so schreiben

      <?php
      $mail = $_POST["email"];

      if($mail=="")
      {
      //Zurückleiten
      }
      else
      {
      // Mail eintragen
      }
      ?>

      So finde ich das leichter zu merken und es erfüllt den gleichen wunsch

      MFG
      Andavos

      --
      http://www.rpgcommunity.de/clanwissen/index.php Webdesign, PHP, Clan-Aufbau und mehr
      1. Hallo Andavos!

        ich würde sachen immer per $_POST übertragen, macht mehr sinn ;)

        Ähm. WAs mehr sinn macht kommt immer auf die Anwendung an.
        Grundsätzlich übertrage ich Formulare aber auch generell mit post.

        So finde ich das leichter zu merken und es erfüllt den gleichen wunsch

        Naja, ich würde lieber prüfen, ob alles ok ist, und falls nicht irgendwas (Fehlerseite bspw.) ausgeben.
        Aber macht eigentlich wenig Unterscheid denk ich, weil die if-Bedingung ja entweder erfüllt ist, oder nicht.
        Aber trotzdem hab ich den "richtigen" Teil lieber im if-Teil, und das, was es [das Script] immer machen kann, egal was es bekommt im else-Teil.

        MfG
        Götz

        --
        Losung und Lehrtext für Dienstag, 16. September 2003
        Auf dich, Herr, sehen meine Augen; ich traue auf dich, gib mich nicht in den Tod dahin. (Psalm 141,8)
        Der Sünde Sold ist der Tod; die Gabe Gottes aber ist das ewige Leben in Christus Jesus, unserm Herrn. (Römer 6,23)
        (http://www.losungen.de/heute.php3)
      2. Ich habe noch eine kleine Frage.

        Wie kann ich eine Anweisung geben nach dem "or die".
        z.B. so:

        mysql_select_db($database_arena, $arena);
          $Result1 = mysql_query($insertSQL, $arena) or die("hier die Seite ");

        Thx.

        1. Hallo rony!

          Wie kann ich eine Anweisung geben nach dem "or die".

          Du kannst nach die() nur einen String ausgeben.
          Siehe auch http://de.php.net/die.

          MfG
          Götz

          --
          Losung und Lehrtext für Dienstag, 16. September 2003
          Auf dich, Herr, sehen meine Augen; ich traue auf dich, gib mich nicht in den Tod dahin. (Psalm 141,8)
          Der Sünde Sold ist der Tod; die Gabe Gottes aber ist das ewige Leben in Christus Jesus, unserm Herrn. (Römer 6,23)
          (http://www.losungen.de/heute.php3)
          1. Achsooo, eine Anweisung also gar nicht möglich.
            Herzlichen Dank.

            MfG rony

        2. Hallo,

          Wie kann ich eine Anweisung geben nach dem "or die".
          mysql_select_db($database_arena, $arena);
            $Result1 = mysql_query($insertSQL, $arena) or die("hier die Seite ");

          Nach die() ist das Skript "tot". Da kannst Du nichts mehr ausgeben.
          Das ist eben der Witz davon - Du sagst dem Skript:
          Stirb mit den Worten "bla". Das tut es auch.
          Von einem Toten kannst Du nichts erwarten.

          Du suchst vermutlich sowas:

          $Result1 = mysql_query($insertSQL, $arena);

          if (!$Result1)
               {
                 /* Fehlermeldungen soviel Du willst. Das Skript lebt weiter */
               }
             else
               {
                 /* Richtig Weiterfahren */
               }

          Gruesse,

          Thomas

  2. Hallo,
    ganz einfach:

    $mail = $_POST["email"];  // wenn global off ist: $HTTP_VARS_POST["email"]

    dann

    if($mail=="")
    {
    echo "bitte alle felder ausfüllen [weliterleitung]";
    }
    else
    {
    EMAIL SPEICHERN
    }

    das wars schon

    MFG
    Andavos

    --
    http://www.rpgcommunity.de/clanwissen/index.php Webdesign, PHP, Clan-Aufbau und mehr
    1. Herzlichen Dank, das funzt wirklich, Ich bin sehr froh dass Du das so umschrieben hast, hatte wirklich kein Plan wie das aussehen könnte.
      Nochmals vielen herzlichen Dank.

      MfG rony

      1. Hallo,
        bitte schön ;)

        man könnte auch schreiben

        <?php
        $mail = $_POST["mail"];  // Du weißt schon wenn global off ist ;)

        if($mail!="")
        {
        // Mail speichern
        }
        else
        {
        // Fehlermeldung
        }
        ?>

        das != bedeutet ungleich, also wenn $mail ungleich "" (leer) ist dann wird die mail gespeichert.
        Meistens benutze ich ==, aber manchmal ist auch != besser

        MFG
        Andavos

        --
        http://www.rpgcommunity.de/clanwissen/index.php Webdesign, PHP, Clan-Aufbau und mehr