0

関数から入力ボックスを返す必要がありますが、引用符を正しく配置できました。誰でもエラーを解決するのを手伝ってください。

<?php
 return "
<input  style='background-color:#CCC;'type='text' name='contactName' id='contactName' value='".if(isset($_POST['contactName'])) echo $_POST['contactName']."' class='requiredField' />";
4

4 に答える 4

1
<?php
if(isset($_POST['contactName'])) {$contactname=$_POST['contactName'];}
 return "<input  style='background-color:#CCC;'type='text' name='contactName' id='contactName' value='".$contactname."' class='requiredField' />";
?>
于 2013-05-06T09:21:29.440 に答える
0

1 行で書く代わりに、それを分割して値を返すことができます。

if(isset($_POST['contactName'])) {
    $value = $_POST['contactName'];
} else {
    $value = "";
}

$input  = '<input style="background-color:#CCC;" type="text" name="contactName" id="contactName" ';
$input .= 'value="'. $value .'" ';
$input .= 'class="requiredField" ';
$input .= '/>';

return $input;

また、値を処理せずに割り当てていることがわかります。これは正しくありません。したがって、次のようになります。

if(isset($_POST['contactName'])) {
        $value = stripslashes($_POST['contactName']);
    } else {
        $value = "";
    }

PDO を使用している場合は、他のエスケープ方法を使用することもできます。

于 2013-05-06T09:26:34.673 に答える
-1

別の簡単な解決策

    <?php 
     if(isset($_POST['contactName']))
        {
         return "<input  style='background-color:#CCC;'type='text' name='contactName' id='contactName' value='".$_POST['contactName']."' class='requiredField' />";
        }
     ?>
于 2013-05-06T09:27:25.633 に答える