2012-03-04 2 views
0

に渡されている場合、私は見つけることができる方法はあります私はdatastring.Howeverの警告のデータを表示することができますようにフォームは、PHPスクリプトが正しいように見えますが、データがデータベースに送られることは決してありません。 PHPスクリプトは、MySQLサーバはサーバ上に配置されており、テーブルとデータベースが作成されているので、私はここで間違っは私のデータ列が、私は下記のようAjaxフォームは、スクリプトを提出呼び出しています私のPHP関数

を行くいただきまし任意の入力は素晴らしい

だろうかわからない

<?php 


    $firstname = stripslashes(strip_tags($_POST['firstname'])); 

    $lastname = stripslashes(strip_tags($_POST['lastname'])); 
    $email = stripslashes(strip_tags($_POST['email'])); 
    $title = stripslashes(strip_tags($_POST['title'])); 
    $organization = stripslashes(strip_tags($_POST['organization'])); 


$pdbHost = "localhost"; 
$pdbUserName = "******"; 
$pdbPassword = "******"; 
$pdbName  = "db1080824_emails"; 



// Connect to mySQL 
$conlink = mysql_connect($pdbHost, $pdbUserName, $pdbPassword); 
if(!$conlink) {die('Unable to connect to '.$pdbHost);} 
if (!mysql_select_db($pdbName, $conlink)){die('Cannot find database '.$pdbName);} 

//SQL query 

    $SQL2="INSERT INTO `db1080824_emails`.`emails` (`record_id` ,`firstname`,`lastname`,`email`,`title`,`organization`)VALUES (NULL , '".$firstname."', '".$lastname."', '".$email."', '".$title."', '".$organization."')"; 

    mysql_query($SQL2); 
// Connect to Closing the connection 
mysql_close($conlink); 
?> 

以下に示します。

+4

あなたはSQLインジェクションの脆弱性があります。 – SLaks

+0

私はすでにフォームの中で検証を行っていますので、PHPファイルのこの追加の検証は必要ありません。 –

+0

誰かがカールやハックバーアドオンで簡単にサーバーをハックする可能性があります。クライアント側の検証は楽しいものの、効果的ではありません。 –

答えて

0

あなたがPHPで必要なすべてをエコーすると、このようにそれを知らせることができます。また、PHPファイルで発生したエラーを表示します

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

    } 

+1

このようにSQLエラーをチェックすることもできます:mysql_query($ SQL2)またはdie(mysql_error()); –

0

最初のオプション:xdebugを使用します。 http://xdebug.orgこれは最適なオプションです。完全なデバッグサポートを提供し、さまざまなPHP/MySQLの問題を解決するのに役立ちます。しかし、それは正しく設定するのが苦痛で、環境によってはオプションではないかもしれません。

2番目のオプション:PHPエラーログを表示します。このログの場所は、サーバーの設定によって異なります。ホスティングサービスを使用している場合は、ホストのコントロールパネルから利用できるようにする必要があります。あなたのサーバがApacheを備えたLinuxの場合、ログはApacheログファイル(/var/log/apache2/error.logなど)またはvhostログファイル(ドキュメントルートと同じ場所にあるlogsフォルダ)。ログを確認するだけで、多くのPHPエラーを迅速に診断し修正することができます。

第3のオプション:エラー文字列を出力します。これを試してください:

次に、Firebugまたは同様のツールで応答を確認してください。

あなたが何をしていても、それらの入力を消毒することを確認してください。フォームに任意のデータをPOSTするのは簡単ではないので、Webクライアントからのデータは絶対に安全とはみなさないでください。試してみてください:http://us.php.net/manual/en/function.mysql-real-escape-string.php

関連する問題