Ive done several echo's and such to make sure info is in my variables before. When i do the first update on the page, i think the second one is running too. Either way, my record is being deleted for whatever reason...

Aside from some help with the current setup, i would like to know if there is another way of splitting up the sumbits, or if the current way i am doing this is sufficient enough.

// editusernew.php
// by Ryan Wood

// TODO: Gets a user name then sets all of the information in input boxes to be UPDATED.

require ($_SERVER["DOCUMENT_ROOT"]."/backend/config.php");
$connection = @mysql_connect($server, $db_user, $db_password) or die("Error: Could not connect to MySQL server");
mysql_select_db($database, $connection);

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Edit User</title>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
    <form action="<?php echo $PHP_SELF; ?>" method="get">
        User : <input name="user" type="text" maxlength="64"><br><br>
        <input value="Submit" type="submit">

$user = $_GET["user"];

$query = "SELECT * FROM userinfo WHERE user_name ='$user'";
$result = mysql_query($query);

$id = 0;

if(mysql_num_rows($result) > 0)
    $row = mysql_fetch_object($result);
    $id = $row->autoID;

<form action='<?php echo $PHP_SELF; ?>' method='post'>
            Username : <input name='txt_username' type='text' maxlength='64' value="<? echo $row->user_name; ?>">
            Password : <input name='txt_password' type='text' maxlength='64'>
            Email : <input name='txt_email' type='text' maxlength='64' value="<? echo $row->user_email; ?>">
            Percent Complete : <input name='txt_percentcomplete' type='text' maxlength='64' value="<? echo $row->percentcomplete; ?>">                <br><br>
            Temporary Price : <input name='txt_tempprice' type='text' maxlength='64' value="<? echo $row->tempprice; ?>">
            Amount Paid : <input name='txt_amountpaid' type='text' maxlength='64' value="<? echo $row->amountpaid; ?>">
            Date for completion : <input name='txt_datecomplete' type='text' maxlength='64' value="<? echo $row->dateforcomplete; ?>">                <br><br>
            <input value='Update' type='submit'>

$txt_username = $_POST["txt_username"];
$txt_email = $_POST["txt_email"];
$txt_percentcomplete = $_POST["txt_percentcomplete"];
$txt_tempprice = $_POST["txt_tempprice"];
$txt_amountpaid = $_POST["txt_amountpaid"];
$txt_datecomplete = $_POST["txt_datecomplete"];

/*if( ($txt_username != $row->user_name) ||
    ($txt_email != $row->user_email) ||
    ($txt_percentcomplete != $row->percentcomplete) ||
    ($txt_tempprice != $row->tempprice) ||
    ($txt_amountpaid != $row->amountpaid) ||
    ($txt_datecomplete != $row->dateforcomplete) )
    $query2 = "UPDATE userinfo SET user_name='$txt_username' WHERE autoID='$id'";
    mysql_query($query2, $connection);


10 Years
Discussion Span
Last Post by Woobag

Hi Woobag,
you should use

'<?php echo $_SERVER; ?>'

instead of

'<?php echo $PHP_SELF; ?>'

There is no problem with your UPDATE statement since php echo it nicely,but you've used $PHP_SELF incorrectly.
I hope this help you.
Good luck.


Thanks for the help mostafadotnet, but my problem appeared to be not the actual update query itself. Once i hit the first submit button the query was running with an "empty" value because it had not gotten the values from the POST. Therefore i simply adding an if statement correcting this flaw. Took me a week of on and off debugging to find that thing!

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.