###質問したいこと
独学でphpを勉強しているものです。
codezineのこちらの記事を見ながら会員登録機能を実装させようとしています。
http://codezine.jp/article/detail/4044
サンプルのソースコードを見つつ見よう見まねで書いてみたのですが、うまく動作しない状態です。
下記は会員登録フォームのphpで、ログイン済みの場合は情報更新、ログインしていない場合は新規登録、ログイン済みの場合はDBからユーザー情報を取得するという順番でif文を書いています。
php
1//以降会員登録プログラム 2 //会員登録 3 if( $_REQUEST["cmd"] == "do_registration"){ 4 //ログインしている場合のプログラム 5 if( $_SESSION["user_no"] !=""){ 6 $sql ="update customer set"; 7 $sql . ="user_id ='".$_REQUEST["user_id"]."',"; 8 $sql . ="pass ='".$_REQUEST["pass"]."',"; 9 $sql . ="name ='".$_REQUEST["name"]."',"; 10 $sql . ="mail ='".$_REQUEST["mail"]."'"; 11 $res =mysql_query( $sql); 12 } 13 else{ 14 //ログインしていない場合のプログラム 15 $sql ="insert into customer( user_id, pass, name, mail)"; 16 $sql . ="values("; 17 $sql . =" '".$_REQUEST["user_id"]."',"; 18 $sql . =" '".$_REQUEST["pass"]."',"; 19 $sql . =" '".$_REQUEST["name"]."',"; 20 $sql . =" '".$_REQUEST["mail"]."')"; 21 $res =mysql_query( $sql); 22 } 23 } 24 25//ログインしている時にユーザー情報をDBから取得するプログラム 26 if( $_SESSION["user_no"] !=""){ 27 $sql = " select * from customer"; 28 $sql . =" where user_no = '".$_SESSION["user_no"]."'"; 29 $res = mysql_query( $sql); 30 $info = mysql_fetch_array( $res ); 31 }
下記は会員登録フォームのHTMLです。
html
1<form action="registration.php" method="post"> 2 <input type="hidden" name="cmd" value="do_registration"> 3 <dl class="registration-form"> 4 <dt>ID:</dt> 5 <dd><input type="text" name="user_id" value="<?php print($info["user_id"]);?>"></dd> 6 <dt>パスワード:</dt> 7 <dd><input type="password" name="pass" value="<?php print($info["pass"]); ?>"></dd> 8 <dt>お名前</dt> 9 <dd><input type="text" name="name" value="<?php print($info["name"]); ?>"></dd> 10 <dt>メールアドレス</dt> 11 <dd><input type="text" name="mail" value="<?php print($info["mail"]); ?>"></dd> 12 </dl> 13 <input type="submit" value="登録"> 14 </form>
MySQLでのテーブル名はcustomer、カラムはuser_noをinteger、user_id、pass、name、mailはそれぞれvarです。
PRIMARY KEYはuser_noに設定しています。
ファイル名はどちらもregistration.phpです。
また、SQLとの接続はされています。
###発生している問題・エラーメッセージ
「localhostページは機能していません」と出ます。
###試したこと
上記のphpコードを丸ごと消し、ファイル冒頭に記述している
php
1<?php 2 session_start(); 3 $host = "localhost"; 4 $user = "root"; 5 $pass = "root"; 6 $dbname = "empass"; 7 if(!$con = mysql_connect($host, $user, $pass)){ 8 die("MySQL接続エラー"); 9 } 10 mysql_select_db($dbname); 11 mysql_set_charset("utf8");
のみをphpとして記述したところ、ページが開けたので、会員登録フォームのphpが問題かと思われます。
また、codezineのサンプルソースコードをそのままコピペして(サンプルと同じDBも作りました)表示させようとしたところ、そちらでも同じメッセージが出てしまったので、サンプルが間違っているのかな……?とも考えています。
以上、始めたばかりの初心者ですが、どこが原因か分かる方がいらっしゃいましたら、ご回答いただけますと嬉しいです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/20 06:59