Проблема с PHP; Размещать скрытое значение? - PullRequest
0 голосов
/ 12 марта 2010

У меня есть страница, которая в основном позволяет администратору создавать типы пользователей менеджера (в основном, функцию регистра. Поэтому, когда значения передаются, они сохраняются в БД, очень простые вещи. Однако у меня есть скрытая переменная type..reasons у меня есть 3 различных уровня пользователя, и я объявил, что они идентифицируются как целое число (например, 7 = менеджер, 8 = пользователь и т. д.)

Может кто-нибудь помочь мне с правильной передачей этого скрытого значения, чтобы оно сохранялось в базе данных ...

Вот моя форма:

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

Далее приведен скрипт, который выполняет запрос:

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

Я в основном пытаюсь передать скрытый тип с постоянным значением «5» только для этой формы, так как он не будет изменен ... также, пока я здесь, по какой-то причине, «полное имя» не хранится в БД либо !! ?? WTH ?? все остальные поля обрабатываются нормально. Любая помощь высоко ценится! Спасибо.

Ответы [ 2 ]

3 голосов
/ 12 марта 2010

Две вещи. Во-первых, $userlevel должно равняться $_POST['userlevel'], а не 5, поскольку данные POST не всегда в этом порядке. Во-вторых, вашему оператору вставки должно предшествовать имя столбца (чтобы не допустить неправильного порядка данных).

$sql = "INSERT INFO users_tb (id, name, username, password, email, userlevel) ".
       "('".$user_id."','".$fullname."','".$username."',MD5('".$password."'),'".
       $emailaddress."','".$userlevel."')";
2 голосов
/ 12 марта 2010

Ваш PHP для вывода значения неверен. Использование:

<?= $_POST[5]; ?>

или

<?php echo $_POST[5]; ?>
...