Как исправить имя пользователя, которое не отображается в mysql? - PullRequest
0 голосов
/ 08 февраля 2011

я создаю реестр для моего сайта, и пока все хорошо, но когда вы регистрируетесь, он не помещает имя пользователя в базу данных, он помещает пароль и адрес электронной почты, хотя

<?php
@mysql_connect("localhost", "user", "pass") or die("Cannot connect to DB!");
@mysql_select_db("") or die("Cannot select DB!");
$sql= "INSERT INTO member (username, password, email) VALUES('$loginid','$password','$email')";
$r = mysql_query($sql);
if(!$r) {
    $err=mysql_error();
    print $err;
    exit();
}
$insert_query = 'insert into member (username,password,email) values("' . $_POST['username'] . '","' . $_POST['password'] . '","' . $_POST['email'] . '")';

mysql_query($insert_query);
?>

СпасибоЗа вашу помощь заранее: D

1 Ответ

0 голосов
/ 08 февраля 2011

Вы уверены, что у вас есть правильное имя элемента в вашей форме? И что вы POST'ing формы, а не с помощью GET? Кроме того, вы не должны вставлять пароли в БД в виде простого текста, а использовать функцию MySQL password, и при этом вы не должны формировать свой оператор mysql таким образом, поскольку он оставляет вашу БД открытой для внедрения SQL. Попробуйте это:

$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
$insert_query = "insert into member (username,password,email) values('$username', PASSWORD('$password'), '$email')";
...