尝试插入后的空白页面
首先,问题的原因是在进行插入操作时,代码中没有对字符串进行正确的定界。正确的代码应该是在`mysql_query`函数的参数中,对字符串使用引号进行定界。修改后的代码如下:
mysql_query("INSERT INTO data (usrname, fname, lname, password, email) VALUES ('$usrname', '$fname', '$lname', '$password', '$email')");
其次,为了避免安全问题,绝不能将未经验证的用户数据直接传入数据库查询中。应该先对每个值使用`mysql_real_escape_string()`函数进行转义处理,再进行插入操作。修改后的代码如下:
$usrname = mysql_real_escape_string($usrname); $fname = mysql_real_escape_string($fname); $lname = mysql_real_escape_string($lname); $password = mysql_real_escape_string($password); $email = mysql_real_escape_string($email); mysql_query("INSERT INTO data (usrname, fname, lname, password, email) VALUES ('$usrname', '$fname', '$lname', '$password', '$email')");
通过以上修改,即可解决出现"Blank page after attempt to insert"问题。
在尝试插入数据后出现(Blank page after attempt to insert)问题的原因可能是以下几点:
1. 代码中缺少分号:在第一个代码片段中,mysql_close($con)后缺少了分号。将其修改为mysql_close($con);可以解决该问题。
2. 代码中缺少引号和转义字符:建议引用$_POST并适当转义。可以参考链接https://stackoverflow.com/questions/2687866,了解如何在PHP中插入mysql时转义单引号。
3. 代码中缺少分号:在第二个代码片段中,echo("Thank you for registering!")后缺少了分号。将其修改为echo("Thank you for registering!");可以解决该问题。
4. 缺少date_default_timezone_set()函数:在修改代码后,可能会出现提示需要使用date_default_timezone_set()函数的错误。需要查找该函数的使用方法。
解决(Blank page after attempt to insert)问题的方法如下:
1. 在代码中加入缺少的分号,例如将mysql_close($con)修改为mysql_close($con);。
2. 引用$_POST并适当转义,以解决插入mysql时的引号问题。
3. 在echo语句后添加分号,例如将echo("Thank you for registering!")修改为echo("Thank you for registering!");。
4. 查找并使用date_default_timezone_set()函数,以解决相关错误提示。
希望以上方法能够帮助解决问题。