私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
$_POST['txtId']と$_POST['txtPAss']
for文やforeach文で繰り返す(もしくはin_arrayなど)
if文で条件比較
for文やforeach文で繰り返す(もしくはin_arrayなど)
if文で条件比較
組み合わせたり書き方を工夫すれば工数を減らせるが1つずつやると
$arrUser = array("guest", "admin", "test");
$arrPass = array("goma", "adm", "test");
//ユーザーIDとパスワードの組み合わせが正しい場合
for ($i = 0; $i < count($arrUser); $i++) {
if ($_POST['txtId'] == $arrUser[$i] && $_POST['txtPass'] == $arrPass[$i]) {
echo "認証成功";
break;
}
}
//ユーザーIDが存在しない場合
if (in_array($_POST['txtId'], $arrUser)) {
echo "ユーザーIDが存在しません";
}
//ユーザーIDは存在するがパスワードが誤っている場合
for ($i = 0; $i < count($arrUser); $i++) {
if ($_POST['txtId'] == $arrUser[$i] && $_POST['txtPass'] != $arrPass[$i]) {
echo "パスワードが違います";
break;
}
}
//ユーザーID、またはパスワードのいずれかが空白の場合
if (empty($_POST['txtId']) || empty($_POST['txtPass'])) {
echo "ユ-ザーIDまたはパスワードが未入力です";
}
今ここで書いて実際には動かしてないから動くかは知らない
$arrUser = array("guest", "admin", "test");
$arrPass = array("goma", "adm", "test");
//ユーザーIDとパスワードの組み合わせが正しい場合
for ($i = 0; $i < count($arrUser); $i++) {
if ($_POST['txtId'] == $arrUser[$i] && $_POST['txtPass'] == $arrPass[$i]) {
echo "認証成功";
break;
}
}
//ユーザーIDが存在しない場合
if (in_array($_POST['txtId'], $arrUser)) {
echo "ユーザーIDが存在しません";
}
//ユーザーIDは存在するがパスワードが誤っている場合
for ($i = 0; $i < count($arrUser); $i++) {
if ($_POST['txtId'] == $arrUser[$i] && $_POST['txtPass'] != $arrPass[$i]) {
echo "パスワードが違います";
break;
}
}
//ユーザーID、またはパスワードのいずれかが空白の場合
if (empty($_POST['txtId']) || empty($_POST['txtPass'])) {
echo "ユ-ザーIDまたはパスワードが未入力です";
}
今ここで書いて実際には動かしてないから動くかは知らない
いまさらだが>>308のin_arrayのとこは!in_arrayだな
まぁマルチみたいだしどうでもいいけど
まぁマルチみたいだしどうでもいいけど
>>286
var_exportの2番目の引数を TRUE でいけますた。
例:
<?php
$bool_var = TRUE;
echo 'bool_var(TRUE): ' . var_export($bool_var, TRUE);
echo '<br />';
$bool_var = FALSE;
echo 'bool_var(FALSE): ' . var_export($bool_var, TRUE);
?>
出力:
bool_var(TRUE): true
bool_var(FALSE): false
>>285-287
ちょっとしたことだったのですが、できて助かりました。ありがとうございましたー。
var_exportの2番目の引数を TRUE でいけますた。
例:
<?php
$bool_var = TRUE;
echo 'bool_var(TRUE): ' . var_export($bool_var, TRUE);
echo '<br />';
$bool_var = FALSE;
echo 'bool_var(FALSE): ' . var_export($bool_var, TRUE);
?>
出力:
bool_var(TRUE): true
bool_var(FALSE): false
>>285-287
ちょっとしたことだったのですが、できて助かりました。ありがとうございましたー。
簡単な掲示板を作ってます。
名前のところが空白だった場合 名無し と表示させたいのですが
考えても中々解決できませんでした。
$name=$_POST["name"];
if ($_POST["name"]==""); {
ここから先が OTZ
名前のところが空白だった場合 名無し と表示させたいのですが
考えても中々解決できませんでした。
$name=$_POST["name"];
if ($_POST["name"]==""); {
ここから先が OTZ
>>319
ん??
ん??
strlenって関数 勉強になりました。
変数に値があるかどうかチェックするんですね。
これからも使えそうです。
皆さんありがとうございました
変数に値があるかどうかチェックするんですね。
これからも使えそうです。
皆さんありがとうございました
おっと・・・
これで良いんですよね?
if ($_POST["name"]==""); {
の所を
if (!strlen($name)) {
$name ="名無し";
これで良いんですよね?
if ($_POST["name"]==""); {
の所を
if (!strlen($name)) {
$name ="名無し";
だから
if ($_POST["name"]==="")でいいっちゅうに
PHPは型が曖昧だからこういうことがおきるわけで
strlenは文字数数える関数だし使い方として不自然
if ($_POST["name"]==="")でいいっちゅうに
PHPは型が曖昧だからこういうことがおきるわけで
strlenは文字数数える関数だし使い方として不自然
要約しなくていいから詳しく説明してくれ
強引?文字列で渡ってくる値を文字列判定用の関数で判定してどこが強引?
強引?文字列で渡ってくる値を文字列判定用の関数で判定してどこが強引?
>>335
上のほう見ればわかるが
$a = "";
$b = 0;
この時PHPでは$a == $bが成立してしまう
型を意識した場合この現象はおかしいから===で型のチェックまで行うべきということ
型のチェックで回避できるのにそれをせずに別の方法を模索した結果
strlenで文字数数えて0だったらという裏技的なものが強引と言いたい
型を意識しないPHPユーザーらしいといえばらしいし
確かに方法も色々あるしできればそれでもいいと言う考えもあるが美しくない
ようするに演算子で解決できるのにわざわざ関数を使う必要はないということ
上のほう見ればわかるが
$a = "";
$b = 0;
この時PHPでは$a == $bが成立してしまう
型を意識した場合この現象はおかしいから===で型のチェックまで行うべきということ
型のチェックで回避できるのにそれをせずに別の方法を模索した結果
strlenで文字数数えて0だったらという裏技的なものが強引と言いたい
型を意識しないPHPユーザーらしいといえばらしいし
確かに方法も色々あるしできればそれでもいいと言う考えもあるが美しくない
ようするに演算子で解決できるのにわざわざ関数を使う必要はないということ
確かにPHPは型が曖昧な気持ち悪い言語だが
冷静に考えてみれば===で型チェックする必要も
strlenで長さ測る必要もない
なぜなら受け取った値が数値でもそれは文字列だからだ
""と0は同じだが""と"0"は同じでない
ようするに>>321のツッコミが間違っていたわけだ
冷静に考えてみれば===で型チェックする必要も
strlenで長さ測る必要もない
なぜなら受け取った値が数値でもそれは文字列だからだ
""と0は同じだが""と"0"は同じでない
ようするに>>321のツッコミが間違っていたわけだ
>>336
肝心なところで理由述べてないから説明になってないよ。
型チェックが良くて関数使うのが「裏技」で「強引」な理由は?
「演算子」が良くて「関数」が悪い理由は?
「美しくない」のは単なる主観では?もし合理的な理由があるならそれは何?
例えるなら「サッカーより野球のほうが優れている。なぜならバットを使うのが裏技だからだ。」
「醤油ラーメンよりとんこつラーメンのほうが優れている。なぜなら色が裏技だからだ。」
と言ってるようなもん。
つか関数使うと裏技と感じちゃうってもしかして初心者?
>>337
http://jp.php.net/manual/ja/types.comparisons.php
残念ながらあなたが間違いです
肝心なところで理由述べてないから説明になってないよ。
型チェックが良くて関数使うのが「裏技」で「強引」な理由は?
「演算子」が良くて「関数」が悪い理由は?
「美しくない」のは単なる主観では?もし合理的な理由があるならそれは何?
例えるなら「サッカーより野球のほうが優れている。なぜならバットを使うのが裏技だからだ。」
「醤油ラーメンよりとんこつラーメンのほうが優れている。なぜなら色が裏技だからだ。」
と言ってるようなもん。
つか関数使うと裏技と感じちゃうってもしかして初心者?
>>337
http://jp.php.net/manual/ja/types.comparisons.php
残念ながらあなたが間違いです
>>338
十分説明になってると思うがね
では逆に質問させてもらうが
演算子でできるのになぜややこしい関数を使う必要があるの?
>つか関数使うと裏技と感じちゃうってもしかして初心者?
関数を使うことが裏技だなんていっていない
型に起因することだから型のチェックで済ませばいいだけで
それ以外のことでやるのが強引と言っただけ
十分説明になってると思うがね
では逆に質問させてもらうが
演算子でできるのになぜややこしい関数を使う必要があるの?
>つか関数使うと裏技と感じちゃうってもしかして初心者?
関数を使うことが裏技だなんていっていない
型に起因することだから型のチェックで済ませばいいだけで
それ以外のことでやるのが強引と言っただけ
>>338
せめて実際にやってみてから言えよ・・・
<form method="post" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>">
<input type="text" name="hoge">
<input type="submit">
</form>
<?php
if (isset($_POST['hoge']) && $_POST['hoge'] == "") {
echo "名無しi";
}
?>
せめて実際にやってみてから言えよ・・・
<form method="post" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>">
<input type="text" name="hoge">
<input type="submit">
</form>
<?php
if (isset($_POST['hoge']) && $_POST['hoge'] == "") {
echo "名無しi";
}
?>
>>338
boolean表が一緒だから同じだと思ったの?
$a = "";
$b = "0";
if (!$a && !$b) {
echo "同じ";
}
これなら同じだろうよ
だけど今比較してるのは文字列の内容だろ?
if ($a == $b) {
echo "同じ";
}
煽るんならそれなりの実力をつけてからにしろな?
boolean表が一緒だから同じだと思ったの?
$a = "";
$b = "0";
if (!$a && !$b) {
echo "同じ";
}
これなら同じだろうよ
だけど今比較してるのは文字列の内容だろ?
if ($a == $b) {
echo "同じ";
}
煽るんならそれなりの実力をつけてからにしろな?
>>339
質問を質問で返すとテスト0点になるのを知らないのか?マヌケ
質問を質問で返すとテスト0点になるのを知らないのか?マヌケ
自分でマニュアルで答えだしておいて自信たっぷりに
> 残念ながらあなたが間違いです
こういうこと言っちゃうのはどうかと・・・
特に"残念"とか一言余計
匿名で減るものでもないんだし非を認めて謝ればいい
あと匿名といえど言葉は選んだほうがいい
本題だけど
>>338が出してるマニュアルの==による比較表を見てわかる通り
0==""はtrue、"0"==""はfalse
厳密な比較だと表の通り
0===""はfalse、"0"===""はfalse
""と比較してfalseになればいいのでint型の0の時は厳密な比較でいいけど
フォームから受け取った値はString型の"0"なので緩やかな比較でも問題ない
つまり型に起因するというのも今回のケースでは関係ない
>>324はフォームからでなくテスト用に変数に0と入れたのだろうか・・・
そこが気になる
最初のレスでズバリな答えが出てるのに
何か勘違いした人がツッコミを入れるとややこしくなる
ID出すほうのスレの280あたりの話もそうだった
> 残念ながらあなたが間違いです
こういうこと言っちゃうのはどうかと・・・
特に"残念"とか一言余計
匿名で減るものでもないんだし非を認めて謝ればいい
あと匿名といえど言葉は選んだほうがいい
本題だけど
>>338が出してるマニュアルの==による比較表を見てわかる通り
0==""はtrue、"0"==""はfalse
厳密な比較だと表の通り
0===""はfalse、"0"===""はfalse
""と比較してfalseになればいいのでint型の0の時は厳密な比較でいいけど
フォームから受け取った値はString型の"0"なので緩やかな比較でも問題ない
つまり型に起因するというのも今回のケースでは関係ない
>>324はフォームからでなくテスト用に変数に0と入れたのだろうか・・・
そこが気になる
最初のレスでズバリな答えが出てるのに
何か勘違いした人がツッコミを入れるとややこしくなる
ID出すほうのスレの280あたりの話もそうだった
>>344-345
だから型に起因する問題って何?
(再掲)文字列で渡ってくる値を文字列判定用の関数で判定してどこが強引?
無理に===""や==""で比較することに固執してるから悪いんだろ。
何をもって強引としてるのか要約しなくていいからはっきり説明して下さいな。
だから型に起因する問題って何?
(再掲)文字列で渡ってくる値を文字列判定用の関数で判定してどこが強引?
無理に===""や==""で比較することに固執してるから悪いんだろ。
何をもって強引としてるのか要約しなくていいからはっきり説明して下さいな。
メール受信でヘッダーからReceived: fromの送信元ipを取得したいのですが
どんな方法で取得できるのでしょうか?
どんな方法で取得できるのでしょうか?
おい人力検索ボランティアども
windowsでmysqlのコマンドラインからバージョンを調べる方法を教えろやゴルァ
windowsでmysqlのコマンドラインからバージョンを調べる方法を教えろやゴルァ
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- 【PHP】ID出さなくても質問OKなスレ【初心者歓迎】 (836) - [100%] - 2009/8/18 21:04 ○
- 【PHP】ID出さんでも質問OKなスレ【初心者歓迎】2 (1001) - [86%] - 2009/11/19 20:19 ○
- 【PHP】フレームワーク CakePHP 3ホール目【本命】 (1001) - [33%] - 2008/6/19 7:19 ○
- 【PHP】フレームワークについて語るスレ13【総合】 (985) - [31%] - 2009/9/23 3:04 ○
トップメニューへ / →のくす牧場書庫について