1

この質問はばかげているように聞こえるかもしれませんが、あなたの助けが必要です. 私の質問は、この「エラー」メッセージをフォームの外側に印刷する代わりに、フォームの内側に印刷したいということです。現在、「エラー」メッセージが の上に出力されています。

以下のようにコードします。

プロセス:

    if(!$name || !$email || !$comment){

//if not display an error message

echo "<center>All fields are required</center>";
}
else
{

mysql_select_db($database_connection, $connection);

$insert_query = sprintf("INSERT INTO contacts (name, email, comment, date, ip) VALUES (%s, %s, %s, NOW(), %s)",
                        sanitize($name, "text"),
                        sanitize($email, "text"),
                        sanitize($comment, "text"),
                        sanitize($ip, "text"));

$result = mysql_query($insert_query, $connection) or die(mysql_error());
}

形:

<form id="contact" name="contact" action="index.php" method="post">

<fieldset>
               <li><input class="rounded" type="text" name="name" id="name" placeholder="Your Name" required />
                </li>
                <li>
                    <input class="rounded" type="text" name="email" id="email" placeholder="Your Email" required />
                </li>
                <li>
                    <textarea class="rounded" name="comment" id="comment" cols="35" rows="6" placeholder="Your Message" required ></textarea>
                </li>
                <input type="hidden" id="action" name="action" value="submitform" />
                <li>
                <input id="submit" name="submit" type="submit" value="Send" class="submitform" />
                </li>
</fieldset>
</form>

どんな助けでも大歓迎です!

4

3 に答える 3

2

以下のコードを使用してください: PHP コードの場合:

$nameError = "";
$emailError = "";
$commentError = "";
if(!$name || !$email || !$comment){
if(!$name){
  $nameError = "Name is required";  
}
if(!$email){
  $emailError = "Email is required";
}
if(!$comment) {
  $commentError = "Comment is required";
}

}
else
{

mysql_select_db($database_connection, $connection);

$insert_query = sprintf("INSERT INTO contacts (name, email, comment, date, ip) VALUES (%s, %s, %s, NOW(), %s)",
                        sanitize($name, "text"),
                        sanitize($email, "text"),
                        sanitize($comment, "text"),
                        sanitize($ip, "text"));

$result = mysql_query($insert_query, $connection) or die(mysql_error());
}

HTML コードでは次のようになります。

<form id="contact" name="contact" action="index.php" method="post">

<fieldset>
               <li><input class="rounded" type="text" name="name" id="name" placeholder="Your Name" required />
                </li>
            <span><?php echo ((isset($nameError) && $nameError != '') ? $nameError : ''); ?> </span> //do that with all the error where you want to place
                <li>
                    <input class="rounded" type="text" name="email" id="email" placeholder="Your Email" required />
                </li>
                <li>
                    <textarea class="rounded" name="comment" id="comment" cols="35" rows="6" placeholder="Your Message" required ></textarea>
                </li>
                <input type="hidden" id="action" name="action" value="submitform" />
                <li>
                <input id="submit" name="submit" type="submit" value="Send" class="submitform" />
                </li>
</fieldset>
</form>
于 2013-07-08T11:24:31.347 に答える