wo liegt mein Denkfehler
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
-
Hallo,
ich weiss nicht was ich hier falsch mache.
Ich habe per Radiobutton die Auswahl zwischen 2 Trucks und zur Kontrolle eine Abfrage per If-Anweisung.
Ich bekomme egal ob ich eine Auswahl treffe oder die 2. Auswahl treffe den Wert "True".
So langsam seh ich den Wald vor Baeumen nicht mehr.
Kann mir einer da weiterhelfen?
An die Mengenauswahl hab ich mich noch nicht rangetraut.
Falls einer da auch eine Idee hat waere das supper.
Danke
bigwhitelion
Ah ich glaube ich habe meinen Fehler bzw 2 gefunden.
1.ich muss $Ergebnis1 austauschen gegen $Truck
2. Ich übergebe ja ein String und kein Int, wenn die Quote da sind
Ich werde das gleich mal testen...
<article><h2>Truckcenter Germany</h2> <form> MAN 19.410 TGX<input type="radio" name="Truck" value="1"/><br> Bestellmenge <input type="value" name="Stueckzahl" size="1"> <br><br> MAN 19.510 TGX<input type="radio" name="Truck" value="2"/><br> Bestellmenge <input type="value" name="Stueckzahl" size="1"> <br><br> <br><br> Bestellung aufgeben!<input type="submit" name="Submit" value="absenden"> <?php $eingabe1 = (isset($_POST["Truck"])&&is_int($_POST["Truck"]))? $_POST["Truck"]:""; if($eingabe1=1){ echo 'true'; } else{ echo 'false'; } ?> </form>
Beitrag zuletzt geändert: 25.4.2020 19:57:40 von bigwhitelion -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Nun zum einen benutzt du 2 mal
<input type="value" name="Stueckzahl" size="1">
Problem dabei ist das wenn du nicht gerade die letzte box auswählst die Var leer übergeben wird.
Dann hast du etwas vergessen. (meines wissens)
<input type="submit" name="Submit" value="absenden">
Man kann den Button zwar drücken, doch was dann passieren soll fehlt meiner Meinung nach.
Ich habe das mal nach meinem Wissen angepasst und es geht. Ob dieses so noch Up to Date ist, lasse ich hier die Profis entscheiden.
index.htm -->
<form action = "ergebnis.php" method = "post"> <!-- hier wird der output an die ergebnis.php übertragen --> MAN 19.410 TGX<input type="radio" name="Truck" value="MAN 19.410 TGX"/><br> <!-- value angepasst um so ein geneaueres Output zu bekommen --> MAN 19.510 TGX<input type="radio" name="Truck" value="MAN 19.510 TGX"/><br> <br><br> Bestellmenge <input type="text" name="Stueckzahl" size="1"> <!-- input type="value" war/ist mir nicht bekannt, also mit einem bekannten type="text" arbeiten --> <br><br> <br><br> Bestellung aufgeben!<input type="submit" value="absenden"> <!-- name="submit" ???? --> </form>
ergebnis.php -->
<?php if(isset($_POST['Truck'])) { //völlig ausreichend $Truck = $_POST['Truck']; // Da man value bei den Radio angepasst hat ist so ein true/false nicht nötig. } else { //könnte man weg lassen wenn man die Variable "$Truck" vorher schon benennen würde bsp. über dem if $Truck = ""; $Truck = "ERROR"; } $Stueckzahl = $_POST['Stueckzahl']; echo "Sie wollen $Stueckzahl mal den $Truck kaufen."; ?>
Testen kannste das unter https://hejey.4lima.de/wo-liegt-mein-denkfehler/
-
Uihhh supi....ich danke dir, hast mir echt weitergeholfen. Bin halt noch am Anfang es zu lernen und so übersieht man wesentliche Punkte. Danke dir....jetzt kann ich über eine If-Anweisung starten und in diese eine Switch-Anweisung verschachteln und jür jeden Truck dann den Kauf abwickeln(bei mehr wie einem mit einer For-Schleife, so oft wie nötig) und per MySQL die Truckdaten mit den Käufernverbinden und dann in einer Tabelle die Trucks auflisten....so mein Plan...mal sehen wann ich wieder mal hängen bleibe...lach...hoffe dann hier wieder Hilfe zu erfahren.
Grüße
BigWhiteLion
<?php // Kontakt zur Datenbank herstellen nach dem Muster // Serveradress, Benutzername, Passwort, Datenbankname $connection = mysqli_connect('localhost', 'root', '', 'ttdm'); session_start(); ?> <!DOCTYPE html> <html> <head> <title>Truckauswahl</title> <meta charset="UTF-8"/> </head> <body> <article> <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>"> <input type="radio" name="Truck" value="MAN TGA 19,410">MAN 19.410 TGA<br> <input type="radio" name="Truck" value="MAN 19.510 TGX">MAN 19.510 TGX<br> <input type="radio" name="Truck" value="Mercedes 1940">Mercedes Actross 1940<br> <input type="radio" name="Truck" value="Mercedes 1953">Mercedes Actross 1953<br><br> Bestellmenge <input type="text" name="Stueckzahl" size="1"> <br><br> <br><br> Bestellung aufgeben!<input type="submit" value="absenden"> <?php if (isset($_POST['Truck'])){ $Truck = $_POST['Truck']; } else { $Truck ="ERROR"; } $stueckzahl = ['Stueckzahl']; echo "Sie wollen $stueckzahl mal den $Truck kaufen?"; ?> </form> </article> </body> </html>
Das Ergebniss ist:
Notice: Array to string conversion in C:\xampp\htdocs\TTDM\Truckverwaltung\truckAuswahl.php on line 32
Sie wollen Array mal den ERROR kaufen?
HMMMM bei mir kommt sowas dann raus als Ergebnis????????????
Beitrag zuletzt geändert: 27.4.2020 11:20:07 von bigwhitelion -
bigwhitelion schrieb:
Das Ergebniss ist:
Notice: Array to string conversion in C:\xampp\htdocs\TTDM\Truckverwaltung\truckAuswahl.php on line 32
Sie wollen Array mal den ERROR kaufen?
Hallo,
dies scheinen nur zwei kleine Flüchtigkeitsfehler zu sein.
1. im form-Tag (Zeile 15) hast du die Method vergessen:... method="POST" ...
2. In Zeile 31 schreibst du
$stueckzahl = ['Stueckzahl'];
Hier sollte aber stehen:
$stueckzahl = $_POST['Stueckzahl'];
Danach sollte es schon mal soweit funktionieren. -
Ja...hast Recht Stallbursche....Flüchtigkeitsfehler...ist wahrscheinlich die Hauptursache vor allem bei Anfängern...Danke schön
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage