1. Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!
    Information ausblenden

Radio button gibt immer das gleiche aus

Dieses Thema im Forum "PHP" wurde erstellt von Timer, 2 Dezember 2017.

  1. Timer

    Timer Mitglied

    Registriert seit:
    2 August 2017
    Beiträge:
    38
    Punkte für Erfolge:
    6
    Hey,
    ich habe gerade ein kleines Bezahlsystem entwickelt, bei dem man zuerst die Bezahlmethode aus und gibt dann seine Daten an. Danach werden die angegebenen Daten in eine Datei gespeichert. Sollte Paysafecard oder Steamcard ausgewählt sein, wird ein zusätzliches Feld freigeschaltet, das dann auch in die TXT Datei gespeichert wird. Es funktioniert alles mit dem anzeigen des extra Input Felds. Leider wird jedoch nicht der PaySafeCard/Steam Card Code gespeichert. Warum?
    Code (text):
    1. <form id="spenden-popup" method="get">
    2.                 <h1 id="spenden-title">Spenden</h1>
    3.                 <fieldset id="spenden-radio">
    4.                     <label>
    5.                         <input type="radio" id="uberweisen" name="spenden" value="v-uberweisen" onclick="spenden_func('div-uberweisen', 'uberweisen')" class="option-buttons">
    6.                         <img src="bilder/ec.jpg" alt="Fehler 404" class="spenden-img"><br>
    7.                     </label>
    8.                     <label>
    9.                         <input type="radio" id="kreditkarte" name="spenden" value="v-kreditkarte" onclick="spenden_func('div-kreditkarte', 'kreditkarte')" class="option-buttons">
    10.                         <img src="bilder/kredit.jpg" alt="Fehler 404" class="spenden-img"><br>
    11.                     </label>
    12.                     <label>
    13.                         <input type="radio" id="paypal" name="spenden" value="v-paypal" onclick="spenden_func('div-paypal', 'paypal')" class="option-buttons">
    14.                         <img src="bilder/paypal.jpg" alt="Fehler 404" class="spenden-img"><br>
    15.                     </label>
    16.                     <label>
    17.                         <input type="radio" id="paysafecard" name="spenden" value="v-paysafecard" onclick="spenden_func('div-paysafecard', 'paysafecard')" class="option-buttons">
    18.                         <img src="bilder/paysafecard.jpg" alt="Fehler 404" class="spenden-img"><br>
    19.                     </label>
    20.                     <label>
    21.                         <input type="radio" id="steamcard" name="spenden" value="v-steamcard" onclick="spenden_func('div-steamcard', 'steamcard')" class="option-buttons">
    22.                         <img src="bilder/steam.jpg" alt="Fehler 404" class="spenden-img"><br>
    23.                     </label>
    24.                     <div id="close-div" onClick="close_spenden_popup()">
    25.                         &#10006;
    26.                     </div>
    27.                 </fieldset>
    28.                 <div id="spenden-right-side" action="">
    29.                     <div id="betrag">
    30.                         <input type="text" placeholder="Vor- und Nachname" name="name-input" id="name-input" class="spenden-inputs">
    31.                         <input type="email" placeholder="E-Mail Adresse" name="email-input" id="email-input" class="spenden-inputs">
    32.                         <input type="text" placeholder="Steam Name" name="steam-name" id="steam-name" class="spenden-inputs">
    33.                         <input type="number" placeholder="Betrag eingeben" name="betrag-input" id="betrag-input" class="spenden-inputs" style="margin-bottom: 10px">€
    34.                         <input type="number" placeholder="PaySafeCard Code" name="paysafecard-input" id="paysafecard-input" class="spenden-inputs" maxlength="16">
    35.                         <input type="number" placeholder="Steam Card Code" name="steam-input" id="steam-input" class="spenden-inputs">
    36.                     </div>
    37.                     <div id="spenden-choose">
    38.                         <div id="div-uberweisen" class="spenden-div">
    39.                             <button type="submit" class="spenden-betrag-button">Spenden</button><br>
    40.                             Beim Klicken auf den Spenden Button wirst du auf die PayPal Seite weitergeleitet. Um dort mit einer EC Karte zu bezahlen, braucht man nicht zwingend einen PayPal Account.<br><br>
    41.                             <importa style="font-weight: bold; text-decoration: underline">Wichtig: </importa><br>Bitte ändern Sie den oben angegebenen Betrag nicht mehr nachträglich auf der PayPal Seite, da wir den hier angegebenen Betrag zur Einschätzung unserer Spendeneinnahmen benutzen. Danke
    42.                         </div>
    43.                         <div id="div-kreditkarte" class="spenden-div">
    44.                             <button type="submit" class="spenden-betrag-button">Spenden</button><br>
    45.                             Beim Klicken auf den Spenden Button wirst du auf die PayPal Seite weitergeleitet. Um dort mit einer Kreditkarte zu bezahlen, braucht man nicht zwingend einen PayPal Account.<br><br>
    46.                             <importa style="font-weight: bold; text-decoration: underline">Wichtig: </importa><br>Bitte ändern Sie den oben angegebenen Betrag nicht mehr nachträglich auf der PayPal Seite, da wir den hier angegebenen Betrag zur Einschätzung unserer Spendeneinnahmen benutzen. Danke
    47.                         </div>
    48.                         <div id="div-paypal" class="spenden-div">
    49.                             <button type="submit" class="spenden-betrag-button">Spenden</button>
    50.                             <br><br>
    51.                             <importa style="font-weight: bold; text-decoration: underline">Wichtig: </importa><br>Bitte ändern Sie den oben angegebenen Betrag nicht mehr nachträglich auf der PayPal Seite, da wir den hier angegebenen Betrag zur Einschätzung unserer Spendeneinnahmen benutzen. Danke
    52.                         </div>
    53.                         <div id="div-paysafecard" class="spenden-div">
    54.                             <button type="submit" class="spenden-betrag-button">Spenden</button>
    55.                             <br><br>
    56.                             <importa style="font-weight: bold; text-decoration: underline">Wichtig: </importa><br>Unabhängig des oben eingegebenen Betrags wird das gesamte Guthaben der angegebenen PaySafeCard abgehoben. Der oben angegebene Betrag dient nur zur Einschätzung unserer Spendeneinnahmen und sollte im Idealfall nicht zu stark von dem Betrag des Guthabens der PaySafeCard abweichen.
    57.                         </div>
    58.                         <div id="div-steamcard" class="spenden-div">
    59.                             <button type="submit" class="spenden-betrag-button">Spenden</button>
    60.                             <br><br>
    61.                             <importa style="font-weight: bold; text-decoration: underline">Wichtig: </importa><br>Unabhängig des oben eingegebenen Betrags wird das gesamte Guthaben der angegebenen Steam Card abgehoben. Der oben angegebene Betrag dient nur zur Einschätzung unserer Spendeneinnahmen und sollte im Idealfall nicht zu stark von dem Betrag des Guthabens der Steam Card abweichen.
    62.                         </div>
    63.                     </div>
    64.                 </div>
    65.             </form>
    66.             <?php
    67.                 if($_GET['name-input'] != "")
    68.                 {
    69.                     if($_GET['email-input'] != "")
    70.                     {
    71.                         if($_GET['steam-name'] != "")
    72.                         {
    73.                             if($_GET['betrag-input'] != "")
    74.                             {
    75.                                 $zahlmethode = $_POST['spenden'];
    76.                                 if ($zahlmethode == "v-paysafecard")
    77.                                 {
    78.                                     if($_GET['paysafecard-input'] != "")
    79.                                     {
    80.                                         $handle = fopen("spenden.txt", "a");
    81.                                         fwrite ($handle, $_GET['name-input']." | ".$_GET['email-input']." | ".$_GET['steam-name']." | ".$_GET['betrag-input']." | ".$_GET['paysafecard-input']." | PaySafeCard \n");
    82.                                         echo "Ihre E-Mail-Adresse wurde gespeichert";
    83.                                     }
    84.                                 }
    85.                                 else if ($zahlmethode == "v-steamcard")
    86.                                 {
    87.                                     if($_GET['steam-input'] != "")
    88.                                     {
    89.                                         $handle = fopen("spenden.txt", "a");
    90.                                         fwrite ($handle, $_GET['name-input']." | ".$_GET['email-input']." | ".$_GET['steam-name']." | ".$_GET['betrag-input']." | ".$_GET['steam-input']." | SteamCard \n");
    91.                                         echo "Ihre E-Mail-Adresse wurde gespeichert";
    92.                                     }
    93.                                 }
    94.                                 else
    95.                                 {
    96.                                     $handle = fopen("spenden.txt", "a");
    97.                                     fwrite ($handle, $_GET['name-input']." | ".$_GET['email-input']." | ".$_GET['steam-name']." | ".$_GET['betrag-input']." | PayPal \n");
    98.                                     echo "Ihre E-Mail-Adresse wurde gespeichert";
    99.                                 }
    100.                             }
    101.                         }
    102.                     }
    103.                 }
    104.             ?>
    105.         </div>
    Warum wird der PaySafeCard/Steam Card Code nicht gespeichert?
     
    Werbung:

    Jetzt registrieren, damit diese Werbung verschwindet
  2. m.scatello

    m.scatello Aktives Mitglied

    Registriert seit:
    15 Februar 2017
    Beiträge:
    378
    Punkte für Erfolge:
    28
    In einem anderen Forum wird zu solchen Dingen gerne dies geantwortet:

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
    3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
     
  3. Timer

    Timer Mitglied

    Registriert seit:
    2 August 2017
    Beiträge:
    38
    Punkte für Erfolge:
    6
    Danke. Dann kommt folgender Fehler:
    Code (text):
    1. Notice: Undefined index: spenden in /users/timer/www/spenden.php on line 115
    Den blick ich aber nicht, da das eigentlich mehrere Male bei input als 'name="spenden"' vorkommt
     
  4. m.scatello

    m.scatello Aktives Mitglied

    Registriert seit:
    15 Februar 2017
    Beiträge:
    378
    Punkte für Erfolge:
    28
    Augen auf!!!!

    if($_GET['name-input'] != "")
    if($_GET['email-input'] != "")
    if($_GET['steam-name'] != "")
    if($_GET['betrag-input'] != "")
    $zahlmethode = $_POST['spenden']; :eek::eek::eek:
    if($_GET['paysafecard-input'] != "")
    if($_GET['steam-input'] != "")
     
  5. Timer

    Timer Mitglied

    Registriert seit:
    2 August 2017
    Beiträge:
    38
    Punkte für Erfolge:
    6
    Nun gehts. Danke
    Ich habe kurz zuvor im Internet gesucht, wie man die Radio Buttons auswerten kann und da stand, dass man das unbedingt mit $_POST machen muss. War wohl falsch
     
  6. m.scatello

    m.scatello Aktives Mitglied

    Registriert seit:
    15 Februar 2017
    Beiträge:
    378
    Punkte für Erfolge:
    28
    Formulare sollten im Allgemeinen per Post gesendet werden, warum du per Get sendest, musst du wissen.