2013-04-08 2 views
-6

У меня есть HTML-форма, в которой пользователь может ввести свой адрес электронной почты и пароль и нажать «Отправить», чтобы создать членство, эти данные отправляются в базу данных. Я просмотрел код и не вижу никаких проблем, но представления не будут отображаться в базе данных mySQL. Кроме того, я пытаюсь перенаправить пользователя на страницу после регистрации, набрав их адрес электронной почты и пароль.Использование формы для отправки информации для входа в DB

форма код выглядит следующим образом:

<form class="form-signin" action="signinprocessor.php" method="post" form name ="form1"> 
    <h3 class="muted">moreo</h3> 
    <h2 class="form-signin-heading">Please sign in</h2> 
    <input type="text" class="input-block-level" placeholder="Email address" input name="myusername" id="myusername"> 
    <input type="password" class="input-block-level" placeholder="Password" input name="mypassword" id="mypassword"> 
    <label class="checkbox"> 
     <input type="checkbox" value="remember-me"> Remember me 
    </label> 
    <button class="btn btn-medium btn-primary" type="submit" name="submit" value="login">Sign in</button> 
    </form> 

После клика отправить их берут в signinprocessor.php, где код выглядит следующим образом:

function createUser() { 
    $con = mysql_connect("localhost","root",""); 
    if (!$con) 
     { 
    die('Could not connect: ' . mysql_error()); 
     } 
     mysql_select_db("test", $con); 

     $username = mysql_real_escape_string($_POST['myusername'], $con); 
     $password = mysql_real_escape_string($_POST['mypassword'], $con); 
     $sql = "UPDATE members SET username='$username',password='$password'"; 
     mysql_query($sql , $con); 

     mysql_close($con); 

    } 
+0

1-й. Функции mysql_ лишены! Вместо этого используйте mysqli или PDO-mysql !!! 2nd. НЕ ДОЛЖНЫ СОХРАНИТЬ ПАРОЛЬ !!! – Svetoslav

+2

Вы вызвали эту функцию 'createUser()' в 'signinprocessor.php'? я не вижу, что это называется. –

+0

Вы проверяли, отправляются ли данные в signinprocessor.php –

ответ

1

Youre просто пытаются создать новый пользователь поэтому вместо того, чтобы использовать UPDATE использование INSERT

$sql = "INSERT INTO members(username,password) VALUES('$username','$password'"); 
1

1) Если вы создаете пользователь, пароли должны быть зашифрованы (хэшированный) как md5() затем использовать INSERT заявление вместо обновления, как это:

$sql = "INSERT INTO members(username,password) VALUES('".$username."','".md5($password)."'"); 

2) Вы не вызывать createUser() метода.

UPDATE

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db'); 

затем

$query = "INSERT INTO members(username,password) VALUES('".$username."','".md5($password)."'"); 
$result = $mysqli->query($query); 

для получения дополнительной информации посетите этот link.

+0

, так как mysqli и PDO все осталось, как бы вы преобразовали это в mySQLI? – buttonitup

+0

см. Мое обновление .. –

0

Почему я был заблокирован из-за вопроса из-за этого сообщения? Это определенно в обычном вопросе и ответе, но он получил 7 голосов. С устареванием mySQL и людьми, вынужденными в PDO или mySQLI, просто нечестно, что я накажу за это. Я прошу вас, пользователь, проголосовать за меня, чтобы я мог снова использовать сайт. Спасибо.

Смежные вопросы