2013-02-04 135 views
0

我想在輸入字段旁邊顯示php錯誤消息..我可以這樣做嗎?在輸入字段旁邊顯示錯誤消息

這裏是在同一page..It我的PHP和HTML代碼僅僅是簡單的測試代碼..任何幫助將是巨大的

試圖把PHP下一個輸入,但沒有work..instead我把它放在一個值

<?php 

if (isset($_POST['submit'])) { 
$mysqli = new mysqli("localhost", "root", "", "test"); 


$fname = $_POST["fname"]; 
$lname = $_POST["lname"]; 

if (empty($henny)) { $errorhenny = '<div class="isa_error">Frist name is required<br></div>'; } 

if (empty($lname)) { 
echo '<div class="isa_error">Last name is required<br></div>'; 
} 

else{ 

$stmt = $mysqli->prepare("INSERT INTO test (Firstname, Lastname) VALUES (?, ?)"); 

$stmt->bind_param("ss", $fname, $lname); 
$stmt->execute(); 

$stmt->close(); 

$mysqli->close(); 
} 
} 
?> 


<html> 
<body> 
<form action="" method="post"> 
<input type="text" name="fname" value= "<?php echo $errorhenny; ?>"> 
<input type="text" name="lname"> 
<input type="submit" name="submit" value="Submit"> 
</form> 
</html> 
+0

如果(空($ FNAME)){$ errorfname = '

Frist name is required
'; }然後將它打印在輸入<?php echo $ errorfname; ?> – 2013-02-04 05:10:42

+0

它說undefined變量 – alte

+0

發佈你的新代碼(更新你的問題) – 2013-02-04 05:17:14

回答

0

嘗試這種情況:

<?php 
$ferr = ''; 
$lerr = ''; 
if (isset($_POST['submit'])) { 
$mysqli = new mysqli("localhost", "root", "", "test"); 


$fname = $_POST["fname"]; 
$lname = $_POST["lname"]; 

if (empty($fname)) { 
$ferr = 'First name is required'; 
} 

if (empty($lname)) { 
$lerr = 'Last name is required'; 
} 

else{ 

$stmt = $mysqli->prepare("INSERT INTO test (Firstname, Lastname) VALUES (?, ?)"); 

$stmt->bind_param("ss", $fname, $lname); 
$stmt->execute(); 

$stmt->close(); 

$mysqli->close(); 
} 
} 
?> 


<html> 
<body> 
<form action="" method="post"> 
<div> 
    <input type="text" name="fname"> 
    <span class="isa_error"><?php echo $ferr;?></span> 
</div> 
<div> 
    <input type="text" name="lname"> 
    <span class="isa_error"><?php echo $lerr;?></span> 
</div> 
<input type="submit" name="submit" value="Submit"> 
</form> 
</html> 
+0

非常感謝,完美的作品。 – alte

+0

有沒有什麼辦法可以防止在顯示錯誤消息之前頁面上顯示類isa錯誤。我的意思是喜歡當頁面加載CSS顯示第一,在hittin提交之前..我可以讓css只顯示錯誤時顯示? – alte

+0

您可以使用CSS將'isa_errorf'類設置爲'display:none',並僅在出現錯誤時才顯示它。讓我知道你是否有麻煩。 –

0

嘗試使用AJAX ......更容易,更好

0

在PHP變量指定的錯誤消息,

if (empty($fname)) { 
    $errorfname= '<div class="isa_error">Frist name is required</div>'; 
} 
if (empty($lname)) { 
    $errorlname = '<div class="isa_error">Last name is required</div>'; 
} 

然後打印變量,以html

<html> 
<body> 
<form action="" method="post"> 
<input type="text" name="fname"> 
<?php if(isset($errorfname)) { echo $errorfname; } ?> // fname error message 
<input type="text" name="lname"> 
<?php if(isset($errorlname)) { echo $errorlname; } ?> //lname error message 
<input type="submit" name="submit" value="Submit"> 
</form> 

0
<?php 

if (isset($_POST['submit'])) { 
    $mysqli = new mysqli("localhost", "root", "", "test"); 


    $fname = $_POST["fname"]; 
    $lname = $_POST["lname"]; 
    if(empty($fname) || empty($lname)){ 
    if (empty($fname)) { 
     $errorfname = '<div class="isa_error">Frist name is required<br></div>'; 
    } 

    if (empty($lname)) { 
     $errorlastname = '<div class="isa_error">Last name is required<br></div>'; 
    } 
    } 
    else{ 

    $stmt = $mysqli->prepare("INSERT INTO test (Firstname, Lastname) VALUES (?, ?)"); 

    $stmt->bind_param("ss", $fname, $lname); 
    $stmt->execute(); 

    $stmt->close(); 

    $mysqli->close(); 
    } 
} 
?> 


<html> 
<body> 
<form action="" method="post"> 
<input type="text" name="fname" value= ""><?php echo isset($errorfname) ? $errorfname : ''; ?> 
<input type="text" name="lname"><?php echo isset($errorlastname) ? $errorlastname : ''; ?> 
<input type="submit" name="submit" value="Submit"> 
</form> 
</html> 
相關問題