0

以下のコードをセットアップしました。ユーザーはメールアドレスを入力して送信ボタンをクリックするだけで、次のページに移動します。問題は、彼らが電子メールを入力していない場合でも、そのページに移動することです。おそらく愚かなエラーであることはわかっていますが、それを見つけることができないようです.

?php
include('header.php');
include('side.php'); ?>

<div id="content">

<?php
if($_SESSION['uid'] != 1)

echo '
<h2>Alpha Registration</h2>
<p align="center">Registration for an Alpha Account costs &#163;5.<br>You will be asked to confirm and pay on the following page.</p>
<form method="post" action="alpharegister.php">
<div id="loginform"><center><table>
<tr><td>Email:</td><td><input type="text" class="box" name="email"></td></tr>
<tr><td colspan="2"><center><input type="submit" class="submit" name="registersubmit" value="Begin Registration"></center></td></tr>
</table></center></div></form>';

else {
}

if($_POST['registersubmit'] && (isset($_POST['email'] && isempty($_POST['email'])){
$email = protect($_POST['email']);

if(!$email) {
echo '<div class="incorrectlogin">You must enter a valid email address.</div>';
}else{

$checkemail = "/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}$/i";

if(!preg_match($checkemail, $email)) {
echo '<div class="incorrectlogin">You must enter a valid email address.</div>';
}else{

setcookie("AlphaEmail", $email, time()+3600);
header('Location: alpharegister.php');
}}}?>

編集 上記のコードを編集して、以下で提案されたコードを含む完全な index.php を表示します。

alpharegister.php

<?php
include('header.php');
include('side.php');
?>

<div id="content">
<h1>Alpha Account Registration</h1>

<?php
echo 'Your email is ' .$_COOKIE["AlphaEmail"]. '!';
?>

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="FJP9C8CSJ73GG">
<input type="image" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>
</div>
4

1 に答える 1