2012-04-09 2 views
1

Хорошо, я пытаюсь установить captcha вверх, но с этим кодом в, он ломается.if isset PHP не работает?

if(isset($_POST["captcha"])) 
    if($_SESSION["captcha"]==$_POST["captcha"]) 

Когда я это делаю, страница работает, но captcha позволяет вводить неверные сообщения.

Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /hermes/waloraweb085/b2027/moo.lutarinet/jointest.php on line 71

<?php 

$pagetitle = "Home"; 

$checkrank = 0; 

include ($_SERVER['DOCUMENT_ROOT'].'/header.inc.php'); 

ECHO <<<END 

<br><br> 

<b><center><i><u>DO NOT</u> USE YOUR NEOPETS PASSWORD OR PIN NUMBER!!!</b></i></center> 
<p> 
?> 


<?php session_start() ?> 
<center><P><FORM ACTION="join.pro.php" enctype="multipart/form-data" METHOD=POST> 
    <table width="393" height="188" border="0" cellpadding="0" cellspacing="0"> 
     <td width="150">Username</td> 
     <td width="243"><input type=text name="name" value="" size=32 maxlength=15></td> 
    </tr> 
    <tr> 
     <td>Password</td> 
     <td><input type=password name="pass1" VALUE="" maxlength=15></td> 
    </tr> 
    <tr> 
     <td>Confirm Password</td> 
     <td><input type=password name="pass2" VALUE="" size=32 maxlength=15></td> 
    </tr> 
    <tr> 
     <td>Security Code (4 Diget Number)</td> 
     <td><input type=password name="security" VALUE="" size=32 maxlength=4></td> 
    </tr> 
    <tr> 
     <td>Email Address</td> 
     <td><INPUT TYPE=text NAME="email" VALUE="" SIZE=32 maxlength=100></td> 
    </tr> 
    <tr> 
     <td height="41" colspan="2" valign="middle"><p><p><center> 
     By registering an account here you agree to all 

     of our <A HREF="$baseurl/tos.php">Terms and 

     Conditions</A>. You can also view our <A HREF="$baseurl/privacy.php">Privacy 

    Policy</A>. 
     </center></p></td> 
    </tr> 

<tr><td align="center">CAPTCHA:<br> 
    (antispam code, 3 black symbols)<br> 
    <table><tr><td><img src="captcha.php" alt="captcha image"></td><td><input type="text" name="captcha" size="3" maxlength="3"></td></tr></table> 
</td></tr> 
<td height="27" colspan="2" valign="middle"> 
     <center><input type=submit name=Submit value="Register"></center> 
     </td> 
</table> 
</form> 
<?php 
if(isset($_POST["captcha"])) 
if($_SESSION["captcha"]==$_POST["captcha"]) 
{ 
    //CAPTHCA is valid; proceed the message: save to database, send by e-mail ... 
    echo 'CAPTHCA is valid; proceed the message'; 
} 
else 
{ 
    echo 'CAPTHCA is not valid; ignore submission'; 
} 
?> 


<?php 



END; 




include ($_SERVER['DOCUMENT_ROOT'].'/footer.inc.php'); 


?> 

captcha.php

<?php 
session_start(); 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 

function _generateRandom($length=6) 
{ 
    $_rand_src = array(
     array(48,57) //digits 
     , array(97,122) //lowercase chars 
//  , array(65,90) //uppercase chars 
    ); 
    srand ((double) microtime() * 1000000); 
    $random_string = ""; 
    for($i=0;$i<$length;$i++){ 
     $i1=rand(0,sizeof($_rand_src)-1); 
     $random_string .= chr(rand($_rand_src[$i1][0],$_rand_src[$i1][1])); 
    } 
    return $random_string; 
} 

$im = @imagecreatefromjpeg("http://sketchedneo.com/images/sitedesigns/captcha.jpg"); 
$rand = _generateRandom(3); 
$_SESSION['captcha'] = $rand; 
ImageString($im, 5, 2, 2, $rand[0]." ".$rand[1]." ".$rand[2]." ", ImageColorAllocate ($im, 0, 0, 0)); 
$rand = _generateRandom(3); 
ImageString($im, 5, 2, 2, " ".$rand[0]." ".$rand[1]." ".$rand[2], ImageColorAllocate ($im, 255, 0, 0)); 
Header ('Content-type: image/jpeg'); 
imagejpeg($im,NULL,100); 
ImageDestroy($im); 
?> 

Помогите пожалуйста кто-нибудь?

Строка 71: если (Исеть ($ _ POST [ "CAPTCHA на"]))

Line 72: если ($ _ SESSION [ "CAPTCHA на"] == $ _ POST [ "CAPTCHA на"])

+1

Пожалуйста, включите в свои примеры только соответствующий код. – iambriansreed

+2

ummmmmmmmmmmmm, whats on line 71 (: – Rooster

ответ

2

EDIT:

Вы упускаете END;:

ECHO <<<END 

<br><br> 

<b><center><i><u>DO NOT</u> USE YOUR NEOPETS PASSWORD OR PIN NUMBER!!!</b></i></center><p> 

END; // You forgot to include this 

Кстати, session_start() должно быть первым, что называется в сценарии, как это необходимо сделать до начала любого другого выхода.

Кроме того, попытайтесь получить ваши брекеты, чтобы с ветвями многострочных (облегчает сканирование):

if (isset($_POST["captcha"])) 
{ 
    if ($_SESSION["captcha"] == $_POST["captcha"]) 
    { 
     //CAPTHCA is valid; proceed the message: save to database, send by e-mail ... 
     echo 'CAPTHCA is valid; proceed the message'; 
    } 
    else 
    { 
     echo 'CAPTHCA is not valid; ignore submission'; 
    } 
} 
+0

Я все еще получаю сообщение об ошибке. Ошибка анализа: синтаксическая ошибка, неожиданный '' ', ожидающий T_STRING или T_VARIABLE или T_NUM_STRING в /hermes/waloraweb085/b2027/moo.lutarinet/jointest.php on line 71 – Ellie

+0

, который является линией 71? –

+0

С концом я получаю это Предупреждение: session_start() [function.session-start]: Не удается отправить ограничитель кеша сеанса - уже отправленные заголовки (вывод запущен в /hermes/waloraweb085/b2027/moo.lutarinet /jointest.php:3) в /hermes/waloraweb085/b2027/moo.lutarinet/jointest.php в строке 30 Что такое: Ellie

1
if(isset($_POST["captcha"])) 
if($_SESSION["captcha"]==$_POST["captcha"]) 
{ 
    //CAPTHCA is valid; proceed the message: save to database, send by e-mail ... 
echo 'CAPTHCA is valid; proceed the message'; 
} 
else 
{ 
    echo 'CAPTHCA is not valid; ignore submission'; 
} 

Вы упускаете фигурную скобку на первом, если ...

if(isset($_POST['captcha'])) 
{ 
    if($_SESSION['captcha'] == $_POST['captcha']) 
    { 
     //CAPTHCA is valid; proceed the message: save to database, send by e-mail ... 
     echo 'CAPTHCA is valid; proceed the message'; 
    } 
    else 
    { 
     echo 'CAPTHCA is not valid; ignore submission'; 
    } 
} 
// Need another else for first if here or keep it closed if you don't have an else 
+0

Ошибка анализа: синтаксическая ошибка, неожиданный T_ENCAPSED_AND_WHITESPACE, ожидающий T_STRING или T_VARIABLE или T_NUM_STRING в /hermes/waloraweb085/b2027/moo.lutarinet/jointest.php в строке 72, которая есть: if (isset ($ _ POST ['captcha'])) { – Ellie

Смежные вопросы