Не может обновлять существующие данные формы заявки - PullRequest
0 голосов
/ 05 февраля 2010

Я редактирую форму заявки. Так что я делаю, говорю вам здесь ... Я уже вошел в систему

  • Прежде всего, я даю ссылку для редактирования (edit_profile1.php) на моей домашней странице
  • Теперь я снова спрашиваю имя пользователя и пароль, чтобы неавторизованный пользователь не мог вносить изменения в свой профиль
  • НОВОСТЬ на edit_profile1.php Я проверяю имя пользователя и пароль, отправленные пользователем на имя пользователя и пароль, хранящиеся в базе данных
  • Если имя пользователя и пароль верны, я перенаправлен на edit_profile2.php
  • Здесь я создаю форму с теми же текстовыми полями, которые я использовал при заполнении формы заявки (я использую то же имя для ящиков). Вот кнопка с обновлением имени

Для последней страницы edit_profile3.php я даю кодирование здесь

<?php

    $con=mysql_connect("localhost","root","");
        if(!$con)
        {
        die('Could Not Connect:'.mysql_error());
        } 
        mysql_select_db("tcs",$con);

$usr=$_POST["username"];                 
$pwd=hash('sha1',$_POST['password']);   

$query="select * from employee where Username='$usr' and Password='$pwd'";   

$result=mysql_query($query,$con);


if ($result) 
{

$row=mysql_fetch_array($result);
$sql="update employee set ($row['Username']=$usr,$row['Password']=$pwd");

$deepak=mysql_query($sql,$con);

if($deepak)
{
    echo "Updation Successfull"
}

}
?>

Теперь, когда я извиняюсь, эта ошибка приходит вот так Ошибка разбора: синтаксическая ошибка, неожиданный T_ENCAPSED_AND_WHITESPACE, ожидающий T_STRING или T_VARIABLE или T_NUM_STRING в F: \ Study Material \ Linux \ xampp \ htdocs \ edit_profile3.php в строке 21

Line number 21 is 
 $sql="update employee set ($row['Username']=$usr,$row['Password']=$pwd");

НЕТ, я не понимаю, где я ошибаюсь. Plz также скажите мне, есть ли какой-либо другой метод для обновления форм приложения любой другой логикой. Пожалуйста, проверьте выше.

Ответы [ 3 ]

1 голос
/ 05 февраля 2010

Помимо проблемы с круглыми скобками, о которой уже говорили другие, не должно ли быть так?

"update employee set password=$pwd WHERE username=$usr"

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

"update employee set username=$new_username, password=$pwd WHERE username=$old_username"

См. Описание ОБНОВЛЕНИЯ для MySQL для описания синтаксиса.

Кроме того, вставлять подобные строки непосредственно в запросы SQL рискованно - если вы не будете осторожны, вы можете оставить неуязвимость SQL-инъекций. Вы должны использовать параметры запроса, чтобы обеспечить безопасность вашего кода. Узнайте больше об этом из этого вопроса в StackOverflow .

0 голосов
/ 05 февраля 2010

В заявлении неправильно написано:

$sql="update employee set ($row['Username']=$usr,$row['Password']=$pwd)";

Цитата должна быть после ')'.

0 голосов
/ 05 февраля 2010

Ваша заключительная скобка ) находится вне строки запроса.

Используйте PHP-редактор с подсветкой синтаксиса, он поможет сразу увидеть такие проблемы.

И Руководство по PHP очень хорошо, и всегда полезно иметь под рукой.

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