Re: [PHP] One last try at this!
- From: lists@xxxxxxxxx (Jim Lucas)
- Date: Wed, 17 Jan 2007 17:10:20 -0800
Jim Lucas wrote:
Beauford wrote:forgot to say that all you need to do to get rid of the default values is remove the following two linesThis is what I am trying to do, and for the most part it works, but it alsoIn your regex you have a "." this will match anything
may be causing some of my other problems.
If $event contains invalid characters, I am returning a string that says
"Invalid Characters" So $result now contains the value 'Invalid Characters'.
Then $formerror['event'] = $result - is self explanatory.
If there are no errors nothing is returned and $result should contain
anything. But this doesn't always seem to be the case. This is one of the
problems I am having.
This is the code in a nutshell.
if($result = ValidateString($event)) { $formerror['event'] = $result;
function ValidateString($string) {
if(!preg_match("/^[-A-Za-z0-9_.' ]+$/", $string)) {
return "Invalid Characters";
} Thanks
try this:
<plaintext><?php
function ValidateString($string) {
if ( preg_match("/[^a-zA-Z0-9\_\.\' -]+/", $string) ) {
return "Invalid Characters";
}
return false;
}
$formerror = array();
$formerror['firstAttempt'] = 'first attempt';.
$formerror['secondAttempt'] = 'second attempt';
$event = "A-Z and a-z plus 0-9 and an '_' are allowed.";
if ( ( $result = ValidateString($event) ) !== false ) {
$formerror['firstAttempt'] = $result;
}
$event = "But bad chars like !@#$ and %^&* are not allowed.";
if ( ( $result = ValidateString($event) ) !== false ) {
$formerror['secondAttempt'] = $result;
}
var_dump($formerror);
?>
Jim Lucas
-----Original Message-----
From: Jim Lucas [mailto:lists@xxxxxxxxx] Sent: January 17, 2007 4:36 PM
To: Jay Blanchard
Cc: Beauford; PHP
Subject: Re: [PHP] One last try at this!
Jay Blanchard wrote:
[snip]equality
The second condition of each if statement does not contain$result has hadchecking, it sets the $result to ValidateString($event, "2"). That should be if($result == ValidateString($event, "2")) or if($result === ValidateString($event, "2"))What if the intension was to fail if the result of ValidateString() was false??
Then it should be writen as such.
if ( ( $result = ValidateString($event, "2") ) !== FALSE ) {
$formerror['event'] = $result;
}
[/snip]
Hmmm.....did you test that?
$result = ValidateString($event, "2") is always TRUE,something assigned to it unless the function ValidateStringreturns aFALSE. The OP never provided the code for the function so we just don't know. Also, the OP forgot to run subsequent conditions in an elseif check, instead he used 3 if statements that will beexecuted each time.
At one point he mentioned changing ValidateString() to return false on an error.
At least that is what I thought he said.
--
PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
- Follow-Ups:
- RE: [PHP] One last try at this!
- From: "Beauford"
- RE: [PHP] One last try at this!
- References:
- RE: [PHP] One last try at this!
- From: "Beauford"
- Re: [PHP] One last try at this!
- From: Jim Lucas
- RE: [PHP] One last try at this!
- Prev by Date: Re: [PHP] One last try at this!
- Next by Date: Re: [PHP] Storing values in arrays
- Previous by thread: Re: [PHP] One last try at this!
- Next by thread: RE: [PHP] One last try at this!
- Index(es):
Relevant Pages
|