W
wanjapflueger
Guest
Hallöchen,
also ich habe da mein Formular (sorry wegen den echos aber es funktioniert nur so
)
und mein verarbeitendes PHP script:
Es geht sich hier um Folgendes:
Der Nutzer wählt den Betrag 5€ oder tippt einen eigenen ein. Nachfolgend betrachten wir mal nur den Vornamen, der wird überprüft mit !preg_match und muss im Moment "herr" oder "frau" heißen (nur zum ausprobieren) -> funktioniert.:)
Wenn das Formular abgeschickt wird, werden mir alle ausgefüllten Felder auch angezeigt, den Radio Button mit dem Betrag vergisst das Formular allerdings...
Es könnte alles so schön sein...
Warum übernimmt der Radio nicht seinen Wert? sondern $amount == 0 -.-
Vielen Dank schon jetzt ;)
also ich habe da mein Formular (sorry wegen den echos aber es funktioniert nur so

PHP:
<?
echo "<script type=\"text/javascript\">\n";
echo "function checkRadio()\n";
echo "{\n";
echo " var radio = document.getElementById(\"amount_free\");\n";
echo " if (radio.checked){\n";
echo " radio.value = document.getElementById(\"amount_input\").value;\n";
echo " }\n";
echo " document.Formular.submit();\n";
echo " \n";
echo "}\n";
echo "</script>\n";
echo "<form name=\"Formular\" action=\"\" method=\"post\" >\n";
echo " \n";
echo " \n";
echo " <input type =\"radio\" name=\"amount\" id=\"amount_5\" value=\"5\"> 5€<br />\n";
echo " <input type =\"radio\" name=\"amount\" id=\"amount_free\" onclick=\"document.Formular.amount_input.focus()\"> Eigener Betrag: <input type=\"text\" id=\"amount_input\" onfocus=\"document.Formular.amount_free.checked = true\" size=\"25\">\n";
echo " <br>\n";
echo " \n";
echo " \n";
echo "\n";
echo " <p>\n";
echo " <label for=\"firstName\">Vorname</label>\n";
echo " <input type=\"text\" name=\"firstname\" value=\"$first_name\" id=\"firstName\">\n";
echo " </p>\n";
echo " <p>\n";
echo " <label for=\"lastName\">Nachname</label>\n";
echo " <input type=\"text\" name=\"lastname\" value=\"$last_name\" id=\"lastName\">\n";
echo " </p>\n";
echo " <p>\n";
echo " <label for=\"emailAddress\">Email</label>\n";
echo " <input type=\"text\" name=\"email\" value=\"$email_address\" id=\"emailAddress\">\n";
echo " </p>\n";
echo " <a href=\"javascript:checkRadio()\">Kostenpflichtig absenden</a>\n";
echo "</form>";
?>
und mein verarbeitendes PHP script:
PHP:
<?php
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$link = mysqli_connect("localhost", "nutzer", "test", "Foerder");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
// Escape user inputs for security
@$first_name = mysqli_real_escape_string($link, $_POST['firstname']);
@$last_name = mysqli_real_escape_string($link, $_POST['lastname']);
@$email_address = mysqli_real_escape_string($link, $_POST['email']);
@$amount = mysqli_real_escape_string($link, $_POST['amount']);
// attempt insert query execution
$sql = "INSERT INTO test (amount, first_name, last_name, email_address) VALUES ('$amount', '$first_name', '$last_name', '$email_address')";
include "formular.php";
//Amount
//Amount ende
//Vorname
if (empty($first_name)) {
echo "Vorname leer";
}
elseif(!preg_match("/(\bherr\b|\bfrau\b)/i",$first_name))
{
echo "Vorname falsch";
}
// Vorname ENde
elseif(mysqli_query($link, $sql)){
echo "Vielen Dank für Deinen Beitrag!<br><br>";
echo "Name: " . $first_name . " " . $last_name . "";
}
else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// close connection
mysqli_close($link);
?>
Es geht sich hier um Folgendes:
Der Nutzer wählt den Betrag 5€ oder tippt einen eigenen ein. Nachfolgend betrachten wir mal nur den Vornamen, der wird überprüft mit !preg_match und muss im Moment "herr" oder "frau" heißen (nur zum ausprobieren) -> funktioniert.:)
Wenn das Formular abgeschickt wird, werden mir alle ausgefüllten Felder auch angezeigt, den Radio Button mit dem Betrag vergisst das Formular allerdings...

Es könnte alles so schön sein...

Vielen Dank schon jetzt ;)