###前提・実現したいこと
現在、ユーザがフォームに入力した情報(ID,name,Email,password)をDB(mysql)を登録するようなサンプルを作成しています。(フォーム上でパスワードと確認用が一致しているかのチェックをJSファイルで行っています。)
既にphpmyadminで挿入しているレコードがフォームに入力されたときには、「その名前(Emailアドレス)は使われています」というメッセージが動的に表示されるような仕様です。
※このメッセージは表示できているので、DB接続はできていると考えています。
※idはPK,autoincrementとしています。
※insert.phpの"INSERTED"や”not allowed”は見えていませんが、validationtest.jsの"Success! You have registered!"や"Error"はalertで表示できています。
###発生している問題・エラーメッセージ
困っていることは、DBにレコード情報をフォームに入力し、登録ボタンを押したときに、「登録しました」というalertが出るのにも関わらず、phpmyadminの画面を見ると、レコードが登録できていません。
phpmyadminの設定の問題もあるかもしれませんが、切り分け方法含め、insertできない理由をアドバイスいただければと思います。
よろしくお願いします。
エラーメッセージ
エラーメッセージは出ません。
###該当のソースコード
■validationtest.js(呼び出し側)の一部
$('#send').click(function(){ var all = $("form").serialize(); if((validateName() & validateEmail() & validatePass1() & validatePass2()) == true){ $.ajax({ type: "POST", url: "insert.php", data: all, success: function(data){ if(data=="INSERTED"){ alert('Success! You have registered!'); }else{ alert('Errors!'); } } }); }else{ alert("You have errors!"); } });
■insert.php
<?php $name = &$_POST['name']; $email = &$_POST['email']; $password = &$_POST['pass1']; $cpassword = &$_POST['pass2']; if($name && $email && $password && $cpassword){ mysql_connect("localhost", "root", "") or die("We couldn't connect!"); mysql_select_db("DBの名前を入れています"); mysql_query("INSERT INTO users(name,email,password) VALUES('$name','$email','$cpassword')"); //$passwordでも試しましたが、ダメでした。 echo "INSERTED"; }else{ echo "not allowed"; } ?>
###試したこと ・insert.phpを呼び出し側のvalidationtest.js ・insert.php内のmysql_queryの文法チェック ###補足情報(言語/FW/ツール等のバージョンなど) ローカルのXAMPP5.5.30-6の環境ですので、PHP5.6.15だと思います。
回答2件
あなたの回答
tips
プレビュー