2013-05-06 34 views
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

使用本

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

內聯是否會輸出財產以後使用此語法:

(condition ? 'the thing that will return when condition true' : 'the false returned string') 
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' />"; 
?> 
+1

工作正常but.your代碼是因爲XHTML的錯。而且我想你應該在if語句之前加上'contactname ='';''。 – ncm 2013-05-06 09:25:01

+1

這個答案與** Rikesh's **的答案有何不同? – 2013-05-06 09:26:09

+0

rikesh的也寫回答,但不需要在上面定義變量空白 – ankit 2013-05-06 09:27:44

0

而是在一個單一的線寫的,你可以打破它,而不是並返回值。

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使用任何其他遁法。

+0

這個答案與Rikesh的答案有何不同? – ncm 2013-05-06 09:27:32

+0

我沒有檢查rikesh的答案,同時添加我的答案。那時候也只有一個答案。 – Debashis 2013-05-06 09:36:08

-1

另一種簡單的解決方案

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

錯誤當條件錯誤時怎麼辦? – ncm 2013-05-06 09:28:16