我的PHP脚本进入空白的信息到MySQL数据库!

当我尝试从我做了个表格输入数据,它增加了新的条目,我可以从phpmyadmin的看到,但不转移在其他细节

我使用一个简单的表格,收集9个行业发布是update.php。 以下是我在update.php

<?php $realname = $_POST['realname']; $age = $_POST['age']; $country = $_POST['country']; $gamename = $_POST['gamename']; $gamelevel = $_POST['gamelevel']; $itemlevel = $_POST['itemlevel']; $class = $_POST['class']; $played = $_POST['played']; $support = $_POST['support']; mysql_connect ("localhost", "mydb_userid", "MYPASSWORD") or die ('Error: ' . mysql_error()); mysql_select_db ("mydb_recruitment"); $query="INSERT INTO applicants (ID, realname, age, country, gamename, gamelevel, itemlevel, class, played, support)VALUES ('NULL','".$realname."','".$age."','".$country."','".$gamename."','".$gamelevel."','".$itemlevel."','".$class."','".$played."','".$support."')"; mysql_query($query) or die ('Error updating DB'); echo "You have sucessfully sent an application. Your details will be reviewed and someone will get back to you"; ?>

希望有人能帮助,搜索网似乎sugest一些关于全局变量 - 但我不知道我是否有该控件作为一个托管的网站。

这是注册表格:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Candidate Registration</title> </head> <body> <form medthod="post" action="update.php"> Real Name:<br /> <input type="text" name="realname" size="50" /><br /> Age:<br /> <input type="text" name="age" size="10" /><br /> Country:<br /> <input type="text" name="country" size="20" /><br /> In Game Name:<br /> <input type="text" name="gamename" size="30" /><br /> In Game Level:<br /> <input type="text" name="gamelevel" size="10" /><br /> In Game Item Level:<br /> <input type="text" name="itemlevel" size="10" /><br /> Class Played:<br /> <input type="text" name="class" size="30" /><br /> How long have you played wow?:<br /> <input type="text" name="played" size="10" /><br /> Please enter a brief statement of why you want to join:<br /> <input type="text" name="support" size="5000" /><br /> <br /> <input type="submit" value="Update DB" /> </form> </body> </html>

这是update.php形式

<?php $realname = $_POST['realname']; $age = $_POST['age']; $country = $_POST['country']; $gamename = $_POST['gamename']; $gamelevel = $_POST['gamelevel']; $itemlevel = $_POST['itemlevel']; $class = $_POST['class']; $played = $_POST['played']; $support = $_POST['support']; mysql_connect ("localhost", "mydb_daniel", "mypwd") or die ('Error: ' . mysql_error()); mysql_select_db ("mydb_recruitment"); $query="INSERT INTO applicants (ID, realname, age, country, gamename, gamelevel, itemlevel, class, played, support)VALUES ('NULL','".$realname."','".$age."','".$country."','".$gamename."','".$gamelevel."','".$itemlevel."','".$class."','".$played."','".$support."')"; mysql_query($query) or die ('Error updating DB'); echo "You have sucessfully sent an application. Your details will be reviewed and someone will get back to you"; ?>

我了解sercurity人民的担忧,但请理解这只是对我来说,惹周围,并产生一个基本的注册表单为我的公会,我不会被要求信用卡信息:)

--------------解决方案-------------

是您的表单方法设置为POST? -除非你明确地添加了这个变量将是在$_GET超全局所以你的变量会是这样:

$realname = $_GET['realname'];

如果它被设置为开机自检-请不要在var_dump($_POST)在脚本的顶部,并查看是否有任何变量都做它对你的脚本。

别的东西,我以前见过的,当人们在一个重定向造成.htaccess从domain.com到www.domain.com,他们张贴的脚本明确地向domain.com/script.php~~V然后脚本重定向到www。 domain.com/script.php这清空POST。

编辑

你已经拼写method错在你的表单标签-如果你更新这个那么它应该工作作为你的拼写错误会导致该变量作为发送GET瓦尔。

您可以修复在这样一种基本的方法您的安全问题:

$realname = mysql_real_escape_string($_POST['realname']);
$age = mysql_real_escape_string($_POST['age']);
$country = mysql_real_escape_string($_POST['country']);
$gamename = mysql_real_escape_string($_POST['gamename']);
$gamelevel = mysql_real_escape_string($_POST['gamelevel']);
$itemlevel = mysql_real_escape_string($_POST['itemlevel']);
$class = mysql_real_escape_string($_POST['class']);
$played = mysql_real_escape_string($_POST['played']);
$support = mysql_real_escape_string($_POST['support']);

哇,慢下来。 你甚至没有逃过此数据!

$realname = mysql_real_escape_string($_POST['realname']);

或逃避这一切:

$_POST = array_map('mysql_real_escape_string', $_POST);

注意第二溶液并不完全可靠。 可以产生一些奇怪的结果。 它通常是更好地运行通过一个函数/类这些输入验证和清洗。

在您的鬼的问题,试试这个,注意表格后提交响应(摆正顶部):

var_dump($_POST);
exit;

你拼写方法查询属性错了,这就是为什么它不工作。

分类:php 时间:2015-03-15 人气:1
本文关键词: PHP,MySQL和形式
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.675 (s). 10 q(s)