質問編集履歴

5 追記

earnest_gay

earnest_gay score 403

2016/06/09 03:21  投稿

会員登録フォームの制作においてページ遷移の判定がうまくできない
下記コードは制作中のものの一部ですが、会員登録フォームを制作しています。
2つの入力フィールドに入力したアドレスが異なっていた場合
・配列に何かしらの文字(ここではerror)を代入
・それと同時にエラー文を作っておく
異なっていた場合はEmail::equal()でエラー文を表示させる
異なっていなければ
sessionにPOST内容を記録させて
header('Location: register1.php');で
次のページに遷移する。
```ここに言語を入力
<?php
class Email{
   function equal(){
       $email1 = filter_input(INPUT_POST, 'email1');
       $email2 = filter_input(INPUT_POST, 'email2');
       if(isset($email1,$email2)){
           if($email1 !== $email2 ){
               $error['mailequal'] = "error";
               $errorms = '<div class="r_em">' . "メールアドレスが一致しません" . '</div>' ;
               return $errorms;
           }
       }
   }
}
if(!empty($_POST)){
   if($error['mailequal'] !== "error"){
       $_SESSION['join'] = $_POST;
       header('Location: register1.php');
       exit();
   }
}
?>
<tr>
   <td>E-mail</td>
   <td colspan="2"><input type="email" name="email1" maxlength="50" size="46" placeholder="info@example.com" ></td>
</tr>
<tr>
   <td>E-mail (確認用)</td>
   <td colspan="2"><input type="email" name="email2" maxlength="50" size="46" placeholder="info@example.com" ></td>
   <td><?php echo Email::equal(); ?></td>
</tr>
```
なのですが、ページ遷移のところでてこずっています。
異ならないアドレスで試してもページ遷移してしまうのですが、どうしたら良いでしょうか...?
多分、問題は外部からクラスへのアクセス方法になっているとおもいます。
$error['mailequal']をクラス外で使っているので未定義の変数を呼び出していることになって判定がうまくできないのだと思います。(違っていたら申し訳ない)
クラスはインスタン化せずに::で使てますが
エラー文の表示では、クラスはインスタン化せずに::で使てますが
クラスのプロパティ(変数?)にアクセスする方法が分かれば...
  • PHP

    37336 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

4 追記

earnest_gay

earnest_gay score 403

2016/06/09 03:20  投稿

会員登録フォームの制作においてページ遷移の判定がうまくできない
下記コードは制作中のものの一部ですが、会員登録フォームを制作しています。
2つの入力フィールドに入力したアドレスが異なっていた場合
・配列に何かしらの文字(ここではerror)を代入
・それと同時にエラー文を作っておく
異なっていた場合はEmail::equal()でエラー文を表示させる
異なっていなければ
sessionにPOST内容を記録させて
header('Location: register1.php');で
次のページに遷移する。
```ここに言語を入力
<?php
class Email{
   function equal(){
       $email1 = filter_input(INPUT_POST, 'email1');
       $email2 = filter_input(INPUT_POST, 'email2');
       if(isset($email1,$email2)){
           if($email1 !== $email2 ){
               $error['mailequal'] = "error";
               $errorms = '<div class="r_em">' . "メールアドレスが一致しません" . '</div>' ;
               return $errorms;
           }
       }
   }
}
if(!empty($_POST)){
   if($error['mailequal'] !== "error"){
       $_SESSION['join'] = $_POST;
       header('Location: register1.php');
       exit();
   }
}
?>
<tr>
   <td>E-mail</td>
   <td colspan="2"><input type="email" name="email1" maxlength="50" size="46" placeholder="info@example.com" ></td>
</tr>
<tr>
   <td>E-mail (確認用)</td>
   <td colspan="2"><input type="email" name="email2" maxlength="50" size="46" placeholder="info@example.com" ></td>
   <td><?php echo Email::equal(); ?></td>
</tr>
```
なのですが、ページ遷移のところでてこずっています。
異ならないアドレスで試してもページ遷移してしまうのですが、どうしたら良いでしょうか...?
多分、問題は外部からクラスへのアクセス方法になっているとおもいます。
$error['mailequal']をクラス外で使っているので未定義の変数を呼び出していることになって判定がうまくできないのだと思います。(違っていたら申し訳ない)  
 
 
クラスはインスタン化せずに::で使てますが
クラスのプロパティ(変数?)にアクセスする方法が分かれば...
  • PHP

    37336 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

3 追記

earnest_gay

earnest_gay score 403

2016/06/09 03:18  投稿

会員登録フォームの制作においてページ遷移の判定がうまくできない
下記コードは制作中のものの一部ですが、会員登録フォームを制作しています。
2つの入力フィールドに入力したアドレスが異なっていた場合
・配列に何かしらの文字(ここではerror)を代入
・それと同時にエラー文を作っておく
異なっていた場合はEmail::equal()でエラー文を表示させる
異なっていなければ
sessionにPOST内容を記録させて
header('Location: register1.php');で
次のページに遷移する。
```ここに言語を入力
<?php
class Email{
   function equal(){
       $email1 = filter_input(INPUT_POST, 'email1');
       $email2 = filter_input(INPUT_POST, 'email2');
       if(isset($email1,$email2)){
           if($email1 !== $email2 ){
               $error['mailequal'] = "error";
               $errorms = '<div class="r_em">' . "メールアドレスが一致しません" . '</div>' ;
               return $errorms;
           }
       }
   }
}
if(!empty($_POST)){
   if($error['mailequal'] !== "error"){
       $_SESSION['join'] = $_POST;
       header('Location: register1.php');
       exit();
   }
}
?>
<tr>
   <td>E-mail</td>
   <td colspan="2"><input type="email" name="email1" maxlength="50" size="46" placeholder="info@example.com" ></td>
</tr>
<tr>
   <td>E-mail (確認用)</td>
   <td colspan="2"><input type="email" name="email2" maxlength="50" size="46" placeholder="info@example.com" ></td>
   <td><?php echo Email::equal(); ?></td>
</tr>
```
なのですが、ページ遷移のところでてこずっています。
異ならないアドレスで試してもページ遷移してしまうのですが、どうしたら良いでしょうか...?
異ならないアドレスで試してもページ遷移してしまうのですが、どうしたら良いでしょうか...?
多分、問題は外部からクラスへのアクセス方法になっているとおもいます。
クラスはインスタン化せずに::で使てますが
クラスのプロパティ(変数?)にアクセスする方法が分かれば...
  • PHP

    37336 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

2 具体化

earnest_gay

earnest_gay score 403

2016/06/09 03:13  投稿

会員登録フォームの制作においてページ遷移の判定がうまくできない
下記コードは制作中のものの一部ですが、会員登録フォームを制作しています。
2つの入力フィールドに入力したアドレスが異なっていた場合
・配列に何かしらの文字(ここではerror)を代入
・それと同時にエラー文を作っておく
異なっていた場合はEmail::equal()でエラー文を表示させる
異なっていなければ
sessionにPOST内容を記録させて
header('Location: register1.php');で
次のページに遷移する。
```ここに言語を入力
<?php
class Email{
   function equal(){
       $email1 = filter_input(INPUT_POST, 'email1');
       $email2 = filter_input(INPUT_POST, 'email2');
       if(isset($email1,$email2)){
           if($email1 !== $email2 ){
               $error['mailequal'] = "error";
               $errorms = '<div class="r_em">' . "メールアドレスが一致しません" . '</div>' ;
               return $errorms;
           }
       }
   }
}
if(!empty($_POST)){
   if($error['mailcollation'] !== "error"){
   if($error['mailequal'] !== "error"){
       $_SESSION['join'] = $_POST;
       header('Location: register1.php');
       exit();
   }
}
?>
<tr>
   <td>E-mail</td>
   <td colspan="2"><input type="email" name="email1" maxlength="50" size="46" placeholder="info@example.com" ></td>
</tr>
<tr>
   <td>E-mail (確認用)</td>
   <td colspan="2"><input type="email" name="email2" maxlength="50" size="46" placeholder="info@example.com" ></td>
   <td><?php echo Email::equal(); ?></td>
</tr>
```
なのですが、ページ遷移のところでてこずっています。
異ならないアドレスで試してもページ遷移してしまうのですが、どうしたら良いでしょうか...?
  • PHP

    37336 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1 変更点あり

earnest_gay

earnest_gay score 403

2016/06/09 03:12  投稿

会員登録フォームの制作においてページ遷移の判定がうまくできない
下記コードは制作中のものの一部ですが、会員登録フォームを制作しています。
2つの入力フィールドに入力したアドレスが異なっていた場合
・配列に何かしらの文字(ここではerror)を代入
・それと同時にエラー文を作っておく
異なっていた場合はEmail::equal()でエラー文を表示させる
異なっていなければheader('Location: register1.php');で
異なっていなければ
sessionにPOST内容を記録させて
header('Location: register1.php');で
次のページに遷移する。
```ここに言語を入力
<?php
class Email{
   function equal(){
       $email1 = filter_input(INPUT_POST, 'email1');
       $email2 = filter_input(INPUT_POST, 'email2');
       if(isset($email1,$email2)){
           if($email1 !== $email2 ){
               $error['mailequal'] = "error";
               $errorms = '<div class="r_em">' . "メールアドレスが一致しません" . '</div>' ;
               return $errorms;
           }
       }
   }
}
if(!empty($_POST)){
   if($error['mailcollation'] !== "error"){
       $_SESSION['join'] = $_POST;
       header('Location: register1.php');
       exit();
   }
}
?>
<tr>
   <td>E-mail</td>
   <td colspan="2"><input type="email" name="email1" maxlength="50" size="46" placeholder="info@example.com" ></td>
</tr>
<tr>
   <td>E-mail (確認用)</td>
   <td colspan="2"><input type="email" name="email2" maxlength="50" size="46" placeholder="info@example.com" ></td>
   <td><?php echo Email::equal(); ?></td>
</tr>
```
なのですが、ページ遷移のところでてこずっています。
異ならないアドレスで試してもページ遷移してしまうのですが、どうしたら良いでしょうか...?
  • PHP

    37336 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る