Re: [PHP] php variables in a backtick command

2004-12-11 Thread Sebastian
well $user['password'] has no double quotes around it.

- Original Message - 
From: Jonathan Duncan [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Saturday, December 11, 2004 8:09 PM
Subject: [PHP] php variables in a backtick command


 I am trying to run a shell command with backticks.  However, I get a parse
 error.  Is it because I have an array variable in there?

 $result =
`adduser -l=$dist_id -p=$user['password'] --f=$user['name_first']
 $user['name_last']`;

 Do I need to assign the value to a regular variable before I put it in
 there?  Like this?

 $pword=$user['password']
 $fname =$user['name_first']
 $lname =$user['name_last']
 $result = `adduser -l=$dist_id -p=$pword --f=$fname $lname`;

 Thanks,
 Jonathan

 -- 
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] php variables in a backtick command

2004-12-11 Thread Jonathan Duncan
Ah, that is a good idea, putting the command in a variable and then 
executing the variable.  I have doen that before but did not think of it 
now.  Too many things going on.  Thanks!

Jonathan

Rory Browne [EMAIL PROTECTED] wrote in message 
news:[EMAIL PROTECTED]
 I'm not sure about variable expansion with backticks(I don't use
 backticks, if necessary I use shell_exec() instead). I'm just after
 installing a fresh SuSE 9.1, and php is giving me a segfault at the
 minute, with that particular code, but if you were using double quotes
 you could:

 $command = adduser -l=$dist_id -p={$user['password']}
 --f=\{$user['name_first']} {$user['name_last']}\;

 bearing in mind that the variables have been {}'ed, and your double
 quote around $user['name_first'] and ['name_last']) has been escaped
 to \

 you can use shell_exec($command), which is identical to the backtick 
 operation.

 Having that said, you should consider using alternative program
 execution instead, instead of using the shell. What do you need the
 shell for? You might(albeit unlikely) also come across a situation
 where the shell is something like /bin/false, or /bin/falselogin, or
 /bin/scponly, or basicly something that doesn't particularly work that
 well as a shell.

 Rory

 On Sat, 11 Dec 2004 18:09:17 -0700, Jonathan Duncan [EMAIL PROTECTED] 
 wrote:
 I am trying to run a shell command with backticks.  However, I get a 
 parse
 error.  Is it because I have an array variable in there?

 $result = 
 `adduser -l=$dist_id -p=$user['password'] --f=$user['name_first']
 $user['name_last']`;

 Do I need to assign the value to a regular variable before I put it in
 there?  Like this?

 $pword=$user['password']
 $fname =$user['name_first']
 $lname =$user['name_last']
 $result = `adduser -l=$dist_id -p=$pword --f=$fname $lname`;

 Thanks,
 Jonathan

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php

 



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] php variables in a backtick command

2004-12-11 Thread Jonathan Duncan
The quotes are only for the shell command which does not use quotes around 
password.  Thanks for the feedback.

Jonathan


Sebastian [EMAIL PROTECTED] wrote in message 
news:[EMAIL PROTECTED]
 well $user['password'] has no double quotes around it.

 - Original Message - 
 From: Jonathan Duncan [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Saturday, December 11, 2004 8:09 PM
 Subject: [PHP] php variables in a backtick command


 I am trying to run a shell command with backticks.  However, I get a 
 parse
 error.  Is it because I have an array variable in there?

 $result =
 `adduser -l=$dist_id -p=$user['password'] --f=$user['name_first']
 $user['name_last']`;

 Do I need to assign the value to a regular variable before I put it in
 there?  Like this?

 $pword=$user['password']
 $fname =$user['name_first']
 $lname =$user['name_last']
 $result = `adduser -l=$dist_id -p=$pword --f=$fname $lname`;

 Thanks,
 Jonathan

 -- 
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php


 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] php variables in a backtick command

2004-12-11 Thread Rory Browne
I'm not sure about variable expansion with backticks(I don't use
backticks, if necessary I use shell_exec() instead). I'm just after
installing a fresh SuSE 9.1, and php is giving me a segfault at the
minute, with that particular code, but if you were using double quotes
you could:

$command = adduser -l=$dist_id -p={$user['password']}
--f=\{$user['name_first']} {$user['name_last']}\;

bearing in mind that the variables have been {}'ed, and your double
quote around $user['name_first'] and ['name_last']) has been escaped
to \

you can use shell_exec($command), which is identical to the backtick operation.

Having that said, you should consider using alternative program
execution instead, instead of using the shell. What do you need the
shell for? You might(albeit unlikely) also come across a situation
where the shell is something like /bin/false, or /bin/falselogin, or
/bin/scponly, or basicly something that doesn't particularly work that
well as a shell.

Rory

On Sat, 11 Dec 2004 18:09:17 -0700, Jonathan Duncan [EMAIL PROTECTED] wrote:
 I am trying to run a shell command with backticks.  However, I get a parse
 error.  Is it because I have an array variable in there?
 
 $result = `adduser -l=$dist_id -p=$user['password'] --f=$user['name_first']
 $user['name_last']`;
 
 Do I need to assign the value to a regular variable before I put it in
 there?  Like this?
 
 $pword=$user['password']
 $fname =$user['name_first']
 $lname =$user['name_last']
 $result = `adduser -l=$dist_id -p=$pword --f=$fname $lname`;
 
 Thanks,
 Jonathan
 
 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php
 


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php