2011-03-03 17 views
0

私はこのPHPをpsp(Pythonサーバーページ)に変換しようとしています。私はPHPのexec関数とセッション変数のためのissetを失っています。PHPとPythonのサーバーページとセッションとEXEC

session_start(); 
if(isset($_POST["var"])){ 
    //set session username 
    $username = (string)$_POST["var"]; 
    $username = trim($username); 
    $_SESSION['username'] = $username; //store $username 
} 

if(isset($_SESSION['username'])){ 
    $username = $_SESSION['username']; //store session[username] as $username 
    $cmd = '/var/www/cgi-bin/resolveID.py ' . escapeshellcmd($username); 
    $fullname = exec($cmd); 
    $_SESSION['fullname'] = $fullname; 

} 
else{ 
    echo 'Your session has expired, please click <a href="https://devh.test.com/">here</a>'; 
    exit; 
} 

これは私が

<% 
import cgitb, session 
cgitb.enable() 

user_session = Session.Session() 
#post info 
if form.getvalue('var'): 
    varUsername = form.getvalue('var') 
    user_session['username'] = varUsername 

#session set stuff 
try: 
    if user_session['username']: 
     #is set 
     varUsername = user_session['username'] 
     varCMD = '/var/www/cgi-bin/resolveID.py ' + varUsername 
     varFullname = subprocess.check_output(varCMD) 
     user_session['fullname'] = varFullname 
except: 
    #not set 
    req.write('Your session has expired, please click <a href="https://dev.test.com/">here</a>') 
%> 
+0

何を試しましたか? –

+0

これは私が今まで持っていたもので、500sを得続けている。 – Jim

答えて

1

私はsubprocess.check_output()は、あなたが探している機能だと思う持っているものです:代わりにあなたがpythonで'key' in arrayを使用isset($array['key'])

fullname = subprocess.check_output(['/var/www/cgi-bin/resolveID.py', username]) 

+0

あなたはあなたの答えの第二部を説明できますか?キー配列について – Jim

+0

サブプロセスのサイコロがありません.check_output – Jim