J'ai une page qui permet essentiellement à un utilisateur admin de créer des types d'utilisateurs de gestionnaire (essentiellement une fonction de registre.) Quand les valeurs sont soumises, elles sont stockées dans la base de données, très basique. ..raisons sont j'ai 3 niveaux d'utilisateur différents et j'ai déclaré leur identification comme un entier (par exemple 7 = gestionnaire, 8 = utilisateur, etc.)Problème avec PHP; Affichage de la valeur masquée
Quelqu'un peut-il m'aider avec comment passer correctement cette valeur cachée de sorte qu'il magasins dans la base de données ...
Voici ma forme:
<form id="userreg" name="userreg" method="post" action="adduser-process.php">
<label>Full Name:</label> <input name="fullname" size="40" id="fullname" value="<?php if (isset($_POST['fullname'])); ?>"/>
<br />
<label>Username:</label> <input name="username" size="40" id="username" value="<?php if (isset($_POST['username'])); ?>"/> <br />
<label>Password:</label> <input name="password" size="40" id="password" value="<?php if (isset($_POST['password'])); ?>"/> <br />
<label>Email Address:</label> <input name="emailaddress" size="40" id="emailaddress" value="<?php if (isset($_POST['emailaddress'])); ?>"/>
<br />
<input name="userlevel" type="hidden" size="1" id="userlevel" value="<?php $_POST[5]; ?>" /> <br />
<input value="Add User" class="addbtn" type="submit" />
</form></div>
Ne xt, voici le script qui exécute la requête:
<?php
require_once "config.php";
$fullname = $_POST['fullname'];
$username = $_POST['username'];
$password = $_POST['password'];
$emailaddress = $_POST['emailaddress'];
$userlevel = $_POST[5];
$sql = "INSERT INTO users_tb VALUES('".$user_id."','".$fullname."','".$username."',MD5('".$password."'),'".$emailaddress."','".$userlevel."')";
$result = mysql_query($sql, $connection)
or die("MySQL Error: ".mysql_error());
header("Location: administratorfrontview.php");
exit();
?>
Je suis fondamentalement essayer de passer le TypeM caché avec une valeur constante de « 5 » juste pour cette forme, car il ne sera pas changé ... aussi bien que je suis ici, pour une raison quelconque, le 'fullname' n'est pas non plus stocké dans la BD !! WTH ?? tous les autres champs sont traités correctement. Toute aide est très appréciée! Je vous remercie.
Vous avez vraiment besoin de lire sur l'injection SQL. Quelqu'un pourrait facilement compromettre votre site Web en fonction de votre code. Google "injection de php sql". – ryeguy
Oui, je sais, je vais utiliser JavaScript pour la validation, mais je suis en train d'éditer localement et d'essayer de faire fonctionner la partie principale en premier. Mais merci quand même. – Yvonne
Je vous aurais défendu contre le commentaire "Lisez sur sql injection avant d'utiliser ce code", jusqu'à ce que vous disiez que vous alliez utiliser javascript pour valider. S'il vous plaît faites comme l'homme dit. – Jage