Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php captcha.org没有';行不通_Php_Captcha - Fatal编程技术网

php captcha.org没有';行不通

php captcha.org没有';行不通,php,captcha,Php,Captcha,我在phpcaptcha.org上有一张表格。但是当我提交表单时,我看到一个白色屏幕,验证码脚本不起作用,其他代码起作用。 有人能帮我验证码有什么问题吗 提前谢谢 我的提交代码是: <?php session_start(); //captcha include_once $_SERVER['DOCUMENT_ROOT'] . 'securimage/securimage.php'; $securimage = new Securimage(); include 'connect.p

我在phpcaptcha.org上有一张表格。但是当我提交表单时,我看到一个白色屏幕,验证码脚本不起作用,其他代码起作用。 有人能帮我验证码有什么问题吗

提前谢谢

我的提交代码是:

<?php
session_start();

//captcha
include_once $_SERVER['DOCUMENT_ROOT'] . 'securimage/securimage.php';
$securimage = new Securimage();


include 'connect.php';


$sql = "INSERT INTO users (username, password)VALUES (?, ?)";
$stmt = $link->prepare($sql);
$stmt->bind_param("ss", $username, $password);


 $username = $_POST['username'];

 $password = md5($_POST['password']);

$stmt->execute();


//captcha
if ($securimage->check($_POST['captcha_code']) == false) {
  // the code was incorrect
  // you should handle the error so that the form processor doesn't continue

  // or you can use the following code if there is no validation or you do not know how
  echo "The security code entered was incorrect.<br /><br />";
  echo "Please go <a href='javascript:history.go(-1)'>back</a> and try again.";
  exit;
}

if (! $sql) {
    echo "Account not created";
} 
    echo 'Account created, click <a href="index.php">here</a>';

$stmt->close();
mysqli_close($link);

?> 

我认为主要问题隐藏在
include\u once$\u服务器['DOCUMENT\u ROOT']中securimage/securimage.php'行。您是否尝试过在securimage/securimage.php前面再加一个斜杠(/)呢?看起来PHP正在尝试包含指定的文件,由于缺少斜杠而找不到该文件,继续执行其余代码,并且无法创建新的Securimage变量,因为类型未定义。如果将
include_once()
更改为
require_once()
,则可能会出现错误


另一方面,我强烈建议使用比MD5更强的散列算法,后者在安全性方面非常弱。请考虑使用PHP中的内置<强> <强>函数,使用更强的算法如<强> BooFISH 或<强> Sa-512。如果上面有PHP5.5,您可能还会发现另一个名为的内置PHP函数非常有用。希望这对您有所帮助。

ini\u set('display\u errors',1);ini设置(“显示启动错误”,1);错误报告(E_全部);错误是:警告:include_once(C:/xampp/htdocssecurimage/securimage.php):打开流失败:第12行的C:\xampp\htdocs\folder\register.php中没有这样的文件或目录警告:include_once():打开包含的“C:/xampp/htdocssecurimage/securimage.php”失败(include_path=';C:\xampp\php\PEAR')在第12行的C:\xampp\htdocs\folder\register.php中,致命错误:在第13行的C:\xampp\htdocs\folder\register.php中找不到类“Securimage”,请读取错误消息,然后读取第5行。您缺少目录分隔符。将第5行更改为
include_once$_SERVER['DOCUMENT_ROOT']/securimage/securimage.php'