【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/09/15(月) 18:41:32ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
0233nobodyさん
2008/11/24(月) 21:56:37ID:???でも、他のサーバではうまく動いたんだけどなあ
0234nobodyさん
2008/11/24(月) 22:05:20ID:???答えがほしいなら問題箇所のソースを出しなさいよ
0235nobodyさん
2008/11/24(月) 22:18:40ID:???<p class="uline"> | <a href="$home">Home</a> | <a href="$PHP_SELF?gal=0">File List</a> |
<a href="$PHP_SELF?mode=upload">Upload</a> | <a href="$PHP_SELF?gal=1">Gallely</a> |
<a href="$PHP_SELF?mode=ret">search</a> | <a href="$PHP_SELF?mode=rank">ranking</a> |
<a href="$PHP_SELF?mode=env">Setting</a> | <a href="$PHP_SELF?mode=admin">Admin</a> | </p>
MODELINK;
?>
0236nobodyさん
2008/11/24(月) 22:25:07ID:???register_globalsをオンにしないと
0237nobodyさん
2008/11/24(月) 22:35:16ID:???ってかこれって鯖によって変わるの?
0238nobodyさん
2008/11/24(月) 23:10:46ID:???0239nobodyさん
2008/11/24(月) 23:38:27ID:???register_globalsとかいうのをオンにすると自動的に入るとは・・・
0240nobodyさん
2008/11/25(火) 00:09:35ID:???セキュリティ上あまりよろしくない
0241nobodyさん
2008/11/25(火) 12:59:37ID:???にしたけど、違うエラーが出るな・・・・変なところありますか?
0242nobodyさん
2008/11/25(火) 13:35:39ID:???自分なら
<a href="<?php echo $_SERVER['PHP_SELF']."?gal=0"; ?>">File List</a>
にするけどたぶん同じエラーが出るだろう
0243nobodyさん
2008/11/25(火) 13:37:26ID:???Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in
0244nobodyさん
2008/11/25(火) 13:43:43ID:???echo <<<MODELINK;
が
echo <<< MODELINK;
とかになってやしないか?
とにかく>>241の箇所には問題はない
0245244
2008/11/25(火) 13:45:11ID:???0246nobodyさん
2008/11/25(火) 13:56:23ID:???ありがとうございます
PHP_SELFの行をゴッソリ抜くと、エラーが出なくなるので、そこ以外に原因が考えられないんです
0247nobodyさん
2008/11/25(火) 14:02:28ID:???>>243のエラーはかわらないだろうけど。もう全部の文張ってくれ。
<?php
〜略〜
<a href="<?php echo $_SERVER['PHP_SELF']."?gal=0"; ?>">File List</a>
〜略〜
?>
こんなことにはなってないよね?
0248nobodyさん
2008/11/25(火) 14:13:48ID:???<?php
〜略〜
MAINUP;
$modelink = <<<MODELINK
<p class="uline"> | <a href="$home">Home</a> |
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?gal=0">File List</a> | <--- 126
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=upload">Upload</a> |
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?gal=1">Gallely</a> |
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=ret">search</a> |
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=rank">ranking</a> |
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=env">Setting</a> |
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=admin">Admin</a> |
</p>
MODELINK;
〜略〜
?>
エラー
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in
〜〜〜〜htdocs/config.php on line 126
0250nobodyさん
2008/11/25(火) 14:22:53ID:???<?php
〜略〜
$PHP_SELF = $_SERVER['PHP_SELF'];
MAINUP;
$modelink = <<<MODELINK
<p class="uline"> | <a href="$home">Home</a> |
<a href="$PHP_SELF?gal=0">File List</a> | <--- 126
<a href="$PHP_SELF?mode=upload">Upload</a> |
<a href="$PHP_SELF?gal=1">Gallely</a> |
<a href="$PHP_SELF?mode=ret">search</a> |
<a href="$PHP_SELF?mode=rank">ranking</a> |
<a href="$PHP_SELF?mode=env">Setting</a> |
<a href="$PHP_SELF?mode=admin">Admin</a> |
</p>
MODELINK;
〜略〜
?>
0251nobodyさん
2008/11/25(火) 14:23:06ID:???phpの変数内のヒアドキュメントで<?php echo〜なんて書いたら文字列として扱われる
ヒアドキュメント内の変数で配列変数[]を使う場合{}で囲わないといけない
<a href="{$_SERVER['PHP_SELF']}?gal=0">といった感じに変更してみてくれ
0252251
2008/11/25(火) 14:34:09ID:???よく確認してなかったスマン
ようするに$a[0]なんかは直接かけるが
$a["0"]は{$a["0"]}にしないとだめ
ヒアドキュメント内や文字列の中で変数を使う場合は{}で囲むこと推奨
0253nobodyさん
2008/11/25(火) 14:42:15ID:???駄目でした
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in
〜〜〜〜htdocs/config.php on line 123
$PHP_SELF = $_SERVER['PHP_SELF']; <----123
MAINUP;
$modelink = <<<MODELINK
<p class="uline"> | <a href="$home">Home</a> |
<a href="$PHP_SELF?gal=0">File List</a> | <--- 126
<a href="$PHP_SELF?mode=upload">Upload</a> |
<a href="$PHP_SELF?gal=1">Gallely</a> |
<a href="$PHP_SELF?mode=ret">search</a> |
<a href="$PHP_SELF?mode=rank">ranking</a> |
<a href="$PHP_SELF?mode=env">Setting</a> |
<a href="$PHP_SELF?mode=admin">Admin</a> |
</p>
MODELINK;
0254nobodyさん
2008/11/25(火) 14:47:55ID:???0255nobodyさん
2008/11/25(火) 19:28:50ID:???0256nobodyさん
2008/11/25(火) 20:42:03ID:???$_SERVER['PHP_SELF']は使わないほうがいいよ。
使うならこっち。$_SERVER['SCRIPT_NAME']
0257nobodyさん
2008/11/25(火) 22:31:22ID:???>>256も書いてるが、$_SERVER['SCRIPT_NAME'] を使うようにね。
他の人も書いてるが、ヒアドキュメント内で使う際は
必ず「{$_SERVER['SCRIPT_NAME']}」という感じで「{」と「}」で挟む癖をつけておくといい。
0258nobodyさん
2008/11/26(水) 02:41:12ID:mfh7U9YhURLの飛び先のソースを取得して、そのソースからstrip_tagsでタグ以外の部分を
抜き出したいのですが、何故かうまくいきません。
というのもタグ部分が残ったままで出力されてしまうのです。
自分のかいたプログラムは以下のようになっています。
<?php
$url = "http://〜〜〜〜";
$lines = file($url);
foreach ($lines as $line_num => $line) {
$text = htmlspecialchars($line);
$str = strip_tags($text);
$htmlstring = $htmlstring.$str;
}
echo $htmlstring;
?>
ためしに、手打ちで
$text='<a>ああ</a>いい<b>うう</b>';
とかやってみたのですが、その場合は
「ああいいうう」
とちゃんと出力されました。
何がいけないのでしょうか...。
0259nobodyさん
2008/11/26(水) 03:04:17ID:???$url = file_get_contents("http://localhost/");
$htmlstring = strip_tags($url);
print $htmlstring;
?>
0260nobodyさん
2008/11/26(水) 03:04:51ID:???0261nobodyさん
2008/11/26(水) 03:07:29ID:???$url = "http://〜〜〜〜";
$lines = file($url);
foreach ($lines as $line_num => $line) {
$str = strip_tags($line);
$htmlstring = $htmlstring.$str;
}
echo $htmlstring;
?>
0262nobodyさん
2008/11/26(水) 04:03:18ID:???class aaa
{
private $var = array(1,2,3,4);
public function __construct(array &$yyy=null)
{
$this->var =& $yyy;
var_dump($this->var); //array(4) { [0]=> int(5) [1]=> int(6) [2]=> int(7) [3]=> int(8) }
}
public function bbb()
{
var_dump($this->var); //object(aaa)#1 (1) { ["var:private"]=> &object(aaa)#1 (1) { ["var:private"]=> *RECURSION* } }
}
}
$xxx = array(5,6,7,8,);
$ref =& $xxx;
$ref = new aaa($xxx);
$ref->bbb();
?>
これがなんでこうなるのか、詳しく
コンストラクタの内部では$this->varはちゃんと代入されてるのに、
他のメソッド内ではなんでダメ?
0263nobodyさん
2008/11/26(水) 04:07:01ID:???0264nobodyさん
2008/11/26(水) 07:25:28ID:vmBPQImxOSはFreeBSDです。
できれば、コメントとか空白部分を除いたステップ数を計算したいです。
0265nobodyさん
2008/11/26(水) 07:44:44ID:???0266nobodyさん
2008/11/26(水) 09:28:58ID:???>これがなんでこうなるのか、詳しく
代入だから
>コンストラクタの内部では$this->varはちゃんと代入されてるのに、
コンストラクタだから
>他のメソッド内ではなんでダメ?
いろんな意味で考えが足りてないから
0267266
2008/11/26(水) 10:00:02ID:???○ 参照だから
0268nobodyさん
2008/11/26(水) 11:00:35ID:???いっそのことPHPで作ってしまえ
ていうかID出すならあっちいけよ
こんな過疎スレじゃいい答えも返ってこないだろ
0270nobodyさん
2008/11/26(水) 17:43:44ID:kMz2hlU8一応ID出しておきます。
メニュー部分だけインクルードさせたいと思います
とりあえずxhtmlをshtmlに変更し、メニューを入れたい場所に
インクルードタグ(?)を書き込み鯖アップ
これは問題なく表示できました
それでshtmlに変換させずに
xhtmlのままで、インクルードさせられる方法って
ありますか?
ぐぐりましたが答えが見つけられず質問させてもらいます。
0271nobodyさん
2008/11/26(水) 18:20:13ID:???0272nobodyさん
2008/11/26(水) 18:41:22ID:???0273nobodyさん
2008/11/27(木) 13:11:24ID:Yx1cG2xg>>271->>272
ありがとうございます
ぐぐってる最中です
AddTypeでさらにぐぐります
0274nobodyさん
2008/11/28(金) 08:09:06ID:???value=aaa[""]やaaa['']だと""""や"''"になっちゃうよ?
0275nobodyさん
2008/11/28(金) 08:41:19ID:???0277nobodyさん
2008/11/28(金) 09:17:06ID:???間違った
nameの方
>>275
チェックボックスの場合は何も選択されてないと何も送信されなくて、
aaaが未定義になるから、それを回避するためにhiddenでダミーの
aaa[]を仕込んでおきたい訳だが、そのキーを空文字にしたい訳
単に美学の問題だけど
受けて側のコードを変更したくないし、
キーに適当な文字をいれるのも嫌なの
0279nobodyさん
2008/11/28(金) 10:46:28ID:???画像に文字を入れるジェネレーターを作っているのですが、
http://gedo-style.net/gedoh/
↑のような自動改行を実現するためにはどうしたらよいのでしょうか。
背景はimagecreatefromjpegで作っといて、もう1つimagecreateして文字レイヤーを作って、
文字レイヤーの方に文字書いて背景に貼り付けたらうまくいくかなぁ、と思ったのですが、
文字がはみ出した分は表示されません…。
ご教示よろしくお願いいたします。
0280nobodyさん
2008/11/28(金) 13:56:07ID:???0281nobodyさん
2008/11/28(金) 15:05:11ID:???ありがとうございます!
0282nobodyさん
2008/11/28(金) 15:35:51ID:???0283279
2008/11/29(土) 00:23:00ID:???0284nobodyさん
2008/11/29(土) 19:35:56ID:???C#でいう、Bool.ToString
Rubyでいう、Bool.to_s
Delphiでいう、BoolToStr(Bool, True);
のようなものです。
「boolean 文字列 変換」などでぐぐるしたのですが、なかなか見つけられません。
0285nobodyさん
2008/11/29(土) 19:39:54ID:???0286nobodyさん
2008/11/29(土) 19:42:10ID:???0287nobodyさん
2008/11/29(土) 19:47:34ID:???0288nobodyさん
2008/11/29(土) 23:26:35ID:PWMytfkQ漢字と半角英数は大丈夫なんですけど、カタカナとひらがなが文字化けします
文字コードはUTF-8を設定しています
何か解決方法ありますか?教えてください!
0289nobodyさん
2008/11/30(日) 00:02:48ID:???0290nobodyさん
2008/11/30(日) 09:39:31ID:???何の文字が何に化けるかとかmb関係の設定とかある
解決の糸口が見つかりやすいよ
>>289
magic_quotes_gpcは\を追加するだけだから
\が増えますとかなら分かるけど
化けるとは違うと思うけど・・・・
0291nobodyさん
2008/11/30(日) 10:01:38ID:6FQxXvvYmagic_quotes_gpcって何ですか?
よく分からないのですが…
漢字と半角英数は大丈夫で、カタカナとひらがなが駄目な原因が分からないです><
0292nobodyさん
2008/11/30(日) 14:44:04ID:???あ〜ん、ア〜ンまで色々あるだろ
全部化けるの?
あと化けると言ってるコード晒せる範囲で良いから晒して
0293nobodyさん
2008/11/30(日) 18:06:28ID:6FQxXvvYあと「・」も「??」という感じに
一部載せます
search1.php
<form name="form2" action="search2.php" method="post">
<input type="text" name="keyword" size="25">
<input type="submit" name="search" value="検索"><br />
<input type="radio" checked name="searchSelect" value="AND">AND
<input type="radio" name="searchSelect" value="OR">OR
</form>
↓
search2.php
$searchSelect = $_POST['searchSelect'];
$keyword = $_POST['keyword'];
$keyword = ereg_replace("[ ]+", " ", $keyword);
$keyword = trim($keyword);
ここの間でフォームの受け渡しをしています。
0294nobodyさん
2008/11/30(日) 18:33:50ID:???mb_detect_encodingで文字コードを検出して、
mb_convert_encodingで合わせるとかしてくれ
0295nobodyさん
2008/11/30(日) 18:34:30ID:???0296nobodyさん
2008/12/01(月) 21:53:18ID:???0297nobodyさん
2008/12/01(月) 23:03:02ID:???しかもそれはHTMLだし
0298nobodyさん
2008/12/02(火) 16:49:34ID:???HTMLと一体型のページなどの最後に毎回書いておいた方が良いのでしょうか?
0299nobodyさん
2008/12/02(火) 16:51:56ID:???0300sage
2008/12/02(火) 18:28:06ID:eW3hDBxc0301nobodyさん
2008/12/02(火) 19:06:03ID:???消費メモリーの見方をわかっていない初心者です。
けど、使っているかもしれないなという懸念があります。
>>300
最近の携帯ですとCSSやテーブルで出来ると思います。
0302nobodyさん
2008/12/02(火) 21:03:37ID:ZnEnsvHS内容
フォームからPOSTのメソッドを利用して「ユーザーID」と「パスワード」送信する。
受信したファイルでは「ユーザーID」と「パスワード」の妥協性を判断して出力する。
条件
データ送信用ファイル:input.html
データ受信用ファイル:check.php
input.htmlには2種類のテキストボックスを配置させる(txtId と txtPass)
check.phpでは以下の4種類のメッセージを出力させること
・ユーザーIDとパスワードの組み合わせが正しい場合
「認証成功!」
・ユーザーIDが存在しない場合
「ユーザーIDが存在しません」
・ユーザーIDは存在するがパスワードが誤っている場合
「パスワードが違います」
・ユーザーID、またはパスワードのいずれかが空白の場合
「ユ−ザーIDまたはパスワードが未入力です」
check.phpにおけるユーザーIDとパスワードの組み合わせ(3ユーザー分)
ユーザーID:guest admin test
パスワード:goma adm test
スクリプト以下の配列に格納し、プログラムによって判断を行う。
ユーザーID:$arrUser $arrUser = array(・・・・);
パスワード:$arrPass &arrPass = array(・・・・);
課題で出たのですが、受信側の処理がわからないです。
誰かお願いします。
0303nobodyさん
2008/12/02(火) 21:08:27ID:???for文やforeach文で繰り返す(もしくはin_arrayなど)
if文で条件比較
0304nobodyさん
2008/12/02(火) 21:20:08ID:???っていうか学校でPHPってwww
0305nobodyさん
2008/12/02(火) 21:26:13ID:ZnEnsvHS0306nobodyさん
2008/12/02(火) 21:27:35ID:???0307nobodyさん
2008/12/02(火) 21:33:50ID:ZnEnsvHS受信用ファイルの方で、ユーザーIDとパスワードの配列の使い方がどうすればいいのか分からないんです
0308nobodyさん
2008/12/02(火) 22:02:45ID:???$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またはパスワードが未入力です";
}
今ここで書いて実際には動かしてないから動くかは知らない
0309nobodyさん
2008/12/02(火) 22:17:02ID:???答えて損したな
0310nobodyさん
2008/12/02(火) 22:18:08ID:ZnEnsvHS0311nobodyさん
2008/12/02(火) 22:19:59ID:???0312nobodyさん
2008/12/02(火) 22:22:17ID:???本当の意味での本物は見たことなかったから感動した
0314nobodyさん
2008/12/03(水) 08:44:18ID:???0315284
2008/12/03(水) 16:23:16ID:???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
ちょっとしたことだったのですが、できて助かりました。ありがとうございましたー。
0316nobodyさん
2008/12/05(金) 19:50:28ID:???名前のところが空白だった場合 名無し と表示させたいのですが
考えても中々解決できませんでした。
$name=$_POST["name"];
if ($_POST["name"]==""); {
ここから先が OTZ
0317nobodyさん
2008/12/05(金) 20:13:05ID:???0319nobodyさん
2008/12/05(金) 21:19:16ID:???0321nobodyさん
2008/12/05(金) 21:41:23ID:???0322nobodyさん
2008/12/05(金) 21:46:08ID:???0323nobodyさん
2008/12/05(金) 23:01:41ID:???0324nobodyさん
2008/12/05(金) 23:20:20ID:???ご指摘ありがとうございます。
0と入力すると 名無しと表示されました。
>>323
strlenですか、調べてきます。
0325nobodyさん
2008/12/05(金) 23:24:03ID:???0326nobodyさん
2008/12/05(金) 23:24:44ID:???0327nobodyさん
2008/12/05(金) 23:26:18ID:???変数に値があるかどうかチェックするんですね。
これからも使えそうです。
皆さんありがとうございました
0328nobodyさん
2008/12/05(金) 23:27:56ID:???これで良いんですよね?
if ($_POST["name"]==""); {
の所を
if (!strlen($name)) {
$name ="名無し";
0329nobodyさん
2008/12/05(金) 23:30:59ID:???0330nobodyさん
2008/12/05(金) 23:37:59ID:???if ($_POST["name"]==="")でいいっちゅうに
PHPは型が曖昧だからこういうことがおきるわけで
strlenは文字数数える関数だし使い方として不自然
0331nobodyさん
2008/12/05(金) 23:39:27ID:???なんで不自然なの?
0332nobodyさん
2008/12/05(金) 23:49:08ID:???■ このスレッドは過去ログ倉庫に格納されています