2013-02-04 97 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> 
相关问题