有没有办法可以找出我的数据字符串是否被传递给我的PHP函数

我正在调用ajax表单提交脚本,如下所示:

$(function() { $('.simple-success').hide(); $("#submit_button").click(function() { var firstname=$("input#Firstname").val(); var lastname=$("input#Lastname").val(); var email = $("input#email").val(); var title = $("input#title").val(); var organization = $("input#organization").val(); var dataString = 'firstname='+ firstname + '&lastname=' + lastname + '&email=' + email + '&title=' + title + '&organization=' + organization; $.ajax({ type: "POST", url: "optIn.php", data: dataString, success: function() { $('.emailform').fadeOut(100).hide(); $('.simple-success').fadeIn(100).show(); alert('sucess') } }); return false; }); }); 

该脚本从表单中提取数据,因为我能够在数据串的警报中查看数据。但由于某些奇怪的原因,即使PHP脚本看起来正确,数据也永远不会被发送到数据库。 PHP脚本如下

  

mysql服务器位于服务器上,并且已经创建了带有表的数据库,所以我不确定这里出了什么问题

任何输入都会很棒

您可以在php中回显您需要的所有内容并提醒它:

 success: function(html) { $('.emailform').fadeOut(100).hide(); $('.simple-success').fadeIn(100).show(); alert(html) } 

它还会显示php文件中发生的错误。

第一种选择:使用xdebug。 http://xdebug.org这是最好的选择,因为它将为您提供全面的调试支持,并可以帮助您解决各种PHP / MySQL问题。 但是,设置正确可能会很痛苦,并且根据您的环境,它可能不是一种选择。

第二个选项:查看PHP错误日志。 此日志的位置取决于您的服务器设置。 如果您正在使用托管服务,则应通过主机的控制面板提供此服务。 如果您的服务器是带Apache的Linux,则日志通常位于您的Apache日志文件(/var/log/apache2/error.log或类似文件)或vhost日志文件(与文档根目录相同的日志文件夹中) )。 只需检查日志即可快速诊断和修复许多PHP错误。

第三个选项:打印错误字符串。 试试这个:

 if( !mysql_query( $SQL2 ) ) { die( 'Error ' . mysql_errno( ) . ': ' . mysql_error( ) ); } 

然后检查Firebug或类似工具中的响应。

无论你做什么,一定要确保消毒那些输入。 永远不要假设来自Web客户端的任何数据是安全的,因为将任意数据发布到表单是微不足道的。 试试这个: http : //us.php.net/manual/en/function.mysql-real-escape-string.php