プロが教えるわが家の防犯対策術!

PHPで条件があった場合次のページに、とべるようにしたいのですが何と記述していいか調べてもいまいち解らないので質問させて頂きます。
<?php
$ID = $_POST['ID'];
$PWD = $_POST['PWD'];
if($db = sqlite_open('db_ninshou')){
$query = "SELECT ID, PWD FROM tbl_ninshou WHERE ID = '$ID' AND PWD = '$PWD'";
$result = sqlite_query($db, $query);
if($info = sqlite_fetch_array($result)){
print "認証に成功しました。下記URLから講義の登録を行ってください。\n";
print ここで次のページにとべる命令をしたのですが解りません。;
}else{
print "認証に失敗しました。再度入力してください。";
}
}else{
die("DBエラー");
}
sqlite_close($db);
?>

HTMLなら <A HREF = "URL">~</A>というふうに記述すればいいと思うのですが。リンクを貼る記述の仕方か、もしくは条件に当てはまったら自動的にページにとべるような命令の仕方を探しています。説明が下手で申し訳ありませんが・・・よろしくお願いします。

A 回答 (3件)

もし "でURLなどを囲みたい場合、以下のようにします。



print "<a href=\"アドレス\">リンク</a>";
または、
print '<a href="アドレス">リンク</a>';


参考までに、参考URLも見てみてください。

参考URL:http://it.kndb.jp/entry/show/id/798
    • good
    • 3

ANo.1の方が書かれたとおりですね。

画面に何も表示しなくてよければ、header('Location: ・・・')で飛ばす。一度何か表示したければ、アンカータグをブラウザに返す。表示後に自動で飛ばしたければ(指定したURLに何秒後かに遷移する)metaタグをブラウザに返す(遷移しないケースも考えてアンカータグも入れておく)。

質問者さんの書き方(認証に成功しました。下記URLから講義の登録を行ってください)だとアンカータグを書くしかないような・・。


(長い蛇足)
ちなみにphpからprintしたものはそのままブラウザに返されますから、あくまでもHTMLです。なので

> print "認証に成功しました。下記URLから講義の登録を行ってください。\n";

ここは最後に<br />を入れていないとブラウザで改行されませんよ。おそらくphpから返すものがHTMLだという認識がないと思われるので・・。

>HTMLなら <A HREF = "URL">~</A>というふうに記述すればいいと思うのですが

そのとおりにアンカータグをprintすればいいだけです。
    • good
    • 1
この回答へのお礼

詳しい説明有難う御座いました。この回答を教科書にやってみたいと思います。

お礼日時:2008/05/15 16:48

認証が成功した場合、



print "<a href=アドレス>リンク</a>";でダメでしょうか?

または自動的に飛ばしたい場合、
header( "Location: 飛ばしたいURL" );
で飛びます。
    • good
    • 1
この回答へのお礼

<A HREF = "アドレス">リンク</A>
無駄に””でくくってしまっていました。初歩的質問に関わらず迅速に対処していただき有難う御座いました。もう少し自分でしっかり調べるようにしたいと思います。お世話になりました。

お礼日時:2008/05/15 16:08

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