in reply to Almost done with project.

Your HTML is fine not the cause of your current problem, and I don't see anything wrong with your script, either. Have you checked the browser error log? What gets returned to the browser when you submit the form?

I tried this with your HTML:

#!/usr/bin/perl use CGI ':standard'; use CGI::Carp 'fatalsToBrowser'; use warnings; my $q = CGI->new; print $q->header; $q->h1('you submitted the change!'); print $q->p("$_ = " . CGI::escapeHTML($q->param($_) // '-?-')) for qw< +name phone day>; print $q->end_html;

I get whatever I submit echoed back, as expected. Note the use of CGI::Carp to assist in diagnosis.

Replies are listed 'Best First'.
Re^2: Almost done with project.
by ww (Archbishop) on Jul 18, 2013 at 14:28 UTC

    "Your HTML is fine...."

    Not really, unless -- a la Bill Clinton -- what you mean depends on how you define "fine." It's not "fine" by the specs because, as noted above, it's lacking both head and body tags (and their closes) to satisfy the w3c "loose" standard and ... and it's not even close to "strict" ...nor to good practice.

    If you mean "is not the cause of your problem," it would be better to say that, than to make a statement which -- strictly or loosely -- does not comport with the facts.

    Even this version of OP's code is at least one short of a dozen in terms of compliance with w3c -- tho that ommission and some of the edits are inconsequential to OP's problem.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http:/ +/www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <title>"More-or-less 'fine' (eg: 'compliant') html"</title> </head> <body> <center> <!-- deprecated in favor of style sheets or even in-l +ine style --> <h1>Enter the user for whom you would like to change data.</h1> </center> <form action="http://127.0.0.1/cgi-bin/change.cgi" method="POST"> <!-- + see below --> <p> <label for="fullname">Change Full Name to: </label> <input name="fullname" id="fullname" size="15"><br> <!-- title ta +g omitted --> <label for="phone">New Phone Number: </label> <!-- blanks lines +, indents --> <input name="phone" id="phone" size="15"><br> <!-- for legibili +ty only --> <label for="day">New on-call day: </label> <input name="day" id="day" size="15"><br> <input type="submit"> # divs without attributes are often useful, +but a </p> # para with breaks is (at least arguably) mo +re # correct semantically and renders in essnti +ally # the same way. </form> </body> </html> <!-- NO spaces around any equals sign unless quoted for rendering -->
    If I've misconstrued your answer, apologies to all the electrons which were inconvenienced by the creation of this post.
      If you mean "is not the cause of your problem," it would be better to say that, than to make a statement which -- strictly or loosely -- does not comport with the facts.

      Agreed. I was imprecise. You intuited my meaning correctly; thanks for clarifying.

Re^2: Almost done with project.
by Chaotic Jarod (Novice) on Jul 18, 2013 at 14:20 UTC
    It's giving me a UTF-8 error of some sort, stating it was submitted in windows 1252 encoding.

      Error messages, cryptic as they may seem, are often fairly precise in what they state. When you say "a UTF-8 error of some sort", it means you gave up without reading and trying to decipher the "what" and "why" of the message. I suggest posting the actual message rather than an imprecise summary of it.


      Dave