• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Radio button gibt immer das gleiche aus

Timer

Mitglied
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:
<form id="spenden-popup" method="get">
                <h1 id="spenden-title">Spenden</h1>
                <fieldset id="spenden-radio">
                    <label>
                        <input type="radio" id="uberweisen" name="spenden" value="v-uberweisen" onclick="spenden_func('div-uberweisen', 'uberweisen')" class="option-buttons">
                        <img src="bilder/ec.jpg" alt="Fehler 404" class="spenden-img"><br>
                    </label>
                    <label>
                        <input type="radio" id="kreditkarte" name="spenden" value="v-kreditkarte" onclick="spenden_func('div-kreditkarte', 'kreditkarte')" class="option-buttons">
                        <img src="bilder/kredit.jpg" alt="Fehler 404" class="spenden-img"><br>
                    </label>
                    <label>
                        <input type="radio" id="paypal" name="spenden" value="v-paypal" onclick="spenden_func('div-paypal', 'paypal')" class="option-buttons">
                        <img src="bilder/paypal.jpg" alt="Fehler 404" class="spenden-img"><br>
                    </label>
                    <label>
                        <input type="radio" id="paysafecard" name="spenden" value="v-paysafecard" onclick="spenden_func('div-paysafecard', 'paysafecard')" class="option-buttons">
                        <img src="bilder/paysafecard.jpg" alt="Fehler 404" class="spenden-img"><br>
                    </label>
                    <label>
                        <input type="radio" id="steamcard" name="spenden" value="v-steamcard" onclick="spenden_func('div-steamcard', 'steamcard')" class="option-buttons">
                        <img src="bilder/steam.jpg" alt="Fehler 404" class="spenden-img"><br>
                    </label>
                    <div id="close-div" onClick="close_spenden_popup()">
                        &#10006;
                    </div>
                </fieldset>
                <div id="spenden-right-side" action="">
                    <div id="betrag">
                        <input type="text" placeholder="Vor- und Nachname" name="name-input" id="name-input" class="spenden-inputs">
                        <input type="email" placeholder="E-Mail Adresse" name="email-input" id="email-input" class="spenden-inputs">
                        <input type="text" placeholder="Steam Name" name="steam-name" id="steam-name" class="spenden-inputs">
                        <input type="number" placeholder="Betrag eingeben" name="betrag-input" id="betrag-input" class="spenden-inputs" style="margin-bottom: 10px">€
                        <input type="number" placeholder="PaySafeCard Code" name="paysafecard-input" id="paysafecard-input" class="spenden-inputs" maxlength="16">
                        <input type="number" placeholder="Steam Card Code" name="steam-input" id="steam-input" class="spenden-inputs">
                    </div>
                    <div id="spenden-choose">
                        <div id="div-uberweisen" class="spenden-div">
                            <button type="submit" class="spenden-betrag-button">Spenden</button><br>
                            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>
                            <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
                        </div>
                        <div id="div-kreditkarte" class="spenden-div">
                            <button type="submit" class="spenden-betrag-button">Spenden</button><br>
                            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>
                            <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
                        </div>
                        <div id="div-paypal" class="spenden-div">
                            <button type="submit" class="spenden-betrag-button">Spenden</button>
                            <br><br>
                            <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
                        </div>
                        <div id="div-paysafecard" class="spenden-div">
                            <button type="submit" class="spenden-betrag-button">Spenden</button>
                            <br><br>
                            <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.
                        </div>
                        <div id="div-steamcard" class="spenden-div">
                            <button type="submit" class="spenden-betrag-button">Spenden</button>
                            <br><br>
                            <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.
                        </div>
                    </div>
                </div>
            </form>
            <?php
                if($_GET['name-input'] != "")
                {
                    if($_GET['email-input'] != "")
                    {
                        if($_GET['steam-name'] != "")
                        {
                            if($_GET['betrag-input'] != "")
                            {
                                $zahlmethode = $_POST['spenden'];
                                if ($zahlmethode == "v-paysafecard")
                                {
                                    if($_GET['paysafecard-input'] != "")
                                    {
                                        $handle = fopen("spenden.txt", "a");
                                        fwrite ($handle, $_GET['name-input']." | ".$_GET['email-input']." | ".$_GET['steam-name']." | ".$_GET['betrag-input']." | ".$_GET['paysafecard-input']." | PaySafeCard \n");
                                        echo "Ihre E-Mail-Adresse wurde gespeichert";
                                    }
                                }
                                else if ($zahlmethode == "v-steamcard")
                                {
                                    if($_GET['steam-input'] != "")
                                    {
                                        $handle = fopen("spenden.txt", "a");
                                        fwrite ($handle, $_GET['name-input']." | ".$_GET['email-input']." | ".$_GET['steam-name']." | ".$_GET['betrag-input']." | ".$_GET['steam-input']." | SteamCard \n");
                                        echo "Ihre E-Mail-Adresse wurde gespeichert";
                                    }
                                }
                                else
                                {
                                    $handle = fopen("spenden.txt", "a");
                                    fwrite ($handle, $_GET['name-input']." | ".$_GET['email-input']." | ".$_GET['steam-name']." | ".$_GET['betrag-input']." | PayPal \n");
                                    echo "Ihre E-Mail-Adresse wurde gespeichert";
                                }
                            }
                        }
                    }
                }
            ?>
        </div>
Warum wird der PaySafeCard/Steam Card Code nicht gespeichert?
 
Werbung:
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.
 
Danke. Dann kommt folgender Fehler:
Code:
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
 
Werbung:
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'] != "")
 
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
 
Formulare sollten im Allgemeinen per Post gesendet werden, warum du per Get sendest, musst du wissen.
 
Werbung:
Zurück
Oben