Обновление значения MYSQL - PullRequest
       1

Обновление значения MYSQL

0 голосов
/ 30 января 2011

Я делаю скрипт обновления для формы. Когда пользовательская информация отправляется на регистрацию, она отправляется пользователю db со следующими полями: имя пользователя, пароль, полное имя и телефон. Когда пользователь обновляет форму, например, для изменения своего имени, имя пользователя, пароль, теле поля также являются частью формы обновления. Поэтому, когда пользователь обновляет свой номер телефона в форме обновления, информация об имени пользователя и информации о пароле и имени также присутствуют в форме. Проблема в том, что система распознает, что имя пользователя уже занято.

Итак, как мне обновить мой скрипт таким образом, чтобы измененные значения были подобраны системой. Или есть лучший способ сделать это?

Код:

          if (!get_magic_quotes_gpc()) {
           $_POST['username'] = addslashes($_POST['username']);
       }
        $idcheck = $_POST['username'];
        $check = mysql_query("SELECT username FROM users WHERE username = '$username'")
          or die(mysql_error());
        $check2 = mysql_num_rows($check);


         if ($check2 != 0) {
         print("username already taken");
         die('');
           }

По сути, проблема в том, что он распознает, что значения уже существуют, но не понимает, что информация о тех же пользователях, а не о каком-либо другом пользователе, использующем общий идентификатор или имя пользователя ...

Ответы [ 2 ]

1 голос
/ 30 января 2011

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

1 голос
/ 30 января 2011

Просто удалите следующий код из скрипта обновления:

$idcheck = $_POST['username'];
$check = mysql_query("SELECT username FROM users WHERE username = '$username'") or die(mysql_error());
$check2 = mysql_num_rows($check);

if ($check2 != 0) {
   print("username already taken");
   die('');
}

И тогда все должно быть хорошо.

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

Лучший, Камран

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...