私はPHPページで特定の要件を持っています。私はmysql DBからシェルスクリプト名を取得する2つのクエリを実行しています。 1番目のクエリ:実行し、正常に動作しているドロップダウンリストで出力を提供します。 2番目のクエリ:ドロップダウンリストからオプションが選択されている場合、その値は入力引数として2番目のシェルスクリプトに渡されます。これは達成できません。 同じように私を親切に案内します。以下は変数にselectオプションonchangeを保存して、単一のPHPページで引数として渡す方法
は私のPHPページのコードです:
<?php
include('db.php');
function connect_db(){
mysql_connect('localhost', 'root', '') or die('Could not connect to database' . mysql_error());
mysql_select_db('dashboard');
}
function close(){
mysql_close();
}
function query1(){
connect_db();
$sql = mysql_query("SELECT * FROM webpage WHERE page = 'display_peer_info.php' ");
$record = mysql_fetch_assoc($sql);
$script = $record['arg1_script'];
$conn = ssh2_connect('$server_ip',$port);
ssh2_auth_password($conn, '$user', '$pass');
//Executing 1st shell script on remote server and saving output in a variable
$script_output = ssh2_exec($conn, "/home/$user/bin/webscript/$script");
stream_set_blocking($script_output, true);
while($line = fgets($script_output)) {
flush();
echo '<option value='.$line.'>'. $line . '</option>';
}
}
function query2(){
connect_db();
$sql1 = mysql_query("SELECT * FROM webpage WHERE page = 'display_peer_info.php' ");
$record1 = mysql_fetch_assoc($sql1);
$script1 = $record1['page_script'];
$conn = ssh2_connect('$server_ip',$port);
ssh2_auth_password($conn, '$user', '$pass');
//Getting value from dropdown list
$dropdown_value = $_POST['arg1'];
// Executing 2nd shell script on same remote server with Argument selected from dropdown list
$script_output1 = ssh2_exec($conn, "/home/oaa/bin/webscript/$script1 \"$dropdown_value\" ");
echo $script_output1;
}
?>
<!DOCTYPE>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>
<body>
<div class="webpage">
<select id="arg1">
<?php query1();?>
</select>
<?php close(); ?>
</div><br />
<div id="output">
<? php query2(); ?>
</div>
</body>
</html>
私の第二のクエリ関数からの出力を得るために、いくつかのロジック/回避策を提案してください。
あなたはここで何が問題になったのか説明しませんでした。どのようなエラーがありましたか?実際に得られた出力と予想された出力は何でしたか?デバッグやトラブルシューティングにどのようなステップを取ったのですか? – Sherif
上記のコードでは、Resource id#9を出力として取得します。実際に私は2番目のクエリでドロップダウンリスト選択オプションを渡す方法、ロジックを見つけることができません。 – Grudge001