|
Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com |
From: php-general-digest-help
lists.php.netDate: Sun May 26 2002 - 15:04:59 CDT
php-general Digest 26 May 2002 20:04:59 -0000 Issue 1368
Topics (messages 99286 through 99317):
PHP and JavaScript
99286 by: mp
99287 by: SP
99293 by: Vincent Kruger
Re: please help!!
99288 by: Olexandr Vynnychenko
Re: Need some advice concerning forms (multi select pulldown) and arrays
99289 by: Victor Spång Arthursson
99294 by: John Holmes
99296 by: Victor Spång Arthursson
99301 by: Victor Spång Arthursson
99303 by: Miguel Cruz
Re: inspirational
99290 by: Michael Virnstein
99291 by: Michael Virnstein
99292 by: Michael Virnstein
99295 by: John Holmes
arrays
99297 by: Michael Hall
99299 by: Michael Virnstein
99307 by: Philip Olson
E-mail via WAP
99298 by: Rosen
Re: NewBie-UPLOADING IMAGE
99300 by: Evan
Re: Extract ZIP archives
99302 by: Analysis & Solutions
Re: 4.2.1 Vars
99304 by: Philip Olson
regex help
99305 by: Jeff Field
99306 by: Miguel Cruz
Parsing PHP output
99308 by: Mark
99309 by: Ray Hunter
ini_set('register_globals',0) doesn't work
99310 by: Jens Lehmann
Calendar
99311 by: jtjohnston
99312 by: jtjohnston
99313 by: jtjohnston
99314 by: jtjohnston
Simulating a FORM POST thing (HELP!)
99315 by: Georgie Casey
99316 by: Peter
99317 by: Georgie Casey
Administrivia:
To subscribe to the digest, e-mail:
php-general-digest-subscribe
lists.php.net
To unsubscribe from the digest, e-mail:
php-general-digest-unsubscribe
lists.php.net
To post to the list, e-mail:
php-general
lists.php.net
----------------------------------------------------------------------
attached mail follows:
Hi, php-general,
I make this kind of PHP script(script.php):
script.php
<?
$variable = "Some some long long Text Blah blah";
echo "document.write(\"".$variable."\")";
?>
And in HTML (other.html) file I write:
<script language="JavaScript" src="script.php"></script>
But there is some mistake. Does anybody can help me?
Thanks...
attached mail follows:
It worked for me, what error are you getting?
In the other.html, did you have this?
<html>
<head>
<title></title>
<script language="JavaScript"
src="script.php"></script>
</head>
<body>
</body>
</html>
-----Original Message-----
From: mp [mailto:lietuva
xxx.lt]
Sent: May 26, 2002 3:05 AM
To: php-general
lists.php.net
Subject: [PHP] PHP and JavaScript
Hi, php-general,
I make this kind of PHP script(script.php):
script.php
<?
$variable = "Some some long long Text Blah
blah";
echo "document.write(\"".$variable."\")";
?>
And in HTML (other.html) file I write:
<script language="JavaScript"
src="script.php"></script>
But there is some mistake. Does anybody can help
me?
Thanks...
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
attached mail follows:
You need to define the type of file you are creating. Like when you create wml pages with php.
Header("Content-Type: text/javascript"); or summing to that effect.
have a look at www.weberdev.com
"Mp" <lietuva
xxx.lt> wrote in message
news:693446386.20020526100503
xxx.lt...
> Hi, php-general,
>
> I make this kind of PHP script(script.php):
> script.php
> <?
> $variable = "Some some long long Text Blah blah";
> echo "document.write(\"".$variable."\")";
> ?>
>
> And in HTML (other.html) file I write:
> <script language="JavaScript" src="script.php"></script>
>
> But there is some mistake. Does anybody can help me?
> Thanks...
>
attached mail follows:
Hello Jolly,
Sunday, May 26, 2002, 10:58:45 AM, you wrote:
JN> Olexandr,
JN> <?PHP
JN> /* I can get the values from these */ JN> foreach ($HTTP_POST_VARS as $var => $value) { JN> echo "$var = $value<br>\n"; JN> } JN> /**************************/
JN> /*however empty for this sentence*/ JN> echo "equals ".($t1+$t2); JN> /**************************/
JN> echo "<form action='$PHP_SELF' METHOD='POST'>\n"; JN> echo "<input type='text' name='t1'>\n"; JN> echo "<input type='text' name='t2'>\n"; JN> echo "<input type='submit' name='Submit' value='Submit'>\n"; JN> echo "</form></p>\n"; ?>>
JN> P.S. I have set "register_globals = On", but still not work JN> The attached files are my config files of php and apache!
I looked through your configuration files and didn't notice any serious differences between them and my ones. I have PHP 4.2.1/Apache 2.0.36 on WinXP Pro. My register_globals was off. When I made it On your scipt worked properly. I don't know what the reason. What PHP you have?
I attached my php.ini. Maybe you can find some important things. Another one question: does $PHP_SELF give proper value? It must not be set if register_globals=off. So if $PHP_SELF is set to some value, then global variables are registered.
And the last question: why do you use global variables? It's much easier to use superglobal arrays $_POST, $_SERVER, etc. They guarantee that any values passed to your script won't be mixed.
-- Best regards, Olexandr mailto:supaboyi.com.ua
- application/x-zip-compressed attachment: php.ini.zip
attached mail follows:
Hello and thanks for your fast answer!
I'ld like to know if there is any possibility to distinguish the selects if I've multiple multiple selects, that is, more than one on the same page? What I'm loooking for is the possibility to have an unknown number of multiple selects on the same page....
Is it possible? Anyone who can describe how to do this or provide a link to some tutorial? And also, where in the manual can I read about this?
Sincerely,
Victor
On lördag, maj 25, 2002, at 08:59 , Miguel Cruz wrote:
> Have a play with this little program - it should demonstrate all of the > things you'd want to do with getting data in and out of mult selects. If > it doesn't work, you may have an older version of PHP - in that case, > change "$_REQUEST" to "$HTTP_POST_VARS" and "$_SERVER['PHP_SELF']" to > "$PHP_SELF". > > --------------- > <? > > $choices = array(1 => 'dog', 2 => 'cat', 3 => 'mouse', 4 => 'frog'); > > if (is_array($_REQUEST['animals'])) > { > print '<p>You chose:</p><ul>'; > foreach ($_REQUEST['animals'] as $animal_id) > print "<li>{$choices[$animal_id]}</li>"; > print '</ul><hr>'; > } > > ?><form method="post" action="<?= $_SERVER['PHP_SELF'] ?>"> > <select multiple name="animals[]"><? > > foreach ($choices as $id => $name) > print '<option ' > . (in_array($id, $_REQUEST['animals']) ? 'selected ' : '') > . "value='$id'>$name</option>"; > > ?></select><input type="submit"></form> >
attached mail follows:
Just give each select its own name. Or name them all the same followed by an [] and you'll end up with a multi-dimensional array if things go right...
<select name='one'> ... <select name='two'>
---John Holmes...
> -----Original Message-----
> From: Victor Spång Arthursson [mailto:scooterbabe
mac.com]
> Sent: Sunday, May 26, 2002 5:49 AM
> To: php-general
lists.php.net
> Subject: Re: [PHP] Need some advice concerning forms (multi select
> pulldown) and arrays
>
> Hello and thanks for your fast answer!
>
> I'ld like to know if there is any possibility to distinguish the
selects
> if I've multiple multiple selects, that is, more than one on the same
> page? What I'm loooking for is the possibility to have an unknown
number
> of multiple selects on the same page....
>
> Is it possible? Anyone who can describe how to do this or provide a
link
> to some tutorial? And also, where in the manual can I read about this?
>
> Sincerely,
>
> Victor
>
> On lördag, maj 25, 2002, at 08:59 , Miguel Cruz wrote:
>
> > Have a play with this little program - it should demonstrate all of
the
> > things you'd want to do with getting data in and out of mult
selects. If
> > it doesn't work, you may have an older version of PHP - in that
case,
> > change "$_REQUEST" to "$HTTP_POST_VARS" and "$_SERVER['PHP_SELF']"
to
> > "$PHP_SELF".
> >
> > ---------------
> > <?
> >
> > $choices = array(1 => 'dog', 2 => 'cat', 3 => 'mouse', 4 =>
'frog');
> >
> > if (is_array($_REQUEST['animals']))
> > {
> > print '<p>You chose:</p><ul>';
> > foreach ($_REQUEST['animals'] as $animal_id)
> > print "<li>{$choices[$animal_id]}</li>";
> > print '</ul><hr>';
> > }
> >
> > ?><form method="post" action="<?= $_SERVER['PHP_SELF'] ?>">
> > <select multiple name="animals[]"><?
> >
> > foreach ($choices as $id => $name)
> > print '<option '
> > . (in_array($id, $_REQUEST['animals']) ? 'selected ' : '')
> > . "value='$id'>$name</option>";
> >
> > ?></select><input type="submit"></form>
> >
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
attached mail follows:
On Sunday, May 26, 2002, at 01:14 PM, John Holmes wrote:
> Just give each select its own name.
Can't do that, don't know from time to time how many there'll be.... And I've to have some case which iterates on the following page...
> Or name them all the same followed > by an [] and you'll end up with a multi-dimensional array if things go > right...
Sounds better - but I've a lot of items and I'ld like to know which of the arrays that go to which item... Can I just write …name=array[whateverid] and then in some way reveal the whateverid's?
Sincerely
Victor
attached mail follows:
Ok, I can't get this right...
Have the following code:
<?
$choices = array(1 => 'dog', 2 => 'cat', 3 => 'mouse', 4 => 'frog');
if (is_array($_REQUEST['animals'])) { // get the number of selectcases echo "get the number of selectcases: " . count($animals) . "<br>"; // get the number of provided selects from select with name "2" echo "get the number of provided selects from select with name \"2\": " . count($animals[2]) . "<br>"; // test to print some data echo $animals[2][0]. "<br>"; echo $animals[2][1]. "<br>"; echo $animals[2][2]. "<br>"; echo $animals[2][3]. "<br>"; } ?> <form method="post" action="<?= $_SERVER['PHP_SELF'] ?>"> <select multiple name="animals[2]"> <option value='1'>dog</option> <option value='2'>cat</option> <option value='3'>mouse</option> <option value='4'>frog</option> </select>
<select multiple name="animals[4]"> <option value='1'>dog</option> <option value='2'>cat</option> <option value='3'>mouse</option> <option value='4'>frog</option> </select> <input type="submit"></form>
Why does it not work?
// get the number of selectcases echo "get the number of selectcases: " . count($animals) . "<br>";
This works great // get the number of provided selects from select with name "2" echo "get the number of provided selects from select with name \"2\": " . count($animals[2]) . "<br>";
But this doesn't...
Thankful for any help,
/Victor
On Sunday, May 26, 2002, at 05:35 PM, John Holmes wrote:
> You can supply an "whateverID" for the select if you want to.
>
> <select name="select[]">
> <option ...
> </select>
>
> <select name="select[]">
> <option ...
> </select>
>
> etc...
>
> That will give you an array $select[] on the processing page. If the
> selects are multi-selects, you'll have a multidimensional array. The
> first chosen element in the first select box can be referenced like this
>
> $select[0][0]
>
> You can get a count of how many select boxes there are by doing
>
> count($select);
>
> You can get a count of how many elements were selected within a select
> you can do this:
>
> count($select[x]);
>
> Where x is the number of the select box you want to know about.
>
> Confusing, eh?
>
> ---John Holmes...
>
>> -----Original Message-----
>> From: Victor Spång Arthursson [mailto:scooterbabe
mac.com]
>> Sent: Sunday, May 26, 2002 7:44 AM
>> To: holmes072000
charter.net
>> Subject: Re: [PHP] Need some advice concerning forms (multi select
>> pulldown) and arrays
>>
>>
>> On Sunday, May 26, 2002, at 01:14 PM, John Holmes wrote:
>>
>>> Just give each select its own name.
>>
>> Can't do that, don't know from time to time how many there'll be....
> And
>> I've to have some case which iterates on the following page...
>>
>>> Or name them all the same followed
>>> by an [] and you'll end up with a multi-dimensional array if things
> go
>>> right...
>>
>> Sounds better - but I've a lot of items and I'ld like to know which of
>> the arrays that go to which item... Can I just write
>> …name=array[whateverid] and then in some way reveal the whateverid's?
>>
>> Sincerely
>>
>> Victor
>
>
attached mail follows:
On Sun, 26 May 2002, Victor Spång Arthursson wrote: > <select multiple name="animals[2]">
change this to:
<select multiple name="animals[2][]">
> <select multiple name="animals[4]">
and this to:
<select multiple name="animals[4][]">
because you want animals[2] and animals[4] to be arrays, not scalar values.
miguel
attached mail follows:
try:
$url = preg_replace('/^(http:\/\/)[^\/]+(\/.*)$, '\\1$SERVER_NAME\\2', $SCRIPT_URI);
Michael
"Jtjohnston" <taylorjo
collegesherbrooke.qc.ca> schrieb im Newsbeitrag
news:3CF0750E.C565AF1
collegesherbrooke.qc.ca...
> I want to detect the url my .php lies in.
>
> This is over kill and BS:
>
> $myurlvar = "http://".$SERVER_NAME.parse($SCRIPT_NAME);
>
> How do I get "http://foo.com/dir1/dir2/dir3/".
>
> There seems to be nothing in phpinfo() that will give me a full url to
> play with.
>
> Flame me if you will, but I browsed TFM and found nothing inspirational.
>
> Looked at phpinfo() too and got discouraged.
>
> I need a full url.
>
> John
>
>
attached mail follows:
typo:
$url = preg_replace('/^(http:\/\/)[^\/]+(\/.*)$/', '\\1$SERVER_NAME\\2', $SCRIPT_URI);
Michael
"Michael Virnstein" <michael.virnstein
web.de> schrieb im Newsbeitrag
news:20020526100647.51968.qmail
pb1.pair.com...
> try:
>
> $url = preg_replace('/^(http:\/\/)[^\/]+(\/.*)$, '\\1$SERVER_NAME\\2',
> $SCRIPT_URI);
>
> Michael
>
> "Jtjohnston" <taylorjo
collegesherbrooke.qc.ca> schrieb im Newsbeitrag
> news:3CF0750E.C565AF1
collegesherbrooke.qc.ca...
> > I want to detect the url my .php lies in.
> >
> > This is over kill and BS:
> >
> > $myurlvar = "http://".$SERVER_NAME.parse($SCRIPT_NAME);
> >
> > How do I get "http://foo.com/dir1/dir2/dir3/".
> >
> > There seems to be nothing in phpinfo() that will give me a full url to
> > play with.
> >
> > Flame me if you will, but I browsed TFM and found nothing inspirational.
> >
> > Looked at phpinfo() too and got discouraged.
> >
> > I need a full url.
> >
> > John
> >
> >
>
>
attached mail follows:
but the scriptname itself will be included there. Try this, if you don't want the scriptname to be included.:
$url = preg_replace('/^(http:\/\/)[^\/]+((\/[^\/])*\/)([^\/]+)$/', '\\1$SERVER_NAME\\2', $SCRIPT_URI);
Haven't tested them, but should work.
Michael
"Michael Virnstein" <michael.virnstein
web.de> schrieb im Newsbeitrag
news:20020526100917.54125.qmail
pb1.pair.com...
> typo:
>
> $url = preg_replace('/^(http:\/\/)[^\/]+(\/.*)$/', '\\1$SERVER_NAME\\2',
> $SCRIPT_URI);
>
> Michael
>
> "Michael Virnstein" <michael.virnstein
web.de> schrieb im Newsbeitrag
> news:20020526100647.51968.qmail
pb1.pair.com...
> > try:
> >
> > $url = preg_replace('/^(http:\/\/)[^\/]+(\/.*)$, '\\1$SERVER_NAME\\2',
> > $SCRIPT_URI);
> >
> > Michael
> >
> > "Jtjohnston" <taylorjo
collegesherbrooke.qc.ca> schrieb im Newsbeitrag
> > news:3CF0750E.C565AF1
collegesherbrooke.qc.ca...
> > > I want to detect the url my .php lies in.
> > >
> > > This is over kill and BS:
> > >
> > > $myurlvar = "http://".$SERVER_NAME.parse($SCRIPT_NAME);
> > >
> > > How do I get "http://foo.com/dir1/dir2/dir3/".
> > >
> > > There seems to be nothing in phpinfo() that will give me a full url to
> > > play with.
> > >
> > > Flame me if you will, but I browsed TFM and found nothing
inspirational.
> > >
> > > Looked at phpinfo() too and got discouraged.
> > >
> > > I need a full url.
> > >
> > > John
> > >
> > >
> >
> >
>
>
attached mail follows:
If you're getting this discouraged over creating a URL, then maybe you should give this stuff up. There's no variable that gives you the full URL of your script, deal with it.
What is this parse() function you're using? What does it do? Why is this "over kill and BS"?
Try this:
$myurlvar = http:// . $SERVER_NAME . dirname($SCRIPT_NAME);
---John Holmes...
> -----Original Message-----
> From: jtjohnston [mailto:taylorjo
collegesherbrooke.qc.ca]
> Sent: Sunday, May 26, 2002 1:39 AM
> To: php-general
lists.php.net
> Subject: [PHP] inspirational
>
> I want to detect the url my .php lies in.
>
> This is over kill and BS:
>
> $myurlvar = "http://".$SERVER_NAME.parse($SCRIPT_NAME);
>
> How do I get "http://foo.com/dir1/dir2/dir3/".
>
> There seems to be nothing in phpinfo() that will give me a full url to
> play with.
>
> Flame me if you will, but I browsed TFM and found nothing
inspirational.
>
> Looked at phpinfo() too and got discouraged.
>
> I need a full url.
>
> John
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
attached mail follows:
A couple of simple ones here ... the usual references don't appear to give a straightforward answer on these:
Can arrays be passed to functions just like a simple variable?
Can arrays be passed as values in hidden form fields just like a simple variable?
I've been playing around with these and getting inconsistent results. I've been trying things like serialize and urlencode, but still haven't worked out a straightforward 'rule' or policy.
Can someone throw some light on this?
TIA Michael
attached mail follows:
> Can arrays be passed to functions just like a simple variable? yes, no difference. You can pass every variable to a function, you can pass constants or your values directly. You have to use a variable if a function requires passing by reference or if you want to pass by refernce, because only variables can take the value back.
> Can arrays be passed as values in hidden form fields just like a > simple variable?
yes, but differently. either you serialize the array, send it urlencoded to the page and unserialze it there: //page1.php: <?php $array = array(1,2,3,4,5); $array = urlencode(serialize($array)); ?> <a href="page2.php?array=<?php echo $array; ?>">Page2</a> //or input field: <input type="hidden" name="array" value="<?php echo $array; ?>">
//page2.php <?php $array = unserialize($array); print_r($array); ?>
or you can appen urls like this, no serialization or sth needed then both pages: numerical indexed arrays: <a href="page2.php?array[]=1&array[]=2&array[]=3&array[]=4&array[]=5">Page2</a> or <a href="page2.php?array[0]=1&array[1]=2&array[2]=3&array[3]=4&array[4]=5">Page 2</a> string indexed arrays: <a href="page2.php?array[test1]=1&array[test2]=2&array[test3]=3&array[test4]=4& array[test5]=5">Page2</a>
or with forms:
numerical indexed arrays: <input type="hidden" name="array[]" value="1"> <input type="hidden" name="array[]" value="2"> <input type="hidden" name="array[]" value="3"> <input type="hidden" name="array[]" value="4"> <input type="hidden" name="array[]" value="5"> or <input type="hidden" name="array[0]" value="1"> <input type="hidden" name="array[2]" value="2"> <input type="hidden" name="array[3]" value="3"> <input type="hidden" name="array[4]" value="4"> <input type="hidden" name="array[5]" value="5"> string indexed arrays: <input type="hidden" name="array[test1]" value="1"> <input type="hidden" name="array[test2]" value="2"> <input type="hidden" name="array[test3]" value="3"> <input type="hidden" name="array[test4]" value="4"> <input type="hidden" name="array[test5]" value="5">
Michael
"Michael Hall" <olc
ninti.com> schrieb im Newsbeitrag
news:Pine.LNX.4.21.0205262226310.740-100000
localhost.localdomain...
>
> A couple of simple ones here ... the usual references don't appear to give
> a straightforward answer on these:
>
> Can arrays be passed to functions just like a simple variable?
>
> Can arrays be passed as values in hidden form fields just like a
> simple variable?
>
> I've been playing around with these and getting inconsistent results.
> I've been trying things like serialize and urlencode, but still haven't
> worked out a straightforward 'rule' or policy.
>
> Can someone throw some light on this?
>
> TIA
> Michael
>
attached mail follows:
> Can arrays be passed to functions just like a simple variable?
Yes.
> Can arrays be passed as values in hidden form fields just like a > simple variable?
Yes, with a little work.
> I've been playing around with these and getting inconsistent > results. I've been trying things like serialize and urlencode, > but still haven't worked out a straightforward 'rule' or policy.
For example:
$arr = array('color' => 'red', 'fruit' => 'apple');
$str_arr = urlencode(serialize($arr));
<input type="hidden" name="foo" value="<?php echo $str_arr ?>">
And in the action script, do:
$arr = unserialize(stripslashes($_REQUEST['foo']));
Notes:
a) stripslashes may be needed, in case magical quotes get in the way (magic_quotes_gpc). b) am using $_REQUEST, you may use $_GET or $_POST or whatever contains the form value. c) hidden, text, textarea ... doesn't matter. d) a way to test if what _should_ be an array is really an array is with print_r() and/or is_array(). print_r($arr); e) we don't need urldecode() because that'll happen automatically when going through the form. f) you could use implode() instead of serialize too.
> Can someone throw some light on this?
I hope so :)
Regards, Philip Olson
attached mail follows:
Hi, can someone tell me is there a script for sending and receiving a mail via WAP ?
Thanks, Rosen
attached mail follows:
This works for me (WinXPpro, IIS, PHP 4.1.2):
<?php if (isset($HTTP_POST_VARS["MAX_FILE_SIZE"])) if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) { copy($HTTP_POST_FILES['userfile']['tmp_name'], "upload/".$HTTP_POST_FILES['userfile']['name']); move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "upload/".$HTTP_POST_FILES['userfile']['name']); } else { echo "Possible file upload attack. Filename: " . $HTTP_POST_FILES['userfile']['name']; }
?>
Hope it will help
bye, evan
"Dani" <universal2001
iprimus.com.au> ha scritto nel messaggio
news:3CF016EF.7FD24684
iprimus.com.au...
> Hi,
>
> I want to upload image file into a folder in webserver using HTML form.
> What function do I use fo this purpose?
>
> Thank you,
>
> Dani
>
attached mail follows:
On Sat, May 25, 2002 at 05:41:24PM -0600, Kevin Stone wrote:
> If so what would the unix command be to expand and create ZIP > archives? > How would I tie that into my PHP script using the system() function?
system("unzip $filename"); or exec("unzip $filename"); or passthru("unzip $filename"); or `unzip $filename`;
--Dan
--
PHP classes that make web design easier
SQL Solution | Layout Solution | Form Solution
sqlsolution.info | layoutsolution.info | formsolution.info
T H E A N A L Y S I S A N D S O L U T I O N S C O M P A N Y
4015 7 Av #4AJ, Brooklyn NY v: 718-854-0335 f: 718-854-0409
attached mail follows:
> With register_globals OFF in your php.ini file, all of the user input is > present in the _GET, _POST, _REQUEST, or _COOKIE array. With > register_globals ON, then the variables are registered as regular variables. > If you have a URL like page.php?id=1, then with them OFF, you have to use > $_GET["id"] to get the value of one, with them ON, you can just use $id.
Just to be clear, $_GET['id'] will work fine with register_globals on or off. In otherwords, these php predefined variables will exist either way. Just like the older non-super ones, such as $HTTP_GET_VARS.
Regards, Philip Olson
attached mail follows:
This is not really specific to PHP (although the information might be useful for all that form validation we all do), and for that I apologize in advance (does anyone know of a regex mailing list?), but maybe someone here can help with the following:
I find no good regex for checking valid domain names. None that I have seen take into account the fact that, although dashes ("-") and dots (".") are allowed in a domain name, the domain name can neither begin with nor end with a dash or dot, and additionally, two dashes or two dots in a row are not allowed and a dash followed by a dot or a dot followed by a dash are not allowed.
So, I've come up with two regex's for checking domain names. The first one checks that the name contains alphanumerics, the dash and the dot, and neither begins with or ends with a dash or dot:
^[a-z0-9]$|^[a-z0-9]+[a-z0-9.-]*[a-z0-9]+$
The second one checks that two dashes and two dots are not together and that a dash followed by a dot or a dot followed by a dash are not together:
--|\.\.|-\.|\.-
Putting it all together, the way I check for a valid domain name is with the following:
if (eregi("^[a-z0-9]$|^[a-z0-9]+[a-z0-9.-]*[a-z0-9]+$", $domain_name) != true OR eregi("--|\.\.|-\.|\.-", $domain_name) == true { error; }
So, my question (finally!) is this:
Is there any way to combine both expressions (basically, one part that checks for false and one part that checks for true) into one regex that just returns true or false? I haven't been able to find any documentation that shows me how to do that, basically a "like this but not like this" syntax.
BTW, anticipating someone mentioning the fact that the above regex's don't check for a domain name ending with a dot followed by three characters max (as in .com, .net, etc.), it's because that long-held truth is no longer true. We now have .info and .museum, and who know what the future will bring.
About the only truth left is that domain names end in a dot followed by two characters minimum (there are the country code domains like .us, .de. etc. but there are no one character TLD's at present and I would expect perhaps not for a long long time, but you never know). Perhaps someone would expand on the regex above to include checking for a name ending with a dot followed by two characters minimum, I just haven't been into regex's long enough to know how).
Of course, you could get really anal about all this and check for domain names that only end in the current ICANN root server TLD's (about 260 or so, I believe), but that wouldn't account for TLD's that operate within other root servers (there's always sumthin'). Anyways,
Any help with the above is certainly appreciated!
Jeff
attached mail follows:
I use this, but it's a preg rather than ereg pattern:
'/([a-z0-9]+[a-z0-9\-]*\.)+[a-z0-9]+[a-z0-9\-]*[a-z0-9]+$/i'
Two problems (which in practice are so slight that I've foregone my usual standards-analness to ignore them)
1) It will allow a domain name component (except the final one) to end with a dash (e.g., "test-.example.com").
2) It will not allow a one-character final component.
miguel
On Sun, 26 May 2002, Jeff Field wrote: > This is not really specific to PHP (although the information might be useful > for all that form validation we all do), and for that I apologize in advance > (does anyone know of a regex mailing list?), but maybe someone here can help > with the following: > > I find no good regex for checking valid domain names. None that I have seen > take into account the fact that, although dashes ("-") and dots (".") are > allowed in a domain name, the domain name can neither begin with nor end > with a dash or dot, and additionally, two dashes or two dots in a row are > not allowed and a dash followed by a dot or a dot followed by a dash are not > allowed. > > So, I've come up with two regex's for checking domain names. The first one > checks that the name contains alphanumerics, the dash and the dot, and > neither begins with or ends with a dash or dot: > > ^[a-z0-9]$|^[a-z0-9]+[a-z0-9.-]*[a-z0-9]+$ > > The second one checks that two dashes and two dots are not together and that > a dash followed by a dot or a dot followed by a dash are not together: > > --|\.\.|-\.|\.- > > Putting it all together, the way I check for a valid domain name is with the > following: > > if (eregi("^[a-z0-9]$|^[a-z0-9]+[a-z0-9.-]*[a-z0-9]+$", $domain_name) != > true > OR eregi("--|\.\.|-\.|\.-", $domain_name) == true > { > error; > } > > So, my question (finally!) is this: > > Is there any way to combine both expressions (basically, one part that > checks for false and one part that checks for true) into one regex that just > returns true or false? I haven't been able to find any documentation that > shows me how to do that, basically a "like this but not like this" syntax. > > BTW, anticipating someone mentioning the fact that the above regex's don't > check for a domain name ending with a dot followed by three characters max > (as in .com, .net, etc.), it's because that long-held truth is no longer > true. We now have .info and .museum, and who know what the future will > bring. > > About the only truth left is that domain names end in a dot followed by two > characters minimum (there are the country code domains like .us, .de. etc. > but there are no one character TLD's at present and I would expect perhaps > not for a long long time, but you never know). Perhaps someone would expand > on the regex above to include checking for a name ending with a dot followed > by two characters minimum, I just haven't been into regex's long enough to > know how). > > Of course, you could get really anal about all this and check for domain > names that only end in the current ICANN root server TLD's (about 260 or so, > I believe), but that wouldn't account for TLD's that operate within other > root servers (there's always sumthin'). Anyways, > > Any help with the above is certainly appreciated! > > Jeff > > >
attached mail follows:
Dear folks,
Has anyone ever been able to get a CGI to produce valid PHP output??
Whatever I do, my browser ALWAYS wants to open or save the non-parsed PHP text produced by the CGI file. And yes, I have set the proper ExecCGI and PHP entries in my vhosts.conf; and yes, I restarted the server.
Basically, I open an existing php file (in a Perl CGI), and output its contents again to the Apache server. The CGI starts with sending this header:
print "Content-type: application/x-httpd-php\n\n";
Then I output the text. But, no matter what I do, it will not parse the PHP code. I do not understand this. Regular PHP files in that dir work fine. There is, as far as I can see, no reason why this should not work.
And the PHP file really needs to be generated from the CGI, as it needs to run as a specific user.
Anyway, any help would be much appreciated,
- Mark
attached mail follows:
The problem is that you are sending this output to the browser and not the server. You can do this with XML because IE and Netscape have XML parsers built-in. You should create a form that will catch the data from CGI then handle it on the server. There might be other work arounds as well...however, I have only played with the XML stuff...
Thanks,
Ray Hunter
-----Original Message-----
From: Mark [mailto:admin
asarian-host.net]
Sent: Sunday, May 26, 2002 12:07 PM
To: php-general
lists.php.net
Subject: [PHP] Parsing PHP output
Dear folks,
Has anyone ever been able to get a CGI to produce valid PHP output??
Whatever I do, my browser ALWAYS wants to open or save the non-parsed PHP text produced by the CGI file. And yes, I have set the proper ExecCGI and PHP entries in my vhosts.conf; and yes, I restarted the server.
Basically, I open an existing php file (in a Perl CGI), and output its contents again to the Apache server. The CGI starts with sending this header:
print "Content-type: application/x-httpd-php\n\n";
Then I output the text. But, no matter what I do, it will not parse the PHP code. I do not understand this. Regular PHP files in that dir work fine. There is, as far as I can see, no reason why this should not work.
And the PHP file really needs to be generated from the CGI, as it needs to run as a specific user.
Anyway, any help would be much appreciated,
- Mark
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
attached mail follows:
I tested ini_set('register_globals',0) and ini_set('register_globals','Off') for turning register_globals off. It doesn't work and it doesn't produce any notice, warning or error.
Here's a quick example:
<?php
ini_set('register_globals',0);
if(isset($test)) echo "<h2>$test</h2>";
?> <form action="ini_set.php" method="get"> <input type="text" name="test" /> <input type="submit" /> </form>
This prints out $test, what it shouldn't do with register_globals turned off. I tested this with PHP 4.1.2 and 4.2.1. Even if I start to doubt it is supposed to work according to the documentation. Can anyone tell me what I've done wrong?
For some strange reason if I do
echo ini_set('register_globals',0);
it will print "10". For
echo ini_set('register_globals','Off');
it will print "1Off".
Jens
PS: ini_set works fine with include_path and error_reporting
attached mail follows:
Can somone take a look at this? I found this on sourceforge, but cannot reach author.
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/example.php
This month won't display properly. It's missing </tr><tr> somewhere. Every other month seems to work.
Can someone help please? Here is the code:
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/example.php http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/example.phps
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/BaseCalendar.inc
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/BaseCalendar.inc.phps
The problem should be in here, but I can't see it:
// Plancing day i on calendar if ($shift==0 && $today_ts==$day_i_ts) { echo "<td bgcolor=".($this->calBGCellToday)."><strong><center>".$link_i."</center></strong></td>";
} else { echo "<td bgcolor=".($this->calBGCellColor)."><center>".$link_i."</center></td>\n";
if ($day_i==7 && $i<$daysInMonth) { echo "</tr><tr>\n"; } else if ($day_i==7 && $i==$daysInMonth) { echo "</tr>\n"; } else if ($i==$daysInMonth) { for ($h=$dayMonth_end; $h<7; $h++) { echo "<td> </td>\n"; } echo "</tr>\n"; } } //end else
attached mail follows:
Can somone take a look at this? I found this on sourceforge, but cannot reach author.
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/example.php
This month won't display properly. It's missing </tr><tr> somewhere. Every other month seems to work.
Can someone help please? Here is the code:
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/example.php http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/example.phps
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/BaseCalendar.inc
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/BaseCalendar.inc.phps
The problem should be in here, but I can't see it:
// Plancing day i on calendar if ($shift==0 && $today_ts==$day_i_ts) { echo "<td bgcolor=".($this->calBGCellToday)."><strong><center>".$link_i."</center></strong></td>";
} else { echo "<td bgcolor=".($this->calBGCellColor)."><center>".$link_i."</center></td>\n";
if ($day_i==7 && $i<$daysInMonth) { echo "</tr><tr>\n"; } else if ($day_i==7 && $i==$daysInMonth) { echo "</tr>\n"; } else if ($i==$daysInMonth) { for ($h=$dayMonth_end; $h<7; $h++) { echo "<td> </td>\n"; } echo "</tr>\n"; } } //end else
attached mail follows:
Can somone take a look at this? I found this on sourceforge, but cannot reach author.
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/example.php
This month won't display properly. It's missing </tr><tr> somewhere. Every other month seems to work.
Can someone help please? Here is the code:
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/example.php http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/example.phps
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/BaseCalendar.inc
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/BaseCalendar.inc.phps
The problem should be in here, but I can't see it:
// Plancing day i on calendar if ($shift==0 && $today_ts==$day_i_ts) { echo "<td bgcolor=".($this->calBGCellToday)."><strong><center>".$link_i."</center></strong></td>";
} else { echo "<td bgcolor=".($this->calBGCellColor)."><center>".$link_i."</center></td>\n";
if ($day_i==7 && $i<$daysInMonth) { echo "</tr><tr>\n"; } else if ($day_i==7 && $i==$daysInMonth) { echo "</tr>\n"; } else if ($i==$daysInMonth) { for ($h=$dayMonth_end; $h<7; $h++) { echo "<td> </td>\n"; } echo "</tr>\n"; } } //end else
attached mail follows:
Can somone take a look at this? I found this on sourceforge, but cannot reach author.
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/example.php
This month won't display properly. It's missing </tr><tr> somewhere. Every other month seems to work.
Can someone help please? Here is the code:
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/example.php http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/example.phps
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/BaseCalendar.inc
http://www.collegesherbrooke.qc.ca/languesmodernes/calendar/BaseCalendar.inc.phps
The problem should be in here, but I can't see it:
// Plancing day i on calendar if ($shift==0 && $today_ts==$day_i_ts) { echo "<td bgcolor=".($this->calBGCellToday)."><strong><center>".$link_i."</center></strong></td>";
} else { echo "<td bgcolor=".($this->calBGCellColor)."><center>".$link_i."</center></td>\n";
if ($day_i==7 && $i<$daysInMonth) { echo "</tr><tr>\n"; } else if ($day_i==7 && $i==$daysInMonth) { echo "</tr>\n"; } else if ($i==$daysInMonth) { for ($h=$dayMonth_end; $h<7; $h++) { echo "<td> </td>\n"; } echo "</tr>\n"; } } //end else
attached mail follows:
Rite, when you see a web form, you know you can simulate the submit by filling in the values in the address field, just like a GET method, and it usually works the exact same. But how do you do it when one of the fields in the form is a file upload?!?!?!
For the record, its a GIF file you've to upload. Is there any way to do this in PHP??
attached mail follows:
<?PHP $im = createfrombmp("image"); print "<FORM METHOD=\"post\" ACTION=\"actionpage.php\">"; print "<INPUT TYPE=\"hidden\" NAME=\"image\" VALUE=\"$im\">"; ?> you get the idea
I think PHP does have other funtions for file uplading though.
"Georgie Casey" <webmaster
filmfind.tv> wrote in message
news:20020526190801.8874.qmail
pb1.pair.com...
> Rite, when you see a web form, you know you can simulate the submit by
> filling in the values in the address field, just like a GET method, and it
> usually works the exact same. But how do you do it when one of the fields
in
> the form is a file upload?!?!?!
>
> For the record, its a GIF file you've to upload. Is there any way to do
this
> in PHP??
>
>
>
>
attached mail follows:
i'm getting an error message saying my BMP file i'm trying to convert isnt a valid WBMP file? is dere a difference between BMP and WBMP? I just opened my GIF file into PSP7 and and saved as a windows bmp.
why isnt it working?
"Peter" <newsaddress
saracenvsu.org.uk> wrote in message
news:20020526191546.18529.qmail
pb1.pair.com...
> <?PHP
> $im = createfrombmp("image");
> print "<FORM METHOD=\"post\" ACTION=\"actionpage.php\">";
> print "<INPUT TYPE=\"hidden\" NAME=\"image\" VALUE=\"$im\">";
> ?>
> you get the idea
>
> I think PHP does have other funtions for file uplading though.
>
> "Georgie Casey" <webmaster
filmfind.tv> wrote in message
> news:20020526190801.8874.qmail
pb1.pair.com...
> > Rite, when you see a web form, you know you can simulate the submit by
> > filling in the values in the address field, just like a GET method, and
it
> > usually works the exact same. But how do you do it when one of the
fields
> in
> > the form is a file upload?!?!?!
> >
> > For the record, its a GIF file you've to upload. Is there any way to do
> this
> > in PHP??
> >
> >
> >
> >
>
>
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]