मेरे पास वर्तमान में एक तैयार कथन है जो एक HTML फॉर्म से डेटा को एक तैयार कथन (PHP) के माध्यम से एक SQL डेटाबेस में रखता है।

यहाँ समस्या; एक फ़ील्ड डीबी में डालने के बाद खाली रहता है। 'लिंग' फ़ील्ड, जो एक ENUM(M,F,O) है। बाकी सही डेटा से भर जाता है।

क्या मेरे लिए अन्य डेटा के साथ लिंग को तालिका में लाने का कोई तरीका है?

प्रासंगिक HTML:

    <input type="radio" id="man" name="gender" value="man">
    <label for="man">Man</label>

    <input type="radio" id="woman" name="gender" value="woman">
    <label for="woman">Woman</label>

    <input type="radio" id="other" name="gender" value="other">
    <label for="other">Other</label>

पीएचपी:

$firstname= htmlentities($_POST['firstname'], ENT_QUOTES);
$lastname= htmlentities($_POST['lastname'], ENT_QUOTES);
$gender=  htmlentities($_POST['gender'], ENT_QUOTES);
$birthdate= preg_replace("([^0-9-])", "", $_POST['birthday'], ENT_QUOTES);
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$portfolio = filter_var($_POST['portfolio'], FILTER_SANITIZE_URL);

$query = "INSERT INTO `table` (`firstname`, `lastname`, `gender`, `birthdate`, `email`, `portfolio`)
VALUES (?, ?, ?, ?, ?, ?)";

mysqli_stmt_bind_param($stmt, "ssssss", $firstname, $lastname, $gender, $birthdate, $email, $portfolio);

mysqli_stmt_execute($stmt);
$prepstmt = mysqli_stmt_get_result($stmt);
1
Zeno 23 अप्रैल 2021, 02:23
4
DB में सेव करते समय htmlentities() का प्रयोग न करें। इसका उपयोग केवल वेब पेज पर टेक्स्ट प्रदर्शित करते समय किया जाना चाहिए।
 – 
Barmar
23 अप्रैल 2021, 02:28
J'utilise Firebase avec mon application Android et iOS. Mon application Android a été supprimée du Play Store une fois (je devais avoir 18+, c'était 16+, je ne sais pas pourquoi ils l'ont supprimée, c'est une blague et aucune nudité ou brutalité n'est montrée :D). Maintenant, de nombreux utilisateurs ont l'ancienne version qui ne recevra plus de mises à jour. Nous avons réussi à faire en sorte que de nombreux utilisateurs passent à la nouvelle application (téléchargée avec un nom de package différent, tout le reste est le même)
 – 
Nico Haase
23 अप्रैल 2021, 15:18

1 उत्तर

सबसे बढ़िया उत्तर

ENUM मानों से मेल खाने के लिए रेडियो बटन के मान बदलें।

<input type="radio" id="man" name="gender" value="M">
<label for="man">Man</label>

<input type="radio" id="woman" name="gender" value="F">
<label for="woman">Woman</label>

<input type="radio" id="other" name="gender" value="O">
<label for="other">Other</label>

यदि आप प्रपत्र नहीं बदल सकते हैं, तो आप PHP में मानों को मैप कर सकते हैं:

$gender_map = ['man' => 'M', 'woman' => 'F', 'other' => 'O'];
$gender = $gender_map[$_POST['gender']];
2
Barmar 23 अप्रैल 2021, 02:29