1

私はこのコードをさまざまなソースの寄せ集めと、私が「完全没入型学習」と呼ぶものの数週間から構築しました。言い換えれば、私はphpについてスクワットを知らず、それを偽造できると思っていましたが、どうやら私はできません。

誰でも、私が以下で行ったことは、私があなたの最愛のphpに行ったことで、それを完全な恐怖の発作に見せる何人かを送ることを知っていますが、それはたった2週間の独学と少なくともそれだけでは仕方がありません過去に行ったすべての警告、悲鳴を上げる警告、および致命的なエラーではなく、現在3つの通知をスローします。

私が得ている最後のエラーは...

(!)注意:未定義の変数:65行目のE:\ wamp \ www \ complete-x013_php2 \ iframe1\contact.phpのerror_name

(!)注意:未定義の変数:77行目のE:\ wamp \ www \ complete-x013_php2 \ iframe1\contact.phpのerror_email

(!)注意:未定義の変数:89行目のE:\ wamp \ www \ complete-x013_php2 \ iframe1\contact.phpのerror_code

<?php session_start(); ?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<meta http-equiv="Content-type" content="text/html; charset=utf-8">

<title></title>

<link rel="stylesheet" type="text/css" href="style.css" />

</head>

<body>

<span style="color: #000000; font-size: 85%; font-family: Verdana, Geneva, sans-serif;">

<?php

    if (isset($_POST['submit'])) {
    $error = "
    error_name,
    error_email,
    error_code
    ";

$name =     check_input($_POST['name']);
$email =    check_input($_POST['email']);
$how =      check_input($_POST['how']);
$ifother =  check_input($_POST['ifother']);
$code =     check_input($_POST['code']);
$submit =   check_input($_POST['submit']);

$_POST['name'] = trim($_POST['name']);
$_POST['name'] = stripslashes($_POST['name']);
$_POST['name'] = htmlspecialchars($_POST['name']);

$_POST['email'] = trim($_POST['email']);
$_POST['email'] = stripslashes($_POST['email']);
$_POST['email'] = htmlspecialchars($_POST['email']);

$_POST['how'] = trim($_POST['how']);
$_POST['how'] = stripslashes($_POST['how']);
$_POST['how'] = htmlspecialchars($_POST['how']);

$_POST['ifother'] = trim($_POST['ifother']);
$_POST['ifother'] = stripslashes($_POST['ifother']);
$_POST['ifother'] = htmlspecialchars($_POST['ifother']);

$_POST['code'] = trim($_POST['code']);
$_POST['code'] = stripslashes($_POST['code']);
$_POST['code'] = htmlspecialchars($_POST['code']);

$_POST['submit'] = trim($_POST['submit']);
$_POST['submit'] = stripslashes($_POST['submit']);
$_POST['submit'] = htmlspecialchars($_POST['submit']);

    if (!empty($_POST['name'])) {
    $name = check_input($_POST['name']);
    } else {
        $error .= "error_name";
        $error_name .= "Name is required.";
    }

    if (!empty($_POST['email'])) {
    $email = check_input($_POST['email']);

        if (!preg_match("/^[a-z0-9]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", $email)){ 
        $error .= "error_email";
        $error_email .= "E-mail address not valid.";
        }
    } else {
    $error .= "error_email";
    $error_email .= "E-mail address is required.";
    }

    if (!empty($_POST['code'])) {
    $code = check_input($_POST['code']);

        if (strtolower($_POST['code']) != 'black'){ 
        $error .= "error_code";
        $error_code .= "Code is BLACK.";
        }
    } else {
    $error .= "error_code";
    $error_code .= "Enter Code.";
    }

    if (empty($error)) {
    $from = 'From: ' . $name . ' <' . $email . '>';
    $to = "yourmail@host.com";
    $subject = "New Subscription Contact";
    $content = "

Newsletter Subsciption submitted by $name,

E-mail: $email


They were referred to us by: $how, $ifother

-END NOTIFICATION-

";
    $success = 
    mail($to,$subject,$content,$from);
    header('Location: thanks.php');
    exit;
    }

    }

function check_input($data, $problem='')
{
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
        if ($problem && strlen($data) == 0)
{
    show_error($problem);
}
    return $data;
}
?>

<div>

<form action="contact.php" method="post">

<center>

<table style="border: 0px solid black; border-collapse: collapse;">

<tr>
<td style="border: 0px solid black; height: 16px;" colspan="2">[<span style="color: #ff0000;">*</span>] Denotes a required field.</td>
</tr>

<tr>
<td style="border: 0px solid black; text-align: left; text-indent: 92px; height: 12px;" colspan="2" id="error">
<?php if (!empty($error_name)) { echo '<div  class="error">' . $error_name . '</div >'; } ?>
</td>
</tr>

<tr>
<td style="border: 0px solid black; vertical-align: top; text-align: left;">
<div style="margin-top: 2px;"><span style="color: #ff0000;">*</span><label>Name:</label></div></td>
<td style="border: 0px solid black;">
<input type="text" placeholder="John or Jane Doe" style="width: 269px;" name="name" value="<?php if ($_POST['name']) { echo $_POST['name']; } ?>" /></td>
</tr>

<tr>
<td style="border: 0px solid black; text-align: left; text-indent: 92px; height: 12px;" colspan="2" id="error">
<?php if (!empty($error_email)) { echo '<div  class="error">' . $error_email . '</div >'; } ?>
</td>
</tr>

<tr>
<td style="border: 0px solid black; vertical-align: top; text-align: left;">
<div style="margin-top: 2px;"><span style="color: #ff0000;">*</span><label>E-mail:</label></div></td>
<td style="border: 0px solid black;">
<input type="text" placeholder="yourmail@host.com" style="width: 269px;" name="email" value="<?php if ($_POST['email']) { echo $_POST['email']; } ?>" /></td>
</tr>

<tr>
<td style="border: 0px solid black; height: 12px;" colspan="2"></td>
</tr>

<tr>
<td style="border: 0px solid black; height: 12px;" colspan="2">

<div style="border: 0px solid black; float: left; margin-top: 1px;">How did you find us?</div>

<div style="border: 0px solid black; float: right;">        <select width="180" height="20" style="width: 180px;" name="how">
                            <option value=""> -- Please Select -- </option>
                            <option>Google</option>
                            <option>Yahoo</option>
                            <option>Link from a website</option>
                            <option>Word of mouth</option>
                            <option>Other</option>
                            </select></div>

</td>
</tr>

<tr>
<td style="border: 0px solid black; height: 12px;" colspan="2"></td>
</tr>

<tr>
<td style="border: 0px solid black; vertical-align: top; text-align: left; width: 80px;">
<div style="margin-top: 1px;"><label>If <i>Other</i>:</label></div></td>
<td style="border: 0px solid black;">
<textarea name="ifother" placeholder="If you chose 'link' or 'other'." style="width: 269px; height: 35px;"><?php if ($_POST['ifother']) { echo $_POST['ifother']; } ?></textarea></td>
</tr>

<tr>
<td style="border: 0px solid black; text-align: left; text-indent: 265px; height: 12px;" colspan="2" id="error">
<?php if (!empty($error_code)) { echo '<div class="error">' . $error_code . '</div>'; } ?>
</td>
</tr>

<tr>
<td style="border: 0px solid black;" colspan="2" >
  <div style="border: 0px solid black; float: left; height: 18px; margin-top: 2px;">
   <span style="color: #ff0000;">*</span>What color is this '<b>black</b>' text?    </div>
   <div style="border: 0px solid black; float: right;"><input type="text" placeholder="code" style="width: 90px;" name="code" value="<?php if ($_POST['code']) { echo $_POST['code']; } ?>" /></div>
   </td>
</tr>

<tr>
   <td style="border: 0px solid black;" colspan="2"><div style="border: 0px solid black; height: 10px;"></div>
   </td>
</tr>
<tr>
   <td style="border: 0px solid black; text-align: right;" colspan="2"><input type="submit" style="width: 95px;" name="submit" value="Subscribe!" />
       </td>
</tr>
</table>
</center>
 </form>
    </div>
    </span>
    </body>
</html>
4

3 に答える 3

6
$error_email .= "E-mail address not valid.";

=>

$error_email = "E-mail address not valid.";
于 2012-12-05T09:30:24.047 に答える
1

これを追加する必要があります:

$error_code = $error_email = $error_name = "";

直後 :

$error = "
    error_name,
    error_email,
    error_code
    ";

このような :

$error = "
    error_name,
    error_email,
    error_code
    ";
$error_code = $error_email = $error_name = "";

未定義の変数で。=を使用しているため、通知がトリガーされます。

于 2012-12-05T09:33:26.493 に答える
1

error_name、error_email、error_codeも定義する必要があります

これを試して

   if (isset($_POST['submit'])) {
   $error_name ="";
   $error_email ="" ;
   $error_code= "";
    $error = "";
   $name =     check_input($_POST['name']);
 .....
 ....
于 2012-12-05T09:36:11.003 に答える