Frage

Ich habe eine Seite, die im Grunde ein Admin Benutzer ermöglicht, Manager Benutzertypen zu erstellen (im Grunde ein Funktionsregister. Wenn also die Werte vorgelegt werden, werden sie in die DB gespeichert ist, sehr, sehr grundlegende Dinge. Ich habe jedoch eine versteckte Variable type..reasons I sind 3 verschiedene Benutzerebenen haben, und ich habe sie Identifizierung als integer deklariert (zB 7 = Manager, 8 = user etc.)

kann jemand helfen mir bei, wie man richtig mit diesem verborgenen Wert übergibt, damit sie in der Datenbank speichern ...

Hier ist meine Form:

<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>

Als nächstes wird hier das Skript, das die Abfrage ausgeführt wird:

    <?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();
 ?>  

Ich versuche, im Grunde die versteckte typem mit einem konstanten Wert von ‚5‘ für diese Form nur zu passieren, da es nicht geändert werden ... auch während hier im, aus irgendeinem Grunde, der ‚Fullname‘ ist nicht gespeichert entweder im DB !! ?? WTH ?? alle anderen Felder werden verarbeitet in Ordnung. Jede Hilfe ist sehr zu schätzen! Danke.

War es hilfreich?

Lösung

Zwei Dinge. Eines, $userlevel sollte gleich $_POST['userlevel'] nicht 5 als POST-Daten nicht immer in dieser Reihenfolge ist. Zwei, Ihre Insert-Anweisung sollte mit den Spaltennamen (zu verhindern, dass Daten aus gehen in der falschen Reihenfolge).

vorangestellt werden
$sql = "INSERT INFO users_tb (id, name, username, password, email, userlevel) ".
       "('".$user_id."','".$fullname."','".$username."',MD5('".$password."'),'".
       $emailaddress."','".$userlevel."')";

Andere Tipps

Ihre PHP den Wert für die Ausgabe ist falsch. Verwendung:

<?= $_POST[5]; ?>

oder

<?php echo $_POST[5]; ?>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top