2014-10-13 3 views
0

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

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

Однако при попытке обновить конкретную запись и нажмите отправить мою MemberID поле автоматически устанавливается значение и я не уверен, откуда это может быть (см. здесь http://imgur.com/MK07epA)

Я просмотрел весь свой код и не могу найти, что его вызывает.

При попытке обновить или удалить записи после первого обновления, я получаю следующие сообщения об ошибках: (http://imgur.com/Qs0IQKi)

Добавить код

<!DOCTYPE html> 
<html> 
<head><title>Insert Users</title></head> 
<body> 
<h2>Insert User Confirmation</h2> 

<form action="<?php $_SERVER['PHP_SELF']?>" method="post"/> <br> 
<?php 


include('connection.php'); 

        echo "<label for='memberID' >Member ID:</label>"; 
        echo "<input type='text' name='memberID' id='memberID' />"; 
        echo "<br /><br />"; 

        echo "<label for='username' >Username:</label>"; 
        echo "<input type='text' name='username' id='username' />"; 
        echo "<br /><br />"; 

        echo "<label for='password' >Password:</label>"; 
        echo "<input type='password' name='password' id='password' />"; 
        echo "<br /><br />"; 

        echo "<label for='fName' >Firstname:</label>"; 
        echo "<input type='text' name='fName' id='fName' />"; 
        echo "<br /><br />"; 

        echo "<label for='lName' >Lastname:</label>"; 
        echo "<input type='text' name='lName' id='lName' />"; 
        echo "<br /><br />"; 

        echo "<label for='address' >Address:</label>"; 
        echo "<input type='text' name='address' id='address' />"; 
        echo "<br /><br />"; 

        echo "<label for='email' >Email:</label>"; 
        echo "<input type='text' name='email' id='email' />"; 
        echo "<br /><br />"; 

        echo "<input type='submit' name='submit' value='Submit' />"; 
        echo "<input type='reset' value='Clear' />"; 
        echo "<br /><br />"; 
?> 
</form> 
</section> 

<a href="home.php">Back Home</a><br/> 

<?php 
if(!isset($_POST['submit'])) { 
    echo 'Please Register'; 
} 
else { 

     $memberID = $_POST['memberID']; 
     $username = $_POST['username']; 
     $password = $_POST['password']; 
     $fName = $_POST['fName']; 
     $lName = $_POST['lName']; 
     $address = $_POST['address']; 
     $email = $_POST['email']; 



     $query = "INSERT INTO `members` (memberID, username, password, firstname, lastName, address, email) 
     VALUES ('$memberID', '$username', '$password', '$fName', '$lName', '$address', '$email')"; 
     mysqli_query($connection, $query) 
     or die(mysqli_error($connection)); 

     $rc = mysqli_affected_rows($connection); 
     if ($rc==1) 
        { 
        echo '<h4>The database has been updated with the following details: </h4> '; 
        echo 'MemberID: '.$memberID.'<br />'; 
        echo 'Username: '.$username.'<br />'; 
        echo 'Password: '.$password.'<br />'; 
        echo 'First Name: '.$fName.'<br />'; 
        echo 'Last Name: '.$lName.'<br />'; 
        echo 'Address: '.$address.'<br />'; 
        echo 'Email: '.$email.'<br />'; 
        } 
     else 
        { 
        echo '<p>The data was not entered into the database this time.</p>'; 
        } 
    } 
?> 
</body> 
</html> 

View Code

<?php 
       require_once('connection.php'); 
       $query = 'select * from members order by memberID'; 

       include('includes/query.php'); 

       echo '<table>'; 
       echo '<tr>'; 
       echo ' <th>MemberID</th> 
         <th>Username </th> 
         <th>Password</th> 
         <th>Firstname</th> 
         <th>Lastname</th> 
         <th>Email</th> 
         <th>Address</th>'; 
       echo '</tr>'; 

       foreach ($rows as $row) 
       { 
       echo '<tr>'; 
       echo '<td>' . $row['memberID'] . '</td>'; 
       echo '<td>' . $row['username'] . '</td>'; 
       echo '<td>' . $row['password'] . '</td>'; 
       echo '<td>' . $row['firstname'] . '</td>'; 
       echo '<td>' . $row['lastname'] . '</td>'; 
       echo '<td>' . $row['email'] . '</td>'; 
       echo '<td>' . $row['address'] . '</td>'; 



       echo '<td> <a href="confirm_delete.php?memberID=' . $row['memberID'] . '">Delete</a> </td>'; 
       echo '<td> <a href="update_member_form.php?memberID=' . $row['memberID'] . '">Update</a> </td>'; 
       echo '</tr>'; 
       } 

       echo '</table>'; 

    ?> 

Обновление Код

<?php 

    require_once('connection.php'); 

     if(!isset($_POST['submit'])) { 

     echo "Unauthorised access"; 

     } 
     else { 
       $memberID = $_POST['memberID'];  
       $username = $_POST['username']; 
       $password = $_POST['password']; 
       $firstname = $_POST['firstname']; 
       $lastname = $_POST['lastname']; 
       $email = $_POST['email']; 
       $address = $_POST['address']; 


       $query = "update members set memberID = '#memberID', username = '$username', password = '$password', 
       firstname = '$firstname', lastname = '$lastname', email = '$email', address = '$address' where memberID = '$memberID'"; 

       $result = mysqli_query($connection, $query)      
        or die (mysqli_error($connection)); 

       $rc = mysqli_affected_rows($connection); 

       if($rc == 1) 
       { 
        echo "<p>You have successfully updated memberID: {$memberID} account details</p>"; 
        echo "<p><a href='view_records.php'>Back to User List</a> </p>"; 
       } 
       else 
       { 
        echo "<p>No changes made.</p>"; 
        echo "<p><a href='view_records.php'>Back to User List</a> </p>"; 
       } 
     } 

?> 

Delete Code

<?php 
    require_once('connection.php'); 

     $memberID = $_GET['memberID']; 

     $query = "delete from members where memberID = '$memberID';"; 

     $result = mysqli_query($connection, $query)      
      or die (mysqli_error($connection)); 

     $rc = mysqli_affected_rows($connection); 

     if($rc == 1) 
     { 
      echo "<p>You have successfully removed MemberID: {$memberID} from the database</p>"; 
      echo "<a href='list_delete_update_users.php'>Back to User List</a>"; 
     } 
     else 
     { 

     echo "<p>No record deleted</p>"; 
     echo "<a href='view_records.php'>Back to User List</a>"; 
     } 
?> 
+1

Ну, вы делаете это сами, смотрите здесь опечатка: '$ запрос =«Члены обновления установите MemberID = „#memberID“, ' –

ответ

0

Смотрите эту строку в коде обновления:

$query = "update members set memberID = '#memberID', username = '$username', password = '$password', 
       firstname = '$firstname', lastname = '$lastname', email = '$email', address = '$address' where memberID = '$memberID'"; 

решение: вы получили переменную через пост в $ MemberID, но при обновлении вы используете #memberID. Это может быть одной из ваших проблем.

0

Добавление и удаление не имеет ничего общего с вопросом, так что вы можете оставить это позади. Посмотрите на запрос: «set memberID = '#memberID». Вот ваша проблема. Кроме того, как возможно, что текст можно вставить в ячейку? Я полагаю, что столбец должен быть чем-то вроде unsigned int.

Наконец, посмотрите на параметризованные запросы

+0

Все мои табличные типы данных устанавливаются VarChar –

+0

Спасибо за вашу помощь –

+0

@MatthewCampana Даже поле MemberID? ** не ** использовать varchar для вашего первичного ключа. – Alternatex

0

Я думаю, что его из-за вашего запроса на обновление. Проверьте это один раз правильно он имеет следующий

$query = "update members set memberID = '#memberID', username = '$username', password = '$password', 
      firstname = '$firstname', lastname = '$lastname', email = '$email', address = '$address' where memberID = '$memberID'"; 

Обратите внимание, что вы ставите MemberID = «#memberID» - Я думаю, вы должны положить MemberID = «$ MemberID» там.

+0

Спасибо .. мало что похоже на то, что так расстраивает –

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