Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Formular: if(empty($_POST...

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Formular: if(empty($_POST...

    Hallo,

    ich habe ein Problem mit der Darstellung eines Formulars.

    Es soll geprüft werden, ob der Radio-Button angeklickt ist, oder nicht.
    Wenn nicht, soll "Art des Spams" in rote Schrift gewandelt werden.

    Funktioniert im Firefox auch ganz toll.
    Leider im IE und Opera nicht.

    Habe leider keine Erklärung dafür.

    Hier das Skript:
    PHP-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html lang="de" xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
    <head>
    <title>TEST</title>
    <script type="text/javascript">jslang='DE';</script>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
    <style type="text/css"><!-- td { vertical-align: top; } --> </style>
    </head>

    <body>
            <div id="wrap">
            <div id="header">
            <br class="clear" />
            </div>
            <!-- Content -->
            <div id="content">
              <table width="900" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td>
          </td>
          </tr>
        <tr>
          <td><br /><br />
          <?php
          $errors 
    = array();
             if(isset(
    $_POST["Abschicken"]) && $_POST["Abschicken"] == "absenden") {
             if(empty(
    $_POST["spam"])) $errors["spam"] = "<span style=\"color:#FF0000;\">Art des Spams:</span>";
             }
             if(isset(
    $_POST["Abschicken"]) && $_POST["Abschicken"] == "absenden" && count($errors) == 0) {
             echo 
    "Vielen Dank f&uuml;r deinen Eintrag!<br /><br />Wir werden uns dann umgehend und schnellstm&ouml;glich der Sache annehmen.";
             }
             else {
           
    ?>
             <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="spamreport">
          <table border="0" width="100%" cellpadding="0">
            <tr>
            <td width="45%"><?php echo isset($errors["spam"])?$errors["spam"]:"Art des Spams:<span style=\"color:#508dff;\"> *</span>"?></td>
            <td width="65%">
                <table width="60%"  border="0" cellspacing="0" cellpadding="0">
                    <tr>
                  <td><input type="radio" name="spam" value="ChanMsg" onclick="link('./spamreport_chanmsg.php');" />Channel Message</td>
                  <td><input type="radio" name="spam" value="ChanNotice" onclick="link('./spamreport_channotice.php');" />Channel Notice</td>
                    </tr>
                    <tr>
                  <td><input type="radio" name="spam" value="PrivMsg" onclick="link('./spamreport_privmsg.php');" />Private Message</td>
                  <td><input type="radio" name="spam" value="PrivNotice" onclick="link('./spamreport_privnotice.php');" />Private Notice</td>
                    </tr>
                </table>
            </td>
            </tr>
                <tr>
                    <td width="45%">Datum und Uhrzeit (Spam):</td>
                    <td width="65%"><select disabled="disabled" name="day" style="background-color: #999999;"><option selected="selected"><? echo date("d"); ?></option><option>01</option><option>02</option><option>03</option><option>04</option><option>05</option><option>06</option><option>07</option><option>08</option><option>09</option><option>10</option><option>11</option><option>12</option><option>13</option><option>14</option><option>15</option><option>16</option><option>17</option><option>18</option><option>19</option><option>20</option><option>21</option><option>22</option><option>23</option><option>24</option><option>25</option><option>26</option><option>27</option><option>28</option><option>29</option><option>30</option><option>31</option></select>.<select disabled="disabled" name="month" style="background-color: #999999;"><option selected="selected"><? echo date("m"); ?></option><option>01</option><option>02</option><option>03</option><option>04</option><option>05</option><option>06</option><option>07</option><option>08</option><option>09</option><option>10</option><option>11</option><option>12</option></select>.<select disabled="disabled" name="year" style="background-color: #999999;"><option selected="selected"><? echo date("Y"); ?></option></select>&nbsp;&nbsp;&nbsp;<select disabled="disabled" name="hour" style="background-color: #999999;"><option selected="selected"><? echo date("H"); ?></option><option>00</option><option>01</option><option>02</option><option>03</option><option>04</option><option>05</option><option>06</option><option>07</option><option>08</option><option>09</option><option>10</option><option>11</option><option>12</option><option>13</option><option>14</option><option>15</option><option>16</option><option>17</option><option>18</option><option>19</option><option>20</option><option>21</option><option>22</option><option>23</option></select>:<select disabled="disabled" name="minute" style="background-color: #999999;"><option selected="selected"><? echo date("i"); ?></option><option>00</option><option>01</option><option>02</option><option>03</option><option>04</option><option>05</option><option>06</option><option>07</option><option>08</option><option>09</option><option>10</option><option>11</option><option>12</option><option>13</option><option>14</option><option>15</option><option>16</option><option>17</option><option>18</option><option>19</option><option>20</option><option>21</option><option>22</option><option>23</option><option>24</option><option>25</option><option>26</option><option>27</option><option>28</option><option>29</option><option>30</option><option>31</option><option>32</option><option>33</option><option>34</option><option>35</option><option>36</option><option>37</option><option>38</option><option>39</option><option>40</option><option>41</option><option>42</option><option>43</option><option>44</option><option>45</option><option>46</option><option>47</option><option>48</option><option>49</option><option>50</option><option>51</option><option>52</option><option>53</option><option>54</option><option>55</option><option>56</option><option>57</option><option>58</option><option>59</option></select> Uhr</td>
                </tr>
                <tr>
                    <td width="45%">Channel:</td>
                    <td width="65%">
                    <input disabled="disabled" type="text" name="spchannel" size="43" value="#" style="background-color: #999999; width: 281px;" />
                    </td>
                </tr>
                <tr>
                    <td width="45%">H&auml;ufigkeit:</td>
                    <td width="65%">
                    <select disabled="disabled" name="frequency" style="background-color: #999999; width: 285px;">
                    <option>Bitte ausw&auml;hlen</option><option>1x</option><option>2x</option><option>3x</option><option>mehr als 3x</option><option>täglich</option><option>alle paar Tage</option><option>Flood (einmalig)</option><option>Flood (schon mehrmals)</option></select>
                    </td>
                </tr>
            <tr>
            <td width="45%">Spammer (Nick!Ident@Host):</td>
            <td width="65%">
            <input disabled="disabled" type="text" name="nick" size="8"  style="background-color: #999999; width: 75px;" />&nbsp;!&nbsp;<input disabled="disabled" type="text" name="ident" size="8"  style="background-color: #999999; width: 75px;" />&nbsp;@&nbsp;<input disabled="disabled" type="text" name="host" size="14"  style="background-color: #999999; width: 96px;" />
            </td>
                </tr>
                <tr>
                    <td width="45%" valign="top">Spam-Nachricht:</td>
                    <td width="65%">
                    <input disabled="disabled" type="text" name="message" size="43" maxlength="150" style="background-color: #999999; width: 281px;" />
                    </td>
                </tr>
                <tr>
            <td width="45%">Kommentar:</td>
            <td width="65%">
            <input disabled="disabled" name="comment" size="43"  style="background-color: #999999; width: 281px;" />
            </td>
                </tr>
                <tr>
                    <td width="45%">Reporter (Nick):</td>
                    <td width="65%">
                    <input disabled="disabled" type="text" name="reporter" size="43"  style="background-color: #999999; width: 281px;" />
                    </td>
                    </tr>
                <tr>
                <td style="vertical-align:middle" width="45%">&nbsp;</td>
                    <td width="65%">
                    <input disabled="disabled" name="empty" style="background-color: #999999; width: 281px;" />
                    </td>
                </tr>
                <tr>
                    <td width="45%">&nbsp;</td>
                    <td width="65%">&nbsp;
                    </td>
                </tr>
                <tr>
                <td width="45%" valign="top"><span style="color:#508dff;">* </span>Pflichtfeld</td>
                <td width="65%">
                  <input type="image" name="Abschicken" value="absenden" style="float:left" alt="Abschicken" src="./images/absenden.png" />
                  <button name="kill" type="reset" style="float:left; border:none; margin:0; padding:0; background-color:transparent;"><img src="./images/loeschen.png" alt="Loeschen" /></button>
                    </td>
                </tr>
               </table>
              </form>
              
              <?php
    }
    ?>
              <script type="text/javascript">
              <!--
              function link(location) { window.location.href = location; }
              //-->
              </script>
              </td>
              </tr>
              </table>
            <div class="clear"></div>
            <br class="clear" />
            <!-- End Content -->
            </div>
            <br class="clear" />
            <!-- End wrap -->
            </div>
        </body>
    </html>
    LG davidaus


  • #2
    Hi

    das liegt daran das diese Browser nicht die value deines Image Buttons mitsenden.
    Code:
    <input type="image" name="Abschicken" value="absenden" style="float:left" alt="Abschicken" src="./images/absenden.png" />
    Verwende stattdessen besser:
    Code:
    <input type="hidden" name="Abschicken" value="absenden" />
    lg

    Kommentar


    • #3
      Das versteckte Feld ist überflüssig. Ein einfaches
      Code:
      if (isset($_POST['Abschicken'])) {
        // ...
      }
      reicht da aus.
      http://hallophp.de

      Kommentar


      • #4
        Das versteckte Feld ist überflüssig. Ein einfaches
        Eben nicht beim Image-Feld. Da heißt es dann Abschicken_x.
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          Oje, dachte, es ginge um einen "normalen" Button Vielleicht sollte man genauer lesen...
          http://hallophp.de

          Kommentar


          • #6
            Wenn ich <input type="hidden" name="Abschicken" value="absenden" /> nehme, wird doch der Button unsichtbar.

            oder ist if (isset($_POST['Abschicken_x'])) {
            ...

            gemeint?

            Kommentar


            • #7
              Nicht statt dem Button sondern mit dem Button das hidden Feld verwenden.
              'Abschicken_x' kannst du natürlich auch verwenden das ist dann die x Koordinate des Klicks. (Anschicken_y dann die y Koordinate... logischerweise)

              Kommentar


              • #8
                Wie wärs einfach mit

                if( $_SERVER['REQUEST_METHOD'] === 'POST' ) { ... } ?

                Kommentar


                • #9
                  Kommt immer drauf an. Ich finde ja, dass POST alleine immer nicht viel aussagt.
                  --

                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                  --

                  Kommentar


                  • #10
                    Vielen Dank!

                    Mit:
                    Code:
                    <input type="hidden" name="Abschicken" value="absenden" src="./images/absenden.png" />
                                  <input type="image" style="float:left" alt="Abschicken" src="./images/absenden.png" />
                                  <button name="kill" type="reset" style="float:left; border:none; margin:0; padding:0; background-color:transparent;"><img src="./images/loeschen.png" alt="Loeschen" /></button>
                    läuft es prima.

                    Kommentar

                    Lädt...
                    X