Variable en field qui ne fonctionne pas
Posté : 17 févr. 2021, 10:12
Bonjour a tous,
Je n'arrive pas à injecter des données dans ma base SQL avec une variable $field qui retourne la valeur de la colonne.
Je dois faire une erreur quelque part mais je ne trouve pas.
Merci d'avance pour votre aide.
Voici mon code :
Je suis débutant.
Merci encore pour votre aide.
Je n'arrive pas à injecter des données dans ma base SQL avec une variable $field qui retourne la valeur de la colonne.
Je dois faire une erreur quelque part mais je ne trouve pas.
Merci d'avance pour votre aide.
Voici mon code :
<form method="post" action="/admin/ajouter.php">
<input id="radio1" name="user_type" value="A" type="radio">
<label for="radio1">A</label>
<input id="radio2" name="user_type" value="B" type="radio">
<label for="radio2">B</label>
<input id="radio3" name="user_type" value="C" type="radio">
<label for="radio3">B</label>
<input id="radio4" name="user_type" value="D" type="radio">
<label for="radio4">C</label><br>
<input type="email" name="email" placeholder="Adresse e-mail"/><br>
<input type="password" name="password" placeholder="Mot de passe"><br>
<input type="submit" value="Connexion">
</form>
Et puis aussi :
<?php
function secureArray($array_sec) {
foreach($array_sec as $key => $value) {
if (is_array($value)) {
$array_sec[$key] = secureArray($value);
} else {
$array_sec[$key] = htmlentities($value, ENT_QUOTES);
}
}
return $array_sec;
}
$sPOST=secureArray($_POST);
try
{
$bdd = new PDO('mysql:host=localhost;dbname=bddlib;charset=utf8', 'root', 'root');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$email=$sPOST['email'];
if (isset($email)) {
$req = $bdd->prepare('INSERT INTO lib_user(email) VALUES(:val1)');
$req->execute(array(
'val1' => $email
));
}
if(isset($sPOST) && is_array($sPOST)) {
$req = $bdd->prepare('UPDATE lib_user SET $field = :val1 WHERE email = :email');
$liste_user = $sPOST;
foreach($liste_user as $field => $data) {
echo $field .' => '. $data .'<br/>';
$req->execute(array( 'val1' => $data,
'email' => $email));
}
}
?>
Je suis preneur de toute info aussi sur les mauvaises pratiques que je fais.Je suis débutant.
Merci encore pour votre aide.