ユーザーのアドレスを読み取るPHPプログラムを作っています。
詳細を言うと、
ユーザーにtextareaにアドレスをinputしてもらい、
それをsubmitで送信。
その後、その送信された文字列の中に@があれば、
正当なアドレスと認識してデータベースに保存、そして
「ご参加ありがとうございます」と表示。
ただし、これまでに同じアドレスが保存されている場合は、
ユーザーに「以前に登録されたアドレスです」と知らせる。
という単純なプログラムです。
以下のコードを見てください。
<html>
<head>
</head>
<body>
<?php
$ad = $_POST["address"];
$file = fopen("adData.txt", "a"); //データベースを作成
fclose($file);
$fileData = file("adData.txt"); //データベースの読み込み
$j =0; //カウンタ
for($i=0;$j <count($fileData);$++)
{
if($ad == $fileData) //$adが$fileDataに含まれれば
$j++; // $j >0
}
....
と今ここでいきずまってます。
ここで質問なのですが、
$adに@が含まれるか否かを調べるにはどのようにしたらよいでしょうか?
perlでいう $ad =~ /@/ のような表現はありますか?
あと上のコードは正しいコードでしょうか?
もしよければアドバイスをいただけますか。お願いします。
No.1ベストアンサー
- 回答日時:
preg_match()があります
http://jp.php.net/manual/ja/function.preg-match. …
ちなみに、@があるかどうかで メールアドレスかどうかを判断するにはちょと乱暴かな と思いますよ
あとは、ここ
if($ad == $fileData) //$adが$fileDataに含まれれば
構文エラーは出ないはずですが、$fileDataはarrayでは?
実証/検証してないので自身なし
No.3
- 回答日時:
ちなみにPHPのマニュアルでは単純な文字検索は主に速さの観点からstrposの使用を推奨しています。
戻り値が0の場合があるため型の違いも考慮する「===演算子」を使用することに注意してください。if(strpos($ad,"@") !== FALSE){
echo "$adに@が含まれています"
}
参考URL:http://jp.php.net/manual/ja/function.strpos.php
No.2
- 回答日時:
> $file = fopen("adData.txt", "a"); //データベースを作成
>
> fclose($file);
fopen()とfclose()の間に、処理は何もないのですか?
オープンした直後にクローズすることにどのような意味合いがあるのか、
今一つつかめません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでFilename cannot be empty...
-
別のサーバにあるファイルの存...
-
AS3外部テキスト読み込み
-
stat failed
-
アクセス毎にリンクを自動変更
-
2つの画像ファイルが異なるファ...
-
PHP5のsimplexml_load_fileで取...
-
3つ以上の論理積は利用可能なの...
-
.phpファイルが、表示されない
-
PHP4対応のサーバーではinclude...
-
PHPのif文でその処理を途中で抜...
-
フォントの色を変えるには?
-
zip圧縮の種類について
-
トランザクションが原因?DBに...
-
VB.NET 最下位のディレクトリ名...
-
.phpと.incファイルの違いはな...
-
CSV出力にHTMLが入ってしまう
-
makefile でファイルをコピーす...
-
$_SESSION 有効期限をブラウザ...
-
CFileDialogの最初のディレクト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPでFilename cannot be empty...
-
2つの画像ファイルが異なるファ...
-
ファイル名は、数字の「0」(...
-
ファイルの行数取得
-
phpのftp_get()でエラーが出ます。
-
stat failed
-
XMLのロードに失敗する
-
pdfファイルをメンバーのみに閲...
-
ディレクトリ内の最新の画像の...
-
fputの応用
-
Smartyで吐き出されたhtmlソー...
-
日本語のファイルが開けない
-
ファイルのダウンロードについて
-
phpでファイルを読み込んで保存...
-
CSV出力
-
shift-jisでfgetcsv
-
ユーザーのアドレスを読み取る
-
PHP、ファイルロックの失敗で消...
-
テキストファイルの読み込みと...
-
二次元配列のソートのやり方が...
おすすめ情報