www.webdeveloper.com
Results 1 to 6 of 6

Thread: Edit database

  1. #1
    Join Date
    Nov 2017
    Posts
    5

    Edit database

    So I want to edit a row from the database through a HTML-form. This is my code so far, but I'm stuck.
    I get ofcourse "Undefined variable: newMessage", but I'm not sure how to solve it.

    PHP Code:
    <?php
    if(isset($_POST['submit']))
    {
       if(isset(
    $_SESSION['email'])) {
        
    $name $_SESSION['email'];
        
    $id intval($_GET['id']);
        
    $newMessage $_POST['newMessage'];

        
    $sql "UPDATE posts SET message='$newMessage' WHERE id = $id AND name = '$name'";
        
    $result mysqli_query($db$sql) or die('SQL-error');

    }
    }

    ?>

    <form action="." method="POST">
       Message:
       <input type="text" name="newMessage" value="<?php echo $newMessage?>">
       <input type="submit" name="submit" value="Update">
    </form>

  2. #2
    Join Date
    Jul 2013
    Location
    Voorheesville NY USA
    Posts
    1,882
    I am assuming that you do have error checking enabled and that is where this message is coming from. What line number did it point to? Perhaps you could point it out?

    PS - I've not seen your action usage before. Do you really need that dot in the action attribute of the form tag? When people don't specify an exact script name there I usually see it left blank or completely out.
    JG
    PS - If you're posting here you should be using:

    error_reporting(E_ALL);
    ini_set('display_errors', '1');


    at the top of ALL php code while you develop it!

  3. #3
    Join Date
    Nov 2017
    Posts
    5
    Quote Originally Posted by ginerjm View Post
    I am assuming that you do have error checking enabled and that is where this message is coming from. What line number did it point to? Perhaps you could point it out?

    PS - I've not seen your action usage before. Do you really need that dot in the action attribute of the form tag? When people don't specify an exact script name there I usually see it left blank or completely out.
    The error refers to <input type="text" name="newMessage" value="<?php echo $newMessage; ?>">

    And yes, you're right about the form action. Not sure why there is a dot there.

  4. #4
    Join Date
    Jul 2013
    Location
    Voorheesville NY USA
    Posts
    1,882
    Silly me!

    I should have seen it. Ok - think about what your script is doing. You wisely check right off the bat whether or not you DO have a form submission. Many people don't do that and wonder why things are going screwy. And I noticed that. So now - think about what you script does next. It recognizes that there is no form data to process and then proceeds to do the form output for the user to provide input, correct? But - you are attempting to send a value to the client which you clearly have not yet defined. Initialize that value when there is no input to process so that it exists to send the blank form to the client.
    JG
    PS - If you're posting here you should be using:

    error_reporting(E_ALL);
    ini_set('display_errors', '1');


    at the top of ALL php code while you develop it!

  5. #5
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    22,286
    Yeah, simplest fix might be to just initialize that and any other variables to whatever default value (including "") you want if the conditions aren't met.
    PHP Code:
    <?php
    $name 
    '';
    $id '';
    $newmessage '';
    if(isset(
    $_POST['submit']))
    {
    "Well done....Consciousness to sarcasm in five seconds!" ~ Terry Pratchett, Night Watch

    How to Ask Questions the Smart Way (not affiliated with this site, but well worth reading)

    My Blog
    cwrBlog: simple, no-database PHP blogging framework

  6. #6
    Join Date
    Apr 2017
    Posts
    70
    You wisely check right off the bat whether or not you DO have a form submission.
    Except that he is doing it wrong. Depending on a button to be submitted in order for the script to work will completely fail in certain cases.

    OP, you need to check the Request Method
    PHP Code:
    if ($_SERVER['REQUEST_METHOD'] == 'POST'
    Do not create variables for nothing.

    Never ever put variables in your query. You need to use prepared statements. I recommend you use PDO

    Completely remove the form action

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center

"

"

X vBulletin 4.2.2 Debug Information

  • Page Generation 0.34791 seconds
  • Memory Usage 2,895KB
  • Queries Executed 13 (?)
More Information
Template Usage (34):
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (3)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (6)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (70):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates