2013-06-05 39 views
-1
<?php 
    if (isset($_POST['submit'])) 
    { 

    if (isset($_POST['a']) and $_POST["a"]!=='') 
    { 
    $misamarti = $_POST["a"]; 
    echo $misamarti; 
    } 
    } 
?> 

<form method="post" action=""> 
    <input type="text" name"a" value="<?php echo $misamarti; ?>" /> 
    <input type="submit" name="submit" /> 
</form> 

在此之後,我得到輸入錯誤的PHP

注意:未定義的變量:misamarti在 C:\ XAMPP \ htdocs中\模板\ admin_panel \上線1.PHP

這是在輸入欄內。

+1

如果沒有提交表單您的變量不存在。試試這個'$ misamarti?$ misamarti:'''' – sebastian

+0

聲明'$ misamarti =「」;;'if'isset($ _ POST ['submit'])){'line of code。如果'$ _POST'請求​​沒有被創建,你將不會聲明該變量,因此它會出錯。 – ninty9notout

+0

總是使用有意義變量名稱的變量(最好用英文命名)。 – Leri

回答

2

因爲變量$misamarti將保持undefined直到您的表單被提交。 所以總是有練習定義/初始化你的變量。

$misamarti = '' 
if(isset($_POST['submit'])){  
    if(isset($_POST['a']) and $_POST["a"]!==''){ 
     $misamarti = $_POST["a"];  
     echo $misamarti; 
     } 
} 
2

它應該在<input type=text

+0

是的謝謝你的幫助 –

0

$misamartiname="a"if()條件是成功的僅限定。

if()條件失敗時,變量未定義。那麼當你在代碼中使用它時,它會拋出你報告的錯誤。

您可以通過在你的代碼的頂部定義變量的默認值解決這個問題:

<?php 
$misamarti = ''; //add this line at the top of the program. 
if(isset($_POST['submit'])) { 
    //.... etc.... 
0

,而不是使用關鍵字and,使用&& 此外,在頂部定義misamarti,這樣

<?php 
$misamarti; 
if(isset($_POST['submit'])){ 
    if(isset($_POST['a']) && $_POST["a"]!==''){ 
     $misamarti = $_POST["a"]; 
     echo $misamarti; 
    } 
} 
?> 

隨着你的HTML,一個是不確定的,因爲名稱是不確定的

<input type="text" name="a" value="<?php echo $misamarti; ?>"/> 
1

首先你忘了輸入名稱中的an =。

第二,你應該把$ misamarti放在雙引號中才能使用。

所以輸入應該是這樣的:

<input type="text" name="a" value="<?php echo "$misamarti" ?>" /> 
0

我不是一個PHP的專家,但我懷疑的$misamarti範圍只內if塊的,所以當你嘗試到echo它稍後在它不存在的頁面中。 (至少在其他更靜態類型的語言中它是如何工作的。)如果是這種情況,請首先在if塊之外定義該變量,並將其設置爲某個默認值。這樣的事情:

$misamarti = ""; 
if(isset($_POST['submit'])) { 
    if(isset($_POST['a']) and $_POST["a"]!=='') { 
     $misamarti = $_POST["a"]; 
     echo $misamarti; 
    } 
} 
0

你可以嘗試這段代碼可能會幫助你..

<?php 
     if (isset($_POST['submit'])) 
     { 

     if (isset($_POST['a']) and $_POST["a"]!=='') 
     { 
     $misamarti = $_POST["a"]; 
     echo $misamarti; 
     } 
     } 
    ?> 

    <form method="post" action=""> 
     <input type="text" name="a" /> 
     <input type="submit" name="submit" /> 
    </form> 

也試試這個代碼

<?php 
     $misamarti=''; 
     if (isset($_POST['submit'])) 
     { 

     if (isset($_POST['a']) and $_POST["a"]!=='') 
     { 
     $misamarti = $_POST["a"]; 
     echo $misamarti; 
     } 
     } 
    ?> 

    <form method="post" action=""> 
     <input type="text" name="a" value="<?php echo $misamarti ?>" /> 
     <input type="submit" name="submit" /> 
    </form> 
0

變化

<input type="text" name"a" value="<?php echo $misamarti; ?>" /> 

<input type="text" name="a" value="<?php echo $misamarti; ?>" />