Ich möchte eine if else-Anweisung verwenden, um abhängig von der Benutzerauswahl in zwei verschiedene Tabellen einzufügen.Einfügen von Daten mit Optionsfeldern und if else Anweisungen
Ich habe zwei Radio-Buttons:
<label for="radioBtn">Back to me</label> <input type="radio" name="radioBtn" id="radioBtn1" value=1 /></br></br>
<label for="radioBtn">Direct to recipient</label> <input type="radio" name="radioBtn" id="radioBtn2" value=0 /></br></br>
Und mein PHP ist wie folgt:
$selection = $_POST["radioBtn"];
if ($selection==0) {
$sql = "INSERT INTO user_address (user_ID, first_name, last_name, address_line1, address_line2, town, county, postcode) VALUES ($user_ID, '$_POST[first_name]', '$_POST[last_name]', '$_POST[address_line1]', '$_POST[address_line2]', '$_POST[town]', '$_POST[county]', '$_POST[postcode]')";
} else if ($selection==1) {
$sql = "INSERT INTO recipient_address (user_ID, first_name, last_name, address_line1, address_line2, town, county, postcode) VALUES ($user_ID, '$_POST[first_name]', '$_POST[last_name]', '$_POST[address_line1]', '$_POST[address_line2]', '$_POST[town]', '$_POST[county]', '$_POST[postcode]')";
}
Derzeit wird nur die user_address Spalte aktualisieren, selbst wenn der Benutzer den „Direct hat wählen Empfänger "Radio Button.
Sie verwenden boolean-Check für beide 'if ($ Auswahl == 0)' und 'if ($ Auswahl == 1)' und Ihre Werte sind 0 und 1. Sie müssen überprüfen, ob es eine Zeichenfolge ist. Ie .: 'if ($ selection ==" 0 ")'. Sie sollten auch Ihre Werte angeben. Verwende auch 'isset()', was hier besser wäre, nicht das, was du jetzt benutzt. –
@ Fred-ii- '" 1 "== 1' funktioniert gut. Wenn Sie den Typ überprüfen möchten, verwenden Sie '===' – rjdown
Ihr Optionsfeld 'Direkt zum Empfänger' hat den Wert 0; aber Ihr Code verwendet '$ selection == 0', um das' user_address'-Update auszuführen. – andrewsi