1

クライアントのサイトを ColdFusion から PHP に変換しようとしています。フォームの値が mysql db に挿入される古いスクリプト スクリプトの 1 つを複製しようとしています。私は自分のものを動作させることができなかったので、単純に値をエコーし​​てみましたが、値全体が表示されていないことがわかりました。たとえば、あるフィールドに 11/13/2011 と入力し、別のフィールドに Hike と入力すると、出力は110.

テキストを数値として保存する理由がわかりません。echoHike だけに変更しても、 が出力されます0。これが私のコードです:

HTML :

<form action="file.php" method="post">
  Event Date: <input type="text" name="eventdate" size="30" />
   Theme: <input type="text" name="theme" size="50" />
</form>

PHP :

<?php
    $eventdate = $_POST['eventdate'];
    $theme = $_POST["theme"];
    echo $eventdate+"<br />";
    echo $theme+"<br />";
?>
4

1 に答える 1

8

あなたの問題は、ドット演算子で連結するのではなく、フィールドを一緒に追加していることです:.

echo $eventdate."<br />";
echo $theme."<br />";

PHP は、同じ型ではなく、操作で結合された変数を意味のある型に変換しようとします (たとえば、浮動小数点数を整数に加算しようとすると、整数は浮動小数点として評価されます)。操作を行うときの番号)。

詳細については、Type JugglingおよびPHP が文字列を数値に変換する方法のドキュメント エントリを参照してください。

于 2012-05-18T20:46:44.940 に答える