Jump to content

Scripts from my book don't work-Why?


Recommended Posts

I recently bought [i]PHP 5/MySQL Programming for the absolute beginner,[/i] because I am. I have installed PHP 5.1.4 on my Mac OS X running Apache 1.3 and it works. When I call the info, the info page shows up.

However, when I try any of the scripts from the book, they don't work. So is there a version conflct? or something about the author's syntax that's wrong? Here is the code as I use it:

<title>Hi User</title>

<h1>Hi User</h1>

if (empty($username)) {
print <<<HERE
Please enter your name:
<input type = "text"
name = "username"><br>
<input type = "submit">

} else {
print "<h3>Hi there, $username!</h3>";
} //end

If it is really apparent to you, then I apologize. But I am only beginning and it's frustrating if I can't even use the code in a book for beginners. help. This is what I get:
Link to comment
Share on other sites

That's because the script in your book relies on REGISTER_GLOBALS being turned on, when very likely your csetup has it off (default setting of PHP nowadays).
Use $_REQUEST['username'] instead of just $username and it should work better.

I used $_REQUEST because I don't remember if the default method for a form is GET or POST, so $_REQUEST will work either way. But better would be to specify the method in the <form> tag:

print <<<HERE
<form name="myform" method="post" action="$_SERVER['PHP_SELF']">

Then you can use $_POST['username'].
Link to comment
Share on other sites

[quote author=guayaquil link=topic=104727.msg417960#msg417960 date=1155908601]
Thanks cook, but since I am going to be using so many scripts from this book, shouldn't I just turn on Register_Globals?

No. You should probably throw away the outdated book :)

Seriously - program properly rather than including a potential security problem. Register_globals is set as default OFF for very good reasons.
Link to comment
Share on other sites

[quote author=guayaquil link=topic=104727.msg417995#msg417995 date=1155911271]
how can it be updated the title says PHP 5.

That's a question for the authors. register_globals set to OFF has been the default setting in php for quite a long time.  Sounds like an old book with a new cover and a few php5 functions thrown in.
Link to comment
Share on other sites

NOOOOO! don't tell me I wasted €31 on an outdated book. So it's the difinitely the REGISTER_GLOBALS? the issue? Bummer. This is not very encouraging. Who knows what else would be outdated in the book. Is there a reference for updated tags/comands, etc. for PHP 5?
Link to comment
Share on other sites

  • 2 weeks later...
This thread is more than a year old. Are you sure you have something important to add to it?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.