私は非常に基本的なWebサイトを持っており、Web開発スキルを向上させています。私は、ユーザーが入力したフォームの入力を処理するためにPHPを使用し始めました。スクリプトはフォームからデータを取得し、Pushbullet APIを使用して入力したデータを自分の電話機に送信することになっています。私は、execus関数を使って、pushmsgという/ usr/binディレクトリに置かれたbashスクリプトを実行しています。このスクリプトは3つの引数をとります。これはフォームからの3つの情報です。問題は、3つの変数がexec関数内に置かれても動作しないように見えることです。メッセージは自分の電話機に送信されますが、データが入力されていない状態でpushmsgコマンドを使用して送信するヘッダーのみが送信されます。ここでexecを使用する場合の引数としてのPHP変数
はコードです:
<html>
<body>
<link rel="stylesheet" type="text/css" href="style.css">
<?php
$name = $_POST["name"];
$phone = $_POST["phone"];
$core = $_POST["core"];
exec('pushmsg echo $name echo $phone echo $core');
?>
<h1>request submited successfully</h1>
<p>thanks for sending yout request, <?php echo $_POST["name"]; ?>.<br>
a text will be sent to <?php echo $_POST["phone"]; ?> once your details have been confirmed.
</p>
<div class="center">
<button class="button" action="/index.html">home page</button>
</div>
</body>
</html>
はまた、私はユーザーの入力にexec関数を使用することが特に安全ではありません承知していますが、このウェブサイトはでいつでもパブリックであることを行っていません近い将来、私はそれが必要なときに対処します。
ご協力いただければ幸いです。
二重引用符を使用してエコーからエコーを取り除く – shashi
そして神の愛のために、使用する前に '$ _POST'データを検証してください! – fubar
それは、ありがとう@シャシでした!私がウェブサイト@fubarを公開するとき、私が最後に言ったように、私はそれを調べます。 –