Удаление пользователя из базы данных - PullRequest
0 голосов
/ 29 ноября 2011

Когда я иду, чтобы удалить пользователя из базы данных, я продолжаю получать сообщение об ошибке, что учетная запись пользователя не может быть удалена в это время.Я не могу найти какие-либо ошибки Sytanx, которые выделяются, и я почти уверен, что мой SQL-запрос является правильным.Форма для удаления учетных записей пользователей запрашивает имя пользователя, пароль, имя и адрес электронной почты, но проверяет только имя пользователя и пароль.Я пойду об этом неправильно?

<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Deleting Account </title>
    </head>
    <body>
        <?php
                  $db_server = "server";
                  $db_username = "name";
                  $db_password = "pass";

       $con = mysql_connect($db_server, $db_username, $db_password);if (!$con)
                {
                    die('Could not connect: ' . mysql_error());
                }

               $database = "Account_Holder";  

              $er = mysql_select_db($db_username);
        if (!$er) 
        {
         print ("Error - Could not select the database");
         exit;
        }        
            if (isset($_POST['Submit']) && isset($_POST['firstname']) && isset($_POST['password']) && isset($_POST['username'])&& isset($_P0ST['email']))
            {

            //if (isset($_POST['Submit'])
            //{
            $firstname =  $_P0ST['firstname']; 
            $password =  $_POST['password']; 
            $username =  $_P0ST['username']; 
            $email = $_P0ST['email'];

                $query = "DELETE FROM Account_Holder WHERE username ='$username' AND password ='$password'";
                $result = mysql_query($query);
                print("Your account has been deleted. Goodbye."); 
            }
            else
            {
                print("Your account can not be deleted at this time."); 
            }
        ?>
    </body>
</html>

Ответы [ 4 ]

0 голосов
/ 27 ноября 2014

я полагаю, вы сделали проверку в вашем коде
просто вам нужно проверить

if (isset($_POST['Submit'])) {

   $firstname =  $_POST['firstname']; 
   $password =  $_POST['password']; 
   $username =  $_POST['username']; 
   $email = $_POST['email'];

   $query = "DELETE FROM Account_Holder WHERE username ='$username' AND password ='$password'";
         $result = mysql_query($query);
         print("Your account has been deleted. Goodbye."); 
} else {
     print("error..");
}
0 голосов
/ 29 ноября 2011

Мне кажется, что в вашем выражении if что-то не так, как вы ожидаете:

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

Я бы проверил вашу форму, чтобы убедиться, что в атрибуте метода установлено значение "post", и что в вашей форме есть элементы, соответствующие этому.Вы также можете открыть его в веб-отладчике, таком как Fiddler, Firebug или Dragonfly, который позволит вам увидеть запрос POSTed, и вы можете убедиться, что все эти элементы действительно отправляются на сервер.

0 голосов
/ 29 ноября 2011

print_r($_POST); и проверьте, все ли значения из этого if оператора приходят или нет

 if (isset($_POST['Submit']) && isset($_POST['firstname']) && isset($_POST['password']) && isset($_POST['username'])&& isset($_P0ST['email']))
0 голосов
/ 29 ноября 2011

Ваш запрос имеет имя базы данных "Account_Holder" вместо имени таблицы.

$query = "DELETE FROM Account_Holder WHERE username ='$username' AND password ='$password'";

Измените его на соответствующее имя таблицы и повторите попытку.

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