Configuring Servers and Databases with Chrome - When Things Go Wrong
(Page 3 of 5 )
If things don’t work out, we can take a few steps to quickly isolate the cause of the problem. We can use either JavaScript alert or dump commands to see what we are sending and what we are retrieving. We can also use simplified PHP scripts to return a known value to make certain the script is doing what we think.
Assuming we want todump information to the screen, we could make the following changes to thedoServerRequestfunction in our newssearch.js code:
theServerRequest.onreadystatechange = retrieveServerResponse;
theServerRequest.open("GET",theString,true);
dump("About to send " + theString + "\n");
theServerRequest.send(null);
And we could report the entire string returned in ourretrieveServerResponsefunction:
if (theServerRequest.status == 200) { // request terminated OK
dump("Received from server: " + theServerRequest.responseText + "\n");
if (theServerRequest.responseText == "true") { // all OK
We can also stub out our login check in doCommand.php just to return the parameters we received from the client:
/* echo check_user($uName,$uPass); */
echo 'Script has received: '."$cmd".','."$uName".','."$uPass";
We have removed the call to check_user in favor of a change to echo a string that concatenates (using the . operator in PHP) a simple message with the values for command, username, and password.
When we launch Firefox from the command line with the–consoleoption, we will see our sent and retrieved strings displayed on the console:
About to send http://localhost/doCommand.php?&command=
login&un=SomeUser&pd=SomePass
Received from server: Script has received: login,SomeUser,SomePass
For developers just beginning to work with PHP, includingechostatements to use the browser to display variable values is often the best way to identify many of the most common PHP coding errors. Displaying variable values is one sure way to quickly identify problems related to misuse of the single quote (used to form strings with special characters), double quote (used to assemble strings that include the
evaluation of variables), and terminating semicolons. Echoing variables is also a good tool to find misspelled variable names and the occasionally misplaced$variable prefix.
We change our command parser to remove thedebug echostatement and uncomment the call tocheck_userthat will now be used with a database of valid user identifiers.
Next: Adding a Database >>
More Web Standards Articles
More By O'Reilly Media
|
This article is excerpted from chapter four of Programming Firefox, written by Kenneth C. Feldt (O'Reilly, 2007; ISBN: 0596102437). Check it out today at your favorite bookstore. Buy this book now.
|
|