ページ 11

phpとmysqlでidとパスワードを登録するようなシステムを作りたいです

Posted: 2012年9月15日(土) 20:42
by risarisa
ハッスルサーバーで

コード:

id_no 	int(11) 
	id	varchar(50)	 
	pass	varchar(20)
という感じにphpmyadminを用いてidとpassの項目をテーブルで作りました。
入力フォームはhtmlで作りました
がidとpassをtouroku.phpというのに渡したのですが
そのtouroku.phpに何をどうすれば
mysqlにidとパスワードを登録できるのかわかりません

よかったら教えてください

ちなみに入力フォームはこうなっています

コード:

<html>
<head>
<meta http-equiv="Content-Type"content="text/html;charset="utf-8"/>
<title>登録</title>
</head>
<body>
<form action="touroku.php"method="post">
	登録id :<br />
	<input type="text"name="id"size="10"value="" /><br />
	パス:<br />
	<input type="text"name="pass"size="10"value="" /><br />
	<br />
	<input type="submit"value="登録する" />
</form>
</body>
</html>

Re: phpとmysqlでidとパスワードを登録するようなシステムを作りたいです

Posted: 2012年9月15日(土) 20:46
by へにっくす
PHPで登録画面を作るには
参考になりますか?

Re: phpとmysqlでidとパスワードを登録するようなシステムを作りたいです

Posted: 2012年9月15日(土) 21:13
by risarisa
回答ありがとうございます

コード:

<body>
<?
//データベースに接続 
if (!$con = mysql_connect("サーバー名", "ユーザー名", "パスワード")) {
   echo "接続エラー" ;
   exit ;
}

//データベースを選択
if (!mysql_select_db("データベース名", $con)) {
   echo "データベース選択エラー" ;
   exit ;
}

//フォームで送られてきたデータでINSSERT文を作成
$sql = "insert into テーブル名(id, pass) values('$id', $pass)" ;

//SQLを実行
if (!$res = mysql_query($sql)) { 
   echo "SQL実行時エラー" ;
   exit ;
}

//データベースから切断
mysql_close($con) ;

//メッセージ出力
echo "登録完了" ;
?> 
</body>
</html>
という感じで作ってみて実行してみたのですが
Parse error: syntax error, unexpected '@' in 5行目
という感じでエラーが出てしまいます
間違いが見つからないのでですけど
どこが悪いでしょうか?

Re: phpとmysqlでidとパスワードを登録するようなシステムを作りたいです

Posted: 2012年9月15日(土) 21:24
by みけCAT
文字コードをUTF-8にして実行してみてください。

Re: phpとmysqlでidとパスワードを登録するようなシステムを作りたいです

Posted: 2012年9月15日(土) 21:33
by softya(ソフト屋)
全角の空白が入っているようです。半角にしてください。

Re: phpとmysqlでidとパスワードを登録するようなシステムを作りたいです

Posted: 2012年9月15日(土) 21:52
by risarisa
大文字おそらく見つかりました
ありがとうございます

教えてもらったサイトで
create table tsumiki_tbl(
   id int not null auto_increment,
   name varchar(20) not null,
   age int not null,
   primary key(id)
)
とテーブルを作成してみたら
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key(id) )' at line 5

たぶんバージョンが違うと思うのですが
どうしたらいいでしょうか?

Re: phpとmysqlでidとパスワードを登録するようなシステムを作りたいです

Posted: 2012年9月15日(土) 21:56
by softya(ソフト屋)
これも全角空白じゃないでしょうか?
何も考えずにコピペするのはやめたほうが良いと思いますよ。

Re: phpとmysqlでidとパスワードを登録するようなシステムを作りたいです

Posted: 2012年9月15日(土) 21:59
by みけCAT
softya(ソフト屋) さんが書きました:何も考えずにコピペするのはやめたほうが良いと思いますよ。
本当にコピペでしょうか?
掲示板用に打ち直している可能性も考えられます。

Re: phpとmysqlでidとパスワードを登録するようなシステムを作りたいです

Posted: 2012年9月15日(土) 22:24
by risarisa
softya(ソフト屋)さん
コピペはしてないですよ
idとかpass色とか色々変わってくるのでコピペじゃ対応できないことはわかっています
大文字にして少し変更してみたら対応できました
バージョンが変わってくると書式も変わってくるのでその問題だったようですよ

プログラムを実行してみたら
データベースエラーが出ますね

コード:

<body>
<?
//データベースに接続 
if (!$con = mysql_connect("サーバー名", "ユーザ名", "pass")) {
	echo "接続エラー";
	exit; 
}

//データベースを選択
if (!mysql_select_db("データベース名", $con)) {
echo "データベース選択エラー" ;
	exit ;
}

//フォームで送られてきたデータでINSSERT文を作成
$sql = "insert into テーブル名(id, pass) values('$id', $pass)" ;

//SQLを実行
if (!$res = mysql_query($sql)) { 
	echo "SQL実行時エラー" ;
	exit ;
}

//データベースから切断
mysql_close($con) ;

//メッセージ出力
echo "登録完了" ;
?> 
</body>
</html>
たぶんプログラム的な間違いはなくなったと思うんですけど
後はどういった問題が考えられるでしょうか?

Re: phpとmysqlでidとパスワードを登録するようなシステムを作りたいです

Posted: 2012年9月15日(土) 22:35
by YuO
risarisa さんが書きました:たぶんプログラム的な間違いはなくなったと思うんですけど
根本的に,mysql_*を使うこと自体が間違いという気が……。
MySQLiPDO使うことをお薦めします。

現状だと,[/list]あたりは基本的な問題点かと思います。 あと,失敗したならば[ur ... ysql_errorをちゃんと調べておくと良いです。
今回の問題も,もっと詳しく情報が得られるかと思います。
# デバッグ中ならとりあえずそのままechoで出力したり,error_logでログに出力したり,等。

Re: phpとmysqlでidとパスワードを登録するようなシステムを作りたいです

Posted: 2012年9月16日(日) 00:12
by risarisa
結構色々調べてたら何とかmysqlに登録することは出来ました。

コード:

<html>
<body>
<?
//データベースに接続 
if (!$con = mysql_connect("サーバー名", "ユーザー", "パス")) {
	echo "接続エラー";
	exit; 
}
//$idと$passに値を代入
$id=$_POST['id'];  
$pass=$_POST['pass'];
//データベースを選択
if (!mysql_select_db("データベース名", $con)) {
echo "データベース選択エラー" ;
	exit ;
}

//フォームで送られてきたデータでINSSERT文を作成
$sql = "insert into テーブル名(id, pass) values('$id', '$pass')" ;
//SQLを実行
print $id;
print $pass;

if (!$res = mysql_query($sql)) { 
print $res;
	echo "SQL実行時エラー" ;
	exit ;
}

//データベースから切断
mysql_close($con) ;

//メッセージ出力
echo "登録完了" ;
?> 
</body>
</html>
$idと$passに値が入ってないことに気づき、入力フォームの値を入れたら
なんとかなりました。
サイトで色々調べたんですが
何をやってるかわからないときが多数あったので
phpとmysqlなどについて詳しく書かれている本を一冊買おうと思います
何かお勧めはありませんか?
何かお勧めはないでしょうか?

Re: phpとmysqlでidとパスワードを登録するようなシステムを作りたいです

Posted: 2012年9月16日(日) 17:09
by risarisa
ありがとうございました