Submit nur bei vorhandenen Daten

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

  • Submit nur bei vorhandenen Daten

    Hallo,

    ich lasse mir durch folgendem Formular die User nach dem
    Anfangsbuchstaben ausgeben, der Anfangsbuchstabe wird
    durch ein anderes Formular übergeben:

    PHP-Code:
    <form method='post' action='daten.php'>
      <table id='anmeldetabelle1'>
      <thead>
        <tr>
          <th colspan="2"><h3>Auswahl eines Mitgliedes</h3></th>
        </tr>
      </thead>
      <?php
        
    include ('config.php');
        
    $abfrage "SELECT nickname FROM mitglieder 
                    WHERE LOWER(LEFT(nickname, 1)) = '" 
    $_POST['buchstabe'] . "'
                    ORDER BY nickname"
    ;
        
    $ergebnis mysql_query($abfrage);
        while (
    $row mysql_fetch_array($ergebnis)) 
        {
        echo 
    "<tbody><tr><td class='links'>"
        echo 
    "".$row['nickname']."";
        echo 
    "</td><td class='rechts'>";
        echo 
    "<input type='radio' name='auswahl' value='".$row['nickname']."'>";
        echo 
    "</td></tr>";
        }
      
    ?>
      <tr>
        <td class="mitte" colspan="2">
          <input type="submit" name="submit" value="Auswählen" class="sender">
        </td>
      </tr>
      </tbody>
      </table>
      </form>
    Nun kann man aber auch den Submitbutton betätigen,
    wenn es keine User mit einem Anfangsbuchstaben gibt
    und man gelangt dann trotzdem zu der Seite daten.php
    die nur leer angezeigt wird.

    Gibt es eine Möglichkeit den Submit zu unterbinden,
    so das man nicht zur Seite daten.php weitergeleitet wird,
    wenn es keine Daten gibt?


    Grüße von Sven

  • #2
    ja, du könntest mysql_num_rows() auswerten und den button nur ausgeben, wenn der wert größer null ist.

    Kommentar


    • #3
      Wie willst du eine KLIENTSEITIGE Aktion SERVERSEITIG unterbinden?

      Grundlagen. Das geht nur mit JS. da kannst den button auf disabled setzen. such danach.

      Kommentar


      • #4
        Hallo,

        dankeschön für Deine Antwort.

        Das ist mein Ergebnis:

        PHP-Code:
        <form method='post' action='daten.php'>
        <table id='anmeldetabelle1'>
          <thead>
            <tr>
              <th colspan="2"><h3>Auswahl eines Mitgliedes</h3></th>
            </tr>
          </thead>
          <tbody>
          <?php
            
        include ('config.php');
            
        $abfrage "SELECT nickname FROM mitglieder
                        WHERE LOWER(LEFT(nickname, 1)) = '" 
        $_POST['buchstabe'] . "'
                        ORDER BY nickname"
        ;
            
        $ergebnis mysql_query($abfrage);
            
        $usercheck mysql_num_rows($ergebnis);
            while (
        $row mysql_fetch_array($ergebnis)) 
            {
            echo 
        "<tr><td class='links'>"
            echo 
        "".$row['nickname']."";
            echo 
        "</td><td class='rechts'>";
            echo 
        "<input type='radio' name='auswahl' value='".$row['nickname']."'>";
            echo 
        "</td></tr>";
            }   
            if (
        $usercheck <1)
            {
            echo 
        "<tr><td class='mitte' colspan='2'>";
            echo 
        "<b>Es gibt kein Mitglied mit diesem Anfangsbuchstaben !!!</b></td></tr>";
            }
            else
            {
            echo 
        "<tr><td class='mitte' colspan='2'>";
            echo 
        "<input type='submit' name='submit' value='Auswählen' class='sender'></td></tr>";
            }
          
        ?>
          </tbody>
          </table>
          </form>
        Jetzt habe ich aber noch eine Frage dazu.

        Wie kann ich erzwingen das, wenn kein Buchstabe ausgewählt wurde,
        immer die User mit A angezeigt werden?


        Grüße von Sven

        Kommentar


        • #5
          $buchstabe = !empty($_POST['buchstabe']) ? $_POST['buchstabe'] : 'A';

          Kommentar


          • #6
            Hallo,

            ich bräuchte mal einen Tipp,
            wo das eingebunden werden müsste.


            Grüße und einen schönen Sonntag
            von Sven

            Kommentar


            • #7
              Original geschrieben von Sven4972
              ich bräuchte mal einen Tipp, wo das eingebunden werden müsste.
              Vielleicht irgendwo bevor du aus der Datenbank liest, weil es danach reichlich witzlos wäre?

              Und in der Query benutzt du dann natürlich $buchstabe.
              Und über SQL Injection informierst du dich bitte auch gleich.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar

              Lädt...
              X