Problems With Error Checking / Control Of POST Variables
I have a small form that on button press submits to a PHP file for further processing into a database. I have to change the script as it allows blank / nothing to be submitted to the database. The intention is that if any of the two form fields are blank (empty) then the page is resent stating that they have to fill in all the fields to post (to a database).
If I deliberately leave the fields blank and submit the form, querying the database shows that both fields are zero / null - so nothing was entered in to the database.
However, if I use an echo command to see what is going on (before the data is entered into a database) I get the $TheName field with a "1" and the $TheComment field with an unknown entry (it doesn't echo anything to the screen - but it's not empty).
The code I've used to test this is:
$TheName = $_POST[gbName]; $TheComment = $_POST[gbComment];
if (($TheName = NULL) or ($TheComment = NULL)) { echo 'Quick error check running:<BR>' echo "Name: $TheName<BR>"; echo "Comment: $TheComment"; exit; }
This does NOT execute as these fields are not empty. It only runs if I change to:
if (($TheName = !NULL) or ($TheComment = !NULL))
Which is pointless as it will always execute with genuine entries.
Using the amended code below:
if (($TheName = !NULL) or ($TheComment = !NULL)) { echo 'Quick error check running:<BR>' }
echo "Name: $TheName<BR>"; echo "Comment: $TheComment";
I get the result that both the echoed lines are displayed as blank (no "1").
View Complete Forum Thread with Replies
See Related Forum Messages: Follow the Links Below to View Complete Thread
Using Variables To Control What Is Selected In An Drop-down Menu?
I have a drop-down menu with the states. I don't necessarily want to have the menu dynamic with a database, but I want to be able to control what is selected using a variable. Code: <select name=state id=state> <option value="" selected>--</option> <option value="AL">Alabama</option> <option value="AK">Alaska</option> etc... </select>
Set_error_handler() And @ Error Control Operator
I mentioned this before, but I think my question got kind of lost. I'll make it one short question now. With set_error_handler('myErrorHandler') I bypass PHP's standard error handler, including the error control operator @. Can I still make @ work with my own error handler? Or, how would I avoid getting two warnings in: if (!($fp = @fopen('not_a_file', 'r'))) trigger_error("Can't open file", E_USER_WARNING); when using my own error handler?
Checking Check Boxes From Post
I have a group of five checkboxes that I need to check in a script after a post-operaiton. I was using the code: $drv1 = $_POST['driving_1'] but if the user left checkbox "driving_1" empty, i get a php error upon processing. So, I looked in the manual and found the fuction empty(). So I tried: If (empty($drv1)) { then do this } But it doesn't seem to be working. Actually, what I really want is if not equal to empty, something like: If (!empty($drv1)) { then do this }
Checking And Moving Variables ..
I have a variable called $Ident1 which is a few radio box selections and then I have $Ident2 which is a text box. What I'd like to do is check to see if $Ident1 is not empty [no selections were made] and move it to $Ident .. but if $Ident1 happens to be empty [data filled in for $Ident2] I'll move $Ident2 to $Ident .. both variables are not int, Does anyone understand this and knows how to go about doing it?
Checking Variables In An Include
could anybody explain the following phenomen : I have this line in my project : include "http://".$domain."/help/".$language."/".$defaultIndex."/".$help.".php"; This construct properly includes the file I need to. And the included file contains the following line : echo $domain; - and on this place comes nothing: obviously, the variable '$domain' is not set for the <help.php>.
Checking For Empty Variables
Can I use empty() to check to see if variables actually have data? Basically I want the script or something to check to see if there is data in the variables. If there is no data, give the user some instructions on writing some data (link to a form or admin panel). If there is data, then continue with writing to the database.
Error Checking
I have a classic problem: things run properly on my test server but don't work on the live server (different PHP version, different master Apache config, etc...) which I do not admin. In particular, for 'security reason' the access to the error.log file has long been disabled and I don't get any message on screen. Things just don't happen the way they should. I've tried putting various takes on this in my .htaccess to no avail: php_flag display_errors on php_value error_log /home/dargaud/logs/error.log # Nothing there php_value error_reporting E_ALL php_flag html_errors on php_flag log_errors on php_flag track_errors on What else can I try to troubleshoot issues without admin rights on the server ?
Error Checking On Date
I am writing a script that checks a date that was submitted from the previous form. In cold fusion where is a function called Isdate(variable) and if it came back false, then you kick out an error. I found the checkdate function, but you have to break the date into a Day Month and Year variables. Is there another way to check the date that I'm just not seeing?
Group Error Checking
Need to check a group of form inputs and want to run them in a group instead of separate statements. This is what i have so far and no luck any suggestions. I just put the form fields as variables in these to test and this is a far as I got before I realized this may not be the best way. Any suggestions? Code:
Validation & Error Checking Broken?
I'm validating a simple form for input via post ($PHP_SELF). Near the end I check for username and password. I'm using simple if, elseif, else statements. I require them to enter password twice and check that they match. Problem is script doesn't valide past username input and I dont know why!! If you don't enter a password it doesn't do the validation anymore, it just dies for some reason. I would greatly appreciate anyones help, I've stared at this thing for hours and hours. Here is code...
Form Input Error Checking
Have a form field being inserted, needs to only allow an integer value through. Which function do I want to use to check the passed var to see if there are any non-integer values present? PHP Code:
Error Checking Custom Forms
I am writing software that allows users to create custom html forms...when they place the forms on their pages using a display function the site visitor can fill them out. The info is passed to a processing page...it all works dandy if there are no errors. My question is, if there ARE errors what would be the best wasy to redirect the user back to the form..with the POST data in there. I have looked through the posts regarding headers and fsockopen and stuff like that....but I am not sure how to implement this. I can grab the $_SERVER['HTTP_REFERER'] from the form page....so I can send them back to the correct page. But I am unclear on the most efficient way to repopulate the form with the information they have submitted...in other words...how can I pass the data back to the form after realizing it had errors.
Even After Proper Error Checking, I Still Get PHP Warnings
I've this class method, which makes sure I've got a variable that is a resource: function close() { if (is_resource($this->datastoreResultsPointer)) { mysql_free_result($this->datastoreResultsPointer); mysql_close(); } } all the same, I'm getting these PHP errors: Warning: mysql_free_result(): 286 is not a valid MySQL result resource in /home/httpd/vhosts/monkeyclaus.org/httpdocs/media/audio/pdsIncludes/McDatastoreResultsMySql.php on line 89 Warning: mysql_close(): no MySQL-Link resource supplied in /home/httpd/vhosts/monkeyclaus.org/httpdocs/media/audio/pdsIncludes/McDatastoreResultsMySql.php on line 90
Error Checking For Unique Value In Database Table?
I am inserting data into user table which contains 5 fields, sounds simple enough normally but 2 of the fields are designated as UNIQUE. If someone does enter a value which already exists, how do I capture this specific error? Would it make more sense to actually run a SELECT query first and if that returned a result, then I use that for error checking and don't run insert until select returns nothing?
Do Professional PHP Programmers Use Error Checking In Their Code?
I've made it habit to check all returns in my code, and usually, on most projects, I'll have an error function that reports error messages to some central location. I recently worked on a project where someone suggested to me I was spending too much time writing error messages, and that I was therefore missing the benefit of using a scripting language. The idea, apparently, is that the PHP interpreter writes all the error messages that are needed, and that I shouldn't write such code myself. I was given the impression that if I needed extensive error checking, or strict typing, then I should use a real language, like Java, but if I'm going to use a scripting language like PHP or Ruby, then I should leave errors to the interpreter, since the whole point of using scripting languages is speed of development. Has anyone else heard this argument, and do you agree with it? I'm wondering how other PHP programmers handle error messages. Check everything or leave it to the PHP interpreter to tell you when there is an error? Which of these two functions is better, the one with error checking or the one without? function getWeblogEntries() { $query = "SELECT * FROM weblogs"; $result = mysql_query($query); $howManyWeblogEntries = mysql_num_rows($result); for ($i=0; $i < $howManyWeblogEntries; $i++) { $row = getRow($result); extract($row); echo "<h1>$headline</h1>"; echo "<h7>$date</h7>"; echo "<div class="mainContent">$mainContent</div>"; } } function getWeblogEntries() { $query = "SELECT * FROM weblogs"; $result = mysql_query($query); if ($result) { $howManyWeblogEntries = mysql_num_rows($result); for ($i=0; $i < $howManyWeblogEntries; $i++) { $row = getRow($result); if (is_array($row)) { extract($row); echo "<h1>$headline</h1>"; echo "<h7>$date</h7>"; echo "<div class="mainContent">$mainContent</div>"; } else { reportError("In getWeblogEntries, the function getRow failed to return an array on the $i iteration."); } } } else { reportError("In getWeblogEntries, the query to the database failed."); } }
Error Checking/code Comparison Tools
does anyone have a cool/free/cheap tool that they use for error-checking that would allow you to e.g. copy code from two different pages and find where they are different? I have some code that seems to work in one page but not in another and I can't find the difference. I could just copy and paste but then I wouldn't really learn anything.
PHP & CURL Installation Error (checking For Curl_easy_perform In-lcurl)
I'm trying to install the latest PHP4 version from the scratch. The configure string is following: ../configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-curl --enable-exif --enable-mbsting=all --with-gd --with-openssl --with-zlib-dir=/usr --with-zlib Everything goes well until the cURL should be configured. At that point, I will encounter an error like this: checking for CURL support... yes checking for CURL in default path... found in /usr checking for cURL 7.9.8 or greater... libcurl 7.12.1 checking for curl_easy_perform in -lcurl... no configure: error: There is something wrong. Please check config.log for more information. OK, let's check out the config.log: [root@finnpower php-4.3.10]# tail config.log #line 20458 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char curl_easy_perform(); int main() { curl_easy_perform() ; return 0; } Following cURL packages are installed: curl-7.12.1-1 curl-devel-7.12.1-1 In general, I have Fedora Core 3 installed with self-compiled Apache 2... almost with PHP 4.3.10 too.
Can't See My Post Variables
I work on an application which runs on our Intranet network, so security it's not a big issue, and my phpinfo() get me register_globals on (php 4.1.2 on a Debian system). The problems is that I can't see my post variables (only with $_POST) and I don't get it . Is there another setting wich overrides php.ini and stop my register_globals ->on to behave properly ?
With Variables And POST
On my online order form, I need to send a few variables to my credit-card processor. These variables are for non-secure customer comments, and will be sent through the usual metod, i.e., <form action="https://orderpage.ic3.com/hop/orderform.jsp" method="post"> However, one variable is a text-area box for a detailed customer comment, and this variable can get pretty long. But my credit-card processor has a 256 byte maximum length limit for all POSTed variables. However, I can add as many of these 256-byte variables as I like. So how can I accomplish this in the most simple, efficient, and elegant manner? How can I break up the text-area vaiable into 256-byte pieces and then send these variables via POST along with all of the other form variables which will be POSTed through the usual HTML means?
POST/GET Into Variables
how does this look? should this by me calling ... myforms = new forms(); work by turning all key/value pairs for both get and post into variable names of the same name as the get/post key, and the variable values as the values from the post/get? class forms { // Some stuff var $MyPosts; var $MyGets;...
Post Cookie Variables
I have a page that include on the top the result of a cookie (i come form a previous page with some inputs) in the second part of the page a form with name surname email etc etc On submit all the information (cookie + form) are sent by email... my problem is this: in the email doesn't appear the cookie values i try to create in the form tab a hidden fiel d with this value <input name="NewEoc" type="hidden" value="<?php echo $COOKIE['NewEoc'] ?>">
Variables Past By Get And Post
I'd like a generic include that goes at the top of all pages that mysql escapes the variables past to the script. Is there a way to refer to the each of the variables past, for example (in pseudo code): for(each $XX in (list of get/post variables)) { $$XX = mysql_escape_string($$XX); }
Empty Variables And 4.21 (POST/GET)
With global variables set to on, I always had the following in my script to make sure variables had a default value: if (empty($var)) { $var = 1;} Now with 4.21, I changed it to: if (empty($_GET['var'])) { $var = 1;} The problem is sometimes I use GET and sometimes I use POST. With global variables on it didn't matter. Now it does. Is there a way to do this? When I try if (empty($_GET['var']) || empty($_POST['var'])), it doesn't work because one or the other will always be empty at any one time.
Processing GET And POST Variables
Below is a function adapted from one found in phpMyEdit.class.php http://platon.sk/projects/release_l...hp?project_id=5 phpMyEdit is a form generator for PHP/MySQL. I think this function works great, especially for forms where data is redisplayed due to failed validation of user input. I wonder what the opinion of other PHP users would be. function get_cgi_var($name, $default_value = null) { // From the phpMyEdit project // Usage: $name = get_cgi_var('name'); static $magic_quotes_gpc = null; if ($magic_quotes_gpc === null) { $magic_quotes_gpc = get_magic_quotes_gpc(); } global $HTTP_GET_VARS; $var = @$HTTP_GET_VARS[$name]; if (! isset($var)) { global $HTTP_POST_VARS; $var = @$HTTP_POST_VARS[$name]; } if (isset($var)) { if ($magic_quotes_gpc) { if (is_array($var)) { foreach (array_keys($var) as $key) { $var[$key] = stripslashes(trim(strip_tags($var[$key]))); } return $var; } else { $var = stripslashes(trim(strip_tags($var))); } } } else { $var = @$default_value; } return $var; // If data is displayed/posted using htmlspecialchars($var) // return @$HTTP_POST_VARS ? html_entity_decode($var, ENT_QUOTES) : $var; }; $name = get_cgi_var('name');
POST Variables And Sockets...
I have a server that uses Cpanel, and my mail server is Cpanel's cppop. I am trying to create an email address. With an older version of Cpanel, you could use this command line through sockets. GET /frontend/x2/mail/doaddpop.html?email=emailaddress&domain=mysite.ca&password=emailpassword"a=10 HTTP/1.0 Authorization: Basic $pass That worked just fine because email addresses were created through GET variables. Now, they have changed it to POST variables. Now, I need to create an email address, while faking the following post variables: email domain password quota I know I need to use sockets, and pass the POST variables, but I have no idea how to.
Passing Variables With POST
I have a file named login.php that basically just checks if a username and password are in a MySQL database. If they aren't then it shows access denied. If they are then I want to pass the $name and $pass to project.php in a different directory. Code:
Looping Thru POST Variables
I need to know how to loop thru the variables my script receives from a form with action=post. I need to build a list of only those variables that comes from my checkboxes.
POST Variables Not Coming Through
For some reason, at random posts, the post variables don't get thru to the server. For example, if there is are two text fields: name and email... (I have register_globals on)... When I try to update the database with a query and use $name, $email, the $name is missing or the $email is missing. I am building an intranet application and all the 20 or so clients run IE. This happens very rarely. Something like once in 100 updates. But I can see this in the log files as update contact set name="", email="asda@pol.com" where contact_id=918. Notice the name field is blank. I have JS checks in the client side which does not allow blank name field.. Is this an IE random error? How do I get over this?
POST Variables From Programs
we are trying to make a program in C++ that will comminicate with a PHP script. But we dont know how to get the variables from the program. We got it figured out with perl/CGI, but PHP seems to be a better way to connect to SQL server. On PHP the GET works, its easy, but it's not secure enough. I need informtion on what headers does the PHP require to get the POSTed data from a program.
Sending Variables As POST?
I am currently trying to send information to another page using the POST method. Unfortuantley I can not find any information on how to do this. Currently I am trying Header ("Location: newpage.html?var=test&var2=test2"); Obviously this re-directs with the variables, but they are send using GET. Not what it need. Any ideas on how to post these variables to the new page?
Apache/PHP Post Variables
I'm working with someone on a PHP project. The other person is doing testing of scripts on their personal machine using Apache as a web server. The production server and the one I'm using are both using IIS. This other person reports that in their PHP scripts when tested with Apache, form variable sent via the POST method are not "coming through." (This is even using the "long method" of specifying them as $HTTP_POST_VARS['x'].) These same scripts work fine on the the IIS machine (the POST variable come through). I've looked online to see if I can find out if anything special must be specified in the Apache configuration to enable the POST method, and although I found other people posting similar problems, I saw no reference to a solution.
Forward POST-variables
I have a form which should be submitted with either of two actions. Tried with javascript but this seems unreliable. Now looking at php and a processor page as the action of the form (process.php) which then sends the user to the different actionpages...can't figure out how to forward the post-variables to the different pages. Code:
Post Variables From Header Redirect
I'm using header to redirect the browser to another page and in the url I've added ?var1=value1&var2=value2 to pass some argument as get to that script, can I pass in some way, arguments as post in this case ? may I do it in both methos at the same time ?
Passing Post Variables Using Fopen()
I'm trying to pull data from a website and read it into a file the I can parse. I've done the before to site without post variables but I can seem to get my statments to work with the post. Can someone help me out?below is the code I have so far. $url="www.somesitethatneedspostvariables.com"; $postdata = http_build_query( array( 'postvarname1' ='value1', 'postvarname2' ='value2' ) ); $opts = array('http' => array( 'method' ='POST', 'header' ='Content-type: application/x-www-form- urlencoded', 'content' =$postdata ) ); $context = stream_context_create($opts); $file = @fopen($url, "r", $content) or die("Connection Error, Please contact Webmaster ERROR CODE=0xDEADBEEF");
Get Unknown Number Of Variables From POST Or GET.
I am trying to create a page that redirects users to an advertiser's page. The reason for the redirect is statistics about who clicks where. The situation is simple when I only need to redirect them to a page, but some of the ads on my site include forms which put data in either POST or GET and I need to know how to allow my redirect page to take that data from POST or GET, whatever that data is, and pass it on to the page that the data were intended for. I think that once I get the data I can simply create a hidden form, on the redirect page, with the data from POST or GET already in it. However, I don't know how to get an arbitrary number of variables from POST or GET.
Search - Pass Variables Or Self Post
I've created a database of documents that is searchable by a variety of fields. Currently I have a PHP page called search.php with a form to get the keywords from the user and it then passes this back to itself, runs a query and displays the results. Doing it this way the address for the search page and the results of the search is the same. This all works fine and I'm happy with it but I was wondering if it should be implemented differently where the keywords are used as a part of the address like with search engines with Google. I don't know what the advantages or disadvantages is for either method so I'm keen to hear what others think is the best method.
How To Loop Through POST Variables And Contents
I am looking for a standard way/function to loop through all POST variables and their respective contents to update a database record. Here's my ideal to pass a function and it update: session variable - "ID" - that holds the record ID to update $_POST or $HTTP_POST_VARS The function would update the $_POST vaiables of the ID record with the $_POST variable's contents.
Get/Post Variables Not Showing Under Windows
I'm quite rusty with PHP and have a little issue. A script transmit parameters to itself through a simple form. It works fine when I run it on aproduction server (Linux+Apache+PHP4). When I run the same script on my development machine (Win2K+Apache2+PHP5) the submited variables don't show. Here's some simplified code: <HTML> <BODY> <?php print_r ($_SERVER); print_r ($submit); switch ($submit) { // ... } ?> <FORM METHOD=Get>Display content of:<BR> <INPUT TYPE=submit NAME=submit VALUE=APACD1> <INPUT TYPE=submit NAME=submit VALUE=APACD2> // ... </FORM> </BODY> </HTML>
PHP Not Populating Form Variables Passed Through POST Or GET
I"m running: Windows Xp SP2 Apache2 PHP5 MySQL4 Everything seems fine and dandy, and I can do scripting on server side, but for some reason I cannot get data from a form to be put into a variable. I have a simple form in an html page which submits, and in the php script that handles the input, none of the data in the form is going into the variables. My php.ini file does have all the GPC's in place(ie variable_order, the way they get processed).
How To Process Some Variables, Then Place Them Into POST And Redirect?
I'd like to do the following in PHP. Is there a way? Someone submits a form with data. I want to process the data, then once I'm done with it, take two of the variables, make them post variables and basically redirect the browser as if the user pressed the submit button with data filled in. The variables can't appear in the url.
How Do You Parse Post Variables To A Popup Window?
I know this isnt really a php question but can anyone tell me how you parse post variables to a popup window, here's my code so far, im trying to pass the value entered into a radio button: <head> <script language="JavaScript" type="text/JavaScript"> var win= null; function NewWindow(mypage,myname,w,h,scroll) { var winl = (screen.width-w)/2; var wint = (screen.height-h)/2; var settings ='height='+h+',' settings +='width='+w+',' settings +='top='+wint+',' settings +='left='+winl+',' settings +='scrollbars='+scroll+',' settings +='resizable=yes' win=window.open(mypage,myname,settings); if(parseInt(navigator.appVersion) >= 4){win.window.focus();} } <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); //--> </script> </head> <body> <form name="answer" action="result.php" method="post"> <input type="radio" name="group1" value="Milk"> Milk<br> <input type="radio" name="group1" value="Butter"> Butter<br> <input type="radio" name="group1" value="Cheese"> Cheese<br> <input type="submit" name="submit" value="submit" src="result.php" onClick="NewWindow(this.src,'name',âÆ',âÆ','yes');retur n false" > </form> </body>
Post Variables After Java Sort Are Lost
I have an HTML table that is being constructed from a MySQL table and displays a form that includes a check box on 1 of the fields on the form for each record. I have included in this PHP program a javascript routine called sorttable.js which is something I found on the internet for sorting tables and works quite well. The HTML table includes a check box on each record so the user can select certain records for passing to the next process. This works fine unless I sort the table on some column and then the POST variables are lost. When I run the following code there are no POST variables that will echo except the submit button. foreach ($_POST as $varName =$value){ echo ($varName . " = " . $value); } However, if I don't sort the table the POST variables will be echoed for every record in the table. I'm not sure why this is happening or how to go about solving it. When I check certain records on the form and then sort the table the checks themself don't disappear only the POST variables do. This prevents me from looping thru the ARRAY to determine the value of the POST check box for each record to see if it was checked. If I run the above code but don't sort it I will have several hundred POST variables (several for each record). Could someone give me an idea on how to solve this or offer some sort of work-around?
Forward To Page Alongwith Variables In POST
How to forward a page to another page alongwith the parameters passed into it I mean I have page a.php which is called with some parameters in $_POST and I require to pass these to another page with same variables in $_POST
Passing Variables In Frame Page By Post Method
Is it possible to send variables by post method through a submit button to a frames page, and have all 3 pages in the frame pick up the variable using the $_request[var] ?In other words, I click on a submit button. in form action method call index.php the index page has a top, main, and a left frame.how do i get each one of those to receive the variable, when i can only sendit to one page? or is it possible to send it to more than one page, but only action to one page?
Method Post Not Allowed Error
When I include a METHOD=POST in any script I get an error message "Method Post Not Allowed" when I run the page from a workstation.
|