電子書籍の厳選無料作品が豊富!

php初心者です

issetで変数の中に値が入っているか調べたいのですがphp5.4でフォームから文字列を送るとfalseになってしまいます。

文字列が入っているかチェックしたいのですがどうしたらいいでしょうか?

if(isset($_POST['title'])&&$_POST['title']!=''){
$title = $_POST['title'];
}else{
$title = '';
}

よろしくお願いします

A 回答 (3件)

下記ソースで試しましたが、問題ありません。

form要素(method属性)が間違っていないか再確認してください(誤りがあるとGETになるので)。

<?php
if(isset($_POST['title'])&&$_POST['title']!=''){
$title = $_POST['title'];
}else{
$title = '';
}
print $title . '<hr>';
?>
<form action="" method="post">
<input type="text" name="title" value="">
<input type="submit">
</form>


個人的には

if ((isset($_POST['title']))&&($_POST['title'] !== '')) {

と書きたいところです(演算子の優先順位でハマりたくないので、なるべく括弧で括る)。




>他のやり方でもいいので文字と数字両方値があるかチェックする方法教えてください

「文字と数字両方値があるか」とはどういう意味でしょうか?数字(0~9)とそれ以外のascii文字の両方が含まれているかをチェックしたいということですか?今現在の内容とはまったく別次元の話になっていますけど(汗
    • good
    • 0
この回答へのお礼

回答ありがとうございます
今日やってみたら日本語も送れていました
5.4でissetの扱いが変わったみたいな記事をみて混乱してしまいました
すいません

お礼日時:2014/06/30 11:08

if(isset($_POST['title'])&&$_POST['title']!=''){


$title = $_POST['title'];
}else{
$title = '';
}



$titile = (string)filter_input(INPUT_POST, 'title');



貼るのN回目ですが(汗): http://qiita.com/mpyw/items/2f9955db1c02eeef43ea
    • good
    • 0
この回答へのお礼

回答ありがとうございます
きょうやってみたら、文字列でもチェックできていました
どこかでみた、php5.4からissetの扱いが変わったとゆう記事をみて混乱してしまいました
すいません

お礼日時:2014/06/30 11:13

ここに書かれている部分には特に問題はないけど…。


フォーム側のHTMLもあわせて提示しないといけませんよね。

この回答への補足

回答ありがとうございます
html側はこんなかんじです
日本語の入力を想定しています
php5.4です
他のやり方でもいいので文字と数字両方値があるかチェックする方法教えてください( _ _

タイトル<br>
<input type="text" name="title" value="">

補足日時:2014/06/30 02:11
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!