Problem updating database via form (PHP/HTML)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • lilbadger25
    New Member
    • Jan 2008
    • 1

    #1

    Problem updating database via form (PHP/HTML)

    I am trying to code a page that allows the user to edit the content that is drawn from the database. The fields show the correct data from the database, and you can type in the fields, but the database does not update when the "submit" button is clicked. It jumps to the events list page, as it should, but the information has not been changed.

    My code is as follows:

    Top of page
    [php]
    <? if (array_key_exis ts('_submit_che ck', $_POST)) {
    mysql_query("UP DATE events SET eventTitle = '$eventTitle', eventInfo = '$eventInfo', eventImage = '$eventImage' WHERE eventID = '$id'");
    header("Locatio n: eventsList.php" );
    }
    ?>[/php]

    Within the template
    [php]<?php
    mysql_select_db ($database_Site , $Site);
    $query = "SELECT * FROM events WHERE eventID = '$id'";
    $result = mysql_query($qu ery) or die ("Error in query: $query. " . mysql_error());
    $id = mysql_result($r esult,$i,"event ID");
    $eventTitle = mysql_result($r esult,$i,"event Title");
    $eventInfo = mysql_result($r esult,$i,"event Info");
    $eventImage = mysql_result($r esult,$i,"event Image");
    ?>
    <form action="<? echo $PHP_SELF; ?>" method="POST">
    <input type="hidden" name="_submit_c heck" value="1"/>
    <input type="hidden" name="eventID" value="<? echo $id; ?>">
    <tr>
    <td valign="top"><b ><font size="2" face="Arial, Helvetica, sans-serif">Title</font></b></td>
    <td><input size="50" maxlength="250" type="text" name="eventTitl e" value="<? echo $eventTitle; ?>">
    </td>
    </tr>
    <tr>
    <td valign="top"><b ><font size="2" face="Arial, Helvetica, sans-serif">Informat ion</font></b></td>
    <td><textarea name="eventInfo " cols="40" rows="10"><? echo $eventInfo; ?></textarea>
    </td>
    </tr>
    <tr>
    <td valign="top" align="left"><f ont face="Arial, Helvetica, sans-serif" size="2"><b>Ima ge</b></font></td>
    <td><input size="50" maxlength="250" type="text" name="eventImag e" value="<? echo $eventImage; ?>">
    </td>
    </tr>
    <tr align="center" valign="top">
    <td colspan=2><inpu t type="Submit" name="submit" value="Update">
    </td>
    </tr>
    </form>[/php]

    Any help would be appreciated.
  • mwasif
    Recognized Expert Contributor
    • Jul 2006
    • 802

    #2
    Hi lilbadger25,

    Welcome to TSDN!!!

    Originally posted by lilbadger25
    [php]
    <? if (array_key_exis ts('_submit_che ck', $_POST)) {
    mysql_query("UP DATE events SET eventTitle = '$eventTitle', eventInfo = '$eventInfo', eventImage = '$eventImage' WHERE eventID = '$id'");
    header("Locatio n: eventsList.php" );
    }
    ?>[/php]
    What is the value of $id and where you are assigning the value to it? To know the issue, use the following code
    [PHP]<?
    if (array_key_exis ts('_submit_che ck', $_POST)) {
    $query = "UPDATE events SET eventTitle = '$eventTitle', eventInfo = '$eventInfo', eventImage = '$eventImage' WHERE eventID = '$id'";
    mysql_query($qu ery);
    echo $query;
    exit;
    header("Locatio n: eventsList.php" );
    }
    ?>[/PHP]
    This will print the query. Please confirm if the printed query is correct or not.

    Post back what did you get from the above code?

    Comment

    Working...