Far
Far

Reputation: 55

PHP ODBC : Updating Form

I have a form and successfully connect them to the database.

Now I'm trying to update the data. Unfortunately, nothing happened when I click the submit button. I'm sure I miss something. Please help me, thank you.

config.php :

<?php

$conn=odbc_connect("dsn", "", "");

if (!$conn)
{
exit("Connection Failed : " . $conn);
}

?>

This is my code :

<?php

include "config.php";

ini_set('error_reporting', E_ALL);

error_reporting(-1);

$sql =  odbc_exec( $conn, "SELECT 

        UserId, 
        UserName,
        UserEmail

        FROM DBA.tblUser 
        WHERE UserId='".$_GET['UserId']."'");

if(isset($_POST['submit']))
{
    $UserId=$_POST["UserId"];
    $UserName=$_POST["UserName"];
    $UserEmail=$_POST["UserEmail"];

    //UPDATE

    $stmt = odbc_exec(  $conn, 
    "UPDATE DBA.tableUsers SET
    UserName = '$UserName',
    UserEmail ='$UserEmail'

    WHERE UserId=$UserId");

    if ($stmt) {

        echo "Update Success";
        echo    $UserName;
        echo    $UserEmail;

    } else {

        "Error : " . odbc_errormsg();
    }
}

?>

Form :

    <form class="form"  method="post">

    <tr>
    <td class = "userid">User ID</td>
    <td><?php echo $UserId = odbc_result($sql,'UserId');  ?></td>
    </tr>


    <tr>
    <td class = "name">User Name<span class="required">&nbsp; * &nbsp;</span></td>
    <td><input type="text" name="UserName" value="<?php echo $UserName = odbc_result($sql,'UserName');  ?>"></td>
    </tr>

    <tr>
    <td class = "email">Email<span class="required">&nbsp; * &nbsp;</span></td>
    <td><input type="text" name="UserEmail" value="<?php echo $UserEmail = odbc_result($sql,'UserEmail');  ?>"></td>
    </tr>

    <button name="submit" type="submit" value ="submit" >Update</button>

</form>

Upvotes: 0

Views: 1411

Answers (2)

Far
Far

Reputation: 55

I managed to get the answer with the same concept and variable.

config.php :

<?php

$conn=odbc_connect("dsn", "", "");

if ($conn) {

echo "Connected";

}

if (!$conn) {

exit("Connection Failed : " . $conn);

}

?>

code :

<?php

include "config.php";

$sql =  odbc_exec( $conn, "SELECT 

        UserId, 
        UserName,
        UserEmail

        FROM DBA.tblUser 
        WHERE UserId='".$_GET['UserId']."'");

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

        $UserName=$_POST["UserName"];
        $UserEmail=$_POST["UserEmail"];

        $stmt = odbc_exec($conn, 
        "UPDATE DBA.tblUser SET
        UserName = '$UserName',
        UserEmail ='$UserEmail'

        WHERE UserId='".$_GET['UserId']."'");

if ($stmt) {

        echo "Update Successfull";
        echo    $UserName;
        echo    $UserEmail;
} 

else {

       "Error : " . odbc_errormsg();
}
}

?>

html :

<!DOCTYPE html>
<html>
<head>
<title>Administration</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />   
<link rel="stylesheet" type="text/css" href="css/userpage.css" media="screen"/>

<body>

  <content>

  <div class="user-form">

  <div class="user-form-heading">Update User</div><br>

  <form class="form"  method="post">

  <h><table class ="user">


<!-- .................................. Updatable ....................................... -->
<tr>
<td class = "name">User Name<span class="required">&nbsp; * &nbsp;</span></td>
<td><input type="text" name="UserName" value="<?php echo $UserName = odbc_result($sql,'UserName');  ?>"></td>
</tr>

<tr>
<td class = "userid">User Id</td>
<td><?php echo $UserId = odbc_result($sql,'UserId');  ?></td>
</tr>

<tr>
<td class = "email">Email<span class="required">&nbsp; * &nbsp;</span></td>
<td><input type="text" name="UserEmail" value="<?php echo $UserEmail = odbc_result($sql,'UserEmail');  ?>"></td>
</tr>
<tr>
<td>
<f><button name="submit" type="submit" value ="submit" >UPDATE</button></f>
&nbsp;&nbsp;&nbsp;

</table>
</form>
</div>
</content>
</body>
</head>
</html>

Upvotes: 0

san A
san A

Reputation: 177

Replace

$UserName=$_POST["UserName"];

With

$UserName=$_POST["UserId"];

Why? Simply because in your form, you have name as UserId and not UserName

<input type="text" name="UserId" value="<?php echo $UserName = odbc_result($sql,'UserName');  ?>"></td>

Upvotes: 1

Related Questions