くだすれPHP(超初心者用)3
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/10/25(木) 16:04:31ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
http://www.php.net/
http://jp.php.net/
---前スレのテンプレここまで---
前スレ: くだすれPHP(超初心者用)2
http://pc11.2ch.net/test/read.cgi/php/1164617202/
適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/
△▲ WebProg 初心者の質問 Part16 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1187729623/
完走したら、雑談スレで待機でどうでしょう
【総合】 Webprog板質問雑談スレッド 1
http://pc11.2ch.net/test/read.cgi/php/1131016915/
0361nobodyさん
2008/02/08(金) 13:37:59ID:???359 はクロスサイトスクリプティングの可能性を示唆してるんだろ。
0362357
2008/02/08(金) 17:52:07ID:???これは例なのでいれてないだけです。
$vはこっちで作成してる配列なのにな〜と思って。
ちなみに358は
!= FALSE ではなく !== FALSE ですね
0363nobodyさん
2008/02/08(金) 18:47:04ID:???0364nobodyさん
2008/02/09(土) 01:31:23ID:???0365nobodyさん
2008/02/10(日) 18:46:39ID:???それをそのまま出力したら\"となるのですが、
どうすれば\をつけずに表示や保存できるんですか?
0366nobodyさん
2008/02/10(日) 19:57:48ID:???0367nobodyさん
2008/02/10(日) 20:08:37ID:???それしか方法ないのですか?
0368nobodyさん
2008/02/10(日) 20:10:21ID:???0369nobodyさん
2008/02/10(日) 20:19:51ID:???0370nobodyさん
2008/02/10(日) 20:42:46ID:???http://jp.php.net/manual/ja/function.stripcslashes.php
0371nobodyさん
2008/02/10(日) 20:43:34ID:???http://jp.php.net/manual/ja/function.stripslashes.php
0372nobodyさん
2008/02/10(日) 21:12:31ID:???stripcslashes(htmlspecialchars())っていう風につかったんだけどこれでいいのかな
0374nobodyさん
2008/02/10(日) 22:06:12ID:???"はフォームを通すと\\\"として送られてくるんですね
だから先に勝手につけられたスラッシュを消して
htmlspecialchars(stripcslashes($a, ENT_QUOTES)) とやれば"も'もHTML上できちんと表示できるようになりますね
勉強になりました
0375nobodyさん
2008/02/10(日) 22:35:31ID:rhutwfEM<BODY>
<?php
print <table>
print <tr>
<td>print"値"</td>
<td>print"値2"</td>
<td>print"演算"</td>
<td>print"答"</td>
print </tr>
print </table>
?>
</BODY>
</HTML>
だと、エラーがでます。だれかご教授ください・・・
0377nobodyさん
2008/02/10(日) 22:39:38ID:???0378nobodyさん
2008/02/10(日) 22:40:35ID:rhutwfEMすいません、テーブルタグでした。
申し訳ありませんが、参考ページを教えてくれますか?
0380nobodyさん
2008/02/10(日) 22:48:34ID:rhutwfEMわかりました。もう一日考えます。。。
0381nobodyさん
2008/02/10(日) 22:48:39ID:???0382nobodyさん
2008/02/10(日) 23:21:00ID:???0383nobodyさん
2008/02/10(日) 23:54:56ID:???だとしたら文法根本的に間違えてるだろうに。
<BODY>
<table>
<tr>
<td><?php print"値";?></td>
<td><?php print"値2";?></td>
<td><?php print"演算";?></td>
<td><?php print"答";?></td>
</tr>
</table>
</BODY>
</HTML>
0384nobodyさん
2008/02/11(月) 00:20:01ID:???解った後でもう一度このスレに来て自分の書き込み見てみろw
0385nobodyさん
2008/02/11(月) 03:49:39ID:???http://blogn.hustle-user.com/e19.htmlを参考にして、
index.htmlをindex.phpにリネームして、先頭に
<?php
$title="○○";
$page_e='http://www.○○/m/index.html';
$page_j='http://www.○○/m/index.html';
$page_i='http://www.○○/m/index.html';
$i=$_SERVER['HTTP_USER_AGENT'];
require_once('agent.txt');
?>
としました。そして携帯からアクセスしたところ無事振り分けることが出来ました。
しかしPCからみたら外部のcssを読み込んでいないようでページレイアウトが崩れてしまいました。
相対パスなのがいけないと思って、
<link href="http://○○/css/global.css" rel="stylesheet" type="text/css" />
と、絶対パスに書き換えましたが改善しませんでした。
そしてさらにわからないことに、ブラウザ(Sleipnir)で何回も読み込んでいると
5回に一階ぐらいきちんと読み込んで表示されるのです。
どういうことなのでしょうか。もしかしてphpの問題じゃなくhtmlの問題でしたら板違い申し訳ありません。
0386nobodyさん
2008/02/11(月) 04:14:40ID:???0387nobodyさん
2008/02/11(月) 05:29:22ID:???0388385
2008/02/11(月) 05:49:50ID:???問題の切り分けですか。
まずCSSのパスは間違ってませんでした。
htmlや画像のリンクは相対パスでも問題なく通ってるんで
もしかしたらパスの問題ではないんでしょうか?
となると。。文字コードとかでしょうか・・?
ちなみにphpもcssもS-Jis、改行コードはCR+LFでした。
>>387
ふ、振り分けられないですか?
サイトを参考にしつつやってみたのですが・・
0390nobodyさん
2008/02/11(月) 11:04:25ID:???いや、それは別にそういう作り方もあるから別にいいけど
そもそも参考したっていうサイトの内容が突っ込みどころが多すぎて…
0391nobodyさん
2008/02/11(月) 11:10:17ID:???の処理に、腹抱えてワロタ
0393385
2008/02/11(月) 17:22:49ID:???>>389
あ、それはケータイのキャリア別に振りわけていないからです。。。
基本はみんなパソコンのメインサイトのindex.phpにアクセスしてもらって
ケータイの人は別のサイトに飛んでもらうってことで。。
なんか参考にしたサイトがまずかったようで。。。
もしおすすめなどあれば教えて頂けると嬉しいです。
>>392
firefoxはいれてないんで、今からいれて確認してみます。
ところで、火虫とは・・・?
0394nobodyさん
2008/02/11(月) 17:30:47ID:???水虫のライバル。
0395nobodyさん
2008/02/11(月) 17:57:57ID:???0396385
2008/02/11(月) 17:59:06ID:???となると、IE側の問題になるのでしょうか?
そして火虫はわかりませんでした><
0397385
2008/02/11(月) 18:13:19ID:???0398nobodyさん
2008/02/11(月) 20:29:28ID:???どうすれば改行してつなげていけますか?
たとえば
$fh = fopen($file, 'a');
fwrite($fh, "test\n");
としても改行してつないでくれません
0399nobodyさん
2008/02/11(月) 20:42:17ID:???fwrite($fh, "\n");
fwrite($fh, "test");
だろw
0400nobodyさん
2008/02/11(月) 22:35:00ID:???それでもできてませんよ
ためしてください
<?
$file = "test.txt";
$fh = fopen($file, 'a');
fwrite($fh, "\n");
fwrite($fh, "test");
fclose($fh);
?>
いやあ納得いきませんね
いちおうtest\nとやって書き込んで、ファイルを見ると最後は改行されている。
なのに書き込むときはなぜ改行されたところから始まらないのですか?
0401nobodyさん
2008/02/11(月) 23:06:13ID:???もしくは 'ab'
0402nobodyさん
2008/02/11(月) 23:07:39ID:???0403nobodyさん
2008/02/11(月) 23:17:32ID:???0404nobodyさん
2008/02/11(月) 23:24:11ID:???できてました
どうもでした
0405385
2008/02/11(月) 23:42:52ID:???CSSの文字コードをきちんとしていなかったのが問題だったようです。
CSSの先頭に
@charset "shift_jis";
といれると解決しました。
phpじゃなかったですね。申し訳ないです。
0406nobodyさん
2008/02/12(火) 03:40:48ID:???,......,___ ___ お前初めてかここは?
{ r-}"''; (,- ,_'',; 力抜けよ
__ノYv"-ァ'=;} ,_、 Y' リ''ー
ヽー-ハ '、 / キ}、 {"ー {⌒
ト ハ } ,. -ー─-- 、___ / ハノ`{ {
! ! !__! ,-、_ ,,( ,  ̄`ー、 /"''ー;ー'"
|___|! !ー-ニー、;、;'""ノ';{ iー ヽ=ニ=),..- '"
K \ヽ !`ーニ'-、{ (e 人 |' ̄ ̄/`ー! | / /⌒
\ヽ !、ヽ, "")ー-'"| ! | | /! |___{,、 / /
\"'ヽ'ー-" _! || } ー─| | / ヽ/ /
ニ=ー- `!!!' ''''ー'"{ | | / /`ー|\/
ーーーー' _ | ./ ヽ__ / | !
0407nobodyさん
2008/02/18(月) 19:07:50ID:???<?php
$mysql=mysql_connect("localhost","user","password");
if(mysql_select_db("dbname", $mysql)){
print "OK";
}else{
print "NG";
}
?>
このようなソースを書いて(user passはサーバーのもの)
PHPとMYSQLがちゃんと動いているのか確認をしようとしたのですが
画面が真っ白になってエラーも帰ってきません。
PHP php-5.1.6-1.6
mysql mysql-5.0.27-1.fc5
FedoraCore5で
php-mbstring php-mysql php-gd php-devel mysql-serverなども全部入れています。
解決方法ご指南ください
0409nobodyさん
2008/02/18(月) 22:25:40ID:???パスワードが通っていない感じのエラーが出ていました
ただ、パスワードは合っていて
コンソールで mysql -u user -pでログインが出来ている状態です
/etc/hosts にもデータベース名は記述してあり(localhost)
なんで通らないのかわからなくなっています
今まで使っていたときは大丈夫で
突然この状態になってしまいました。
どなたかお願いします…
0410nobodyさん
2008/02/19(火) 02:56:13ID:???0411nobodyさん
2008/02/19(火) 10:06:45ID:???PHPには、.NET Framework の ADO.NET のように、自作した csv ファイルに SQL 文で
データを抽出することは可能なのでしょうか。
以下のサイトのような感じで動かす場合です。
ttp://park5.wakwak.com/~weblab/selectTextFile.html
一般的なテキストファイルを開いたり、書き込んだりする方法とは別という意味です。
こういった方法以外でという意味です。
$fh = fopen("csv.txt", "r");
$line = fgets($fh, 1024);
// ここで$lineの条件を調べる。
fclose($fh);
ヒントとなるキーワードでもいいので、お願いします。
0412nobodyさん
2008/02/19(火) 10:26:38ID:???0413nobodyさん
2008/02/19(火) 12:43:40ID:???よく情報が足りないといわれるのですが
どこら辺が足りないですか
>>407でバージョンやOSも書いてますが
エラーはサーバーから離れていたので書けなかったですが
後学のためにもお願いします
0416nobodyさん
2008/02/19(火) 19:38:04ID:???http://kissho.xii.jp/1/src/1jyou27419.txt.html
0417nobodyさん
2008/02/19(火) 20:44:23ID:???よくわからんが、こんなコードがある時点でろくなもんじゃない
if(file_exists("B:\\")){
echo "<center><a href='./$this_file?dir=B:\\'>B:\\</a></center>";
} else {}
if(file_exists("C:\\")){
echo "<center><a href='./$this_file?dir=C:\\'>C:\\</a></center>";
} else {}
if (file_exists("D:\\")){
echo "<center><a href='./$this_file?dir=D:\\'>D:\\</a></center>";
} else {}
if (file_exists("E:\\")){
echo "<center><a href='./$this_file?dir=E:\\'>E:\\</a></center>";
} else {}
if (file_exists("F:\\")){
echo "<center><a href='./$this_file?dir=F:\\'>F:\\</a></center>";
} else {}
if (file_exists("G:\\")){
echo "<center><a href='./$this_file?dir=G:\\'>G:\\</a></center>";
} else {}
if (file_exists("H:\\")){
echo "<center><a href='./$this_file?dir=H:\\'>H:\\</a></center>";
} else {}
0418nobodyさん
2008/02/21(木) 03:11:11ID:???Windowsの拡張漢字(IBM拡張やNEC拡張)や、外字領域も
きっちり対応してくれるような、関数とかないんでしょうか?
0419nobodyさん
2008/02/21(木) 03:39:48ID:???0420nobodyさん
2008/02/21(木) 04:46:45ID:uBvv/k1HXAMPPをインストール後に以下の手順でエラーがでてしまうのですが、何が原因なのでしょうか???
1. Terminal shellに行って、システム管理者ルートでログインします。
sudo su
2. XAMPPをスタートするには、このコマンドをコールしてください:
/Applications/xampp/xamppfiles/mampp start
ここで、このような感じのエラーメッセージがでていまいます。
(No such file or directory, errno = 2)
XAMPP: Error 133! Couln't start ProFTPD!
ちなみにこの段階でXAMPP Control Panelを起動しようとすると「このシステムとは互換性がないためアプリケーションを起動できません」とメッセージが出てしまいます。
OSはMacOSX.2.8で、インストールしたのがXAMPP Mac OS X 0.7.2です。PHP使用以前の問題で恐縮ですがとても困っていますのでどなたかよろしくおねがいします。
0421nobodyさん
2008/02/21(木) 08:00:49ID:???0422420
2008/02/21(木) 15:40:03ID:uBvv/k1Hありがとうございました。。。
0423nobodyさん
2008/02/21(木) 20:36:09ID:???0424nobodyさん
2008/02/21(木) 21:13:13ID:???0425nobodyさん
2008/02/21(木) 22:15:59ID:FbPK8kbcなぜか本文とか件名が化けてしまいます。
文字化け
「あ」→「$B$"(B」
このサイトを参考にしてます。
http://www.phppro.jp/phptips/archives/vol35/1
改行コードが「LFのみ」にしてるからかな?と思うのですが、わかりません。
ご教授お願いします。
0426nobodyさん
2008/02/21(木) 22:17:02ID:???0428nobodyさん
2008/02/21(木) 22:29:31ID:FbPK8kbcsjis,EUC,utf-8に変更したんですが、何も変わりません。。。
0429nobodyさん
2008/02/21(木) 22:37:31ID:???0430nobodyさん
2008/02/21(木) 22:40:10ID:???0431nobodyさん
2008/02/21(木) 22:56:44ID:FbPK8kbcとりあえず33行目から変更してみたんですが、今度はなにも表示されなくなってしまいました。
33 switch(strtolower($structure->ctype_primary)){
34 case "text": // シングルパート(テキストのみ)
35 $diary_body = $structure->body;
36 $diary_body = mb_decode_mimeheader( $diary_body , 'ISO-2022-JP');
あと言い忘れたんですけど、スクリプトはSJIS、DBもSJISでやってます。
0432nobodyさん
2008/02/21(木) 23:00:32ID:???header見て文字コードが何か確かめてSJISに変換しなされ
0433nobodyさん
2008/02/21(木) 23:10:41ID:???0434nobodyさん
2008/02/21(木) 23:14:40ID:FbPK8kbcすみません!!
あと>>432さんの書き込みの意味がわかないんですが、具体的にはどうすればいいんでしょうか?
0435nobodyさん
2008/02/21(木) 23:57:05ID:FbPK8kbcご迷惑欠けて申し訳ありませんでした。
0437nobodyさん
2008/02/26(火) 22:29:16ID:8JcMjBPY$str = $i;
}
こうすると$strには0〜99999999が入りますが、a〜zzzzzzzzまでを$strに入れるにはどう書けばよいのでしょうか?
0438nobodyさん
2008/02/26(火) 23:24:57ID:???aを0、bを1、cを2・・・て対応させればとりあえず入るな。
0439nobodyさん
2008/02/27(水) 00:33:52ID:???$str[] = $i;
}
0441nobodyさん
2008/02/27(水) 04:36:01ID:???0442nobodyさん
2008/02/27(水) 13:31:31ID:???ネタかと思ってやってみたら本当に動きました
文字列をプラスするとこういうことになるんですね
ありがとうございました
0443nobodyさん
2008/02/27(水) 17:43:11ID:???「form.html内のinputタグで送信した値をpost.php内の<?= $_post["abc"] ?>で表示させる。」
ですが、
↓
「phpファイルではなく、htmlファイル内で表示させる」
にはどうすればいいのでしょうか?
1回の入力で、複数ページ共通ヘッダの「更新日」が変更できたらいいな、と考えております。
きっと超基本的な事柄なのでしょうけれど、ネット上でもなかなか見つからないので...。
よろしくお願いします。
0444nobodyさん
2008/02/27(水) 19:05:32ID:???0445nobodyさん
2008/02/27(水) 19:12:22ID:???なるほど、設定が必要なんですね。
助かりました。
ありがとうございます。
0448nobodyさん
2008/02/28(木) 00:23:44ID:???以下のPHPを作ったところ、画面が真っ白になりました。
真っ白=エラー無しと思い、tablenameを確認したところデータが入っていませんでした。
>>407と同じエラーかと思い、>>408を確認したところONになっていました。
自分では原因がわからないため、どなたかご指摘願えないでしょうか。
<作っているつもりのもの>
別ページのフォームから送信(reg)されたデータを、データベースに入れるPHP。
環境…SQL=PostgreSQL OS=Linux PHP=5.2.5
確認…FireFox
$con = pg_connect('dbname host user password');
$a = $_POST["a"];$b =$_POST["b"];$c = $_POST["c"];
if(isset($_POST["reg"])){
$sql = "select max(log) from tablename";
$result = pg_query($con,$sql);
$array = pg_fetch_array($result);
$new_log_no = $array[0] + 1;
$sql = "select current_timestamp";
$result_date = pg_query($con,$sql);
$in_date = pg_fetch_array($result_date);
if(isset($_POST["b"])){ $d = $b; } else { $d = $c; }
$sql = "insert into tablename (log,a,d,_in_date)
values('$new_log_no','$a','$d','$in_date')";}
else{ header("Location: menu.php"); }
if(!$result){ echo "送信に失敗しました";}
0449nobodyさん
2008/02/28(木) 00:40:01ID:???あとプログラムのどこまで実行したら真っ白になるか切り分けてみたら?
0450nobodyさん
2008/02/28(木) 01:14:23ID:???レスありがとうございます。
AccessLogはこうなっていました。
127.0.0.1 - username [28/Feb/2008:00:59:35 +0900] "GET /test/in.php HTTP/1.1" 200 555
127.0.0.1 - username [28/Feb/2008:00:59:41 +0900] "POST /test/in_date.php HTTP/1.1" 200 5
in.phpがフォーム、in_dateが問題のPHPです。
よくわからないですが、データベースに問い合わせていない?気がするので調べてみます。
0451nobodyさん
2008/02/28(木) 01:43:16ID:???httpd.conf とか確認してみたら?
0452448
2008/02/28(木) 02:15:26ID:???httpd.confは本を参考に次のように設定追加してます。
AddType application/x-httpd-php .php
0453nobodyさん
2008/02/28(木) 02:48:59ID:???0454nobodyさん
2008/02/28(木) 14:23:55ID:???0455448
2008/02/28(木) 19:24:05ID:???$sql = "insert into tablename (log,a,d,_in_date)
values('$new_log_no','$a','$d','$in_date')";}
の部分のSQLに対し
pg_query($con,$sql);
を設定するとテーブルにデータを追加することが出来ました。
しかし作成されたデータは中身が空でしたorz
insertが動いてるのでPHPとデータベースの連携は取れてると思います。
>>454
Loaded Modulesを調べた所次の通りの結果でした。
mod_php5, mod_setenvif, mod_so, mod_auth, mod_access,
mod_alias, mod_userdir, mod_actions, mod_imap, mod_asis,
mod_cgi, mod_dir, mod_autoindex, mod_include, mod_status,
Momod_negotiation, mod_mime, mod_log_config, mod_env, http_core
0457nobodyさん
2008/02/29(金) 10:18:45ID:???白紙のときにブラウザの機能でソース見るとどうなってるとか
いろいろやってんのかな
0458nobodyさん
2008/03/05(水) 16:03:25ID:???言っていたものですがa+モードとファイルロックのタイミングで
何とか実現できました。
その後に続くwモードのファイルーオープンで
ログ数を調整しようと思ったのですが
この処理を付けるとログが全部消えてしまいます。
何か間違えていますか?
0459458の続き
2008/03/05(水) 16:05:57ID:???$delfilename = ('card-walin.txt');
$dellines = file($delfilename);
$delcountlines = count($dellines);
$yojyou = $delcountlines - 2;
$delhandle = fopen($filename, "w");
$delnewlog = "";
flock($delhandle,LOCK_EX);
for ($i = $delcountlines; $i <= $yojyou; $i--) {
array_unshift($delnewlog, $dellines[$i]);
}
fwrite($delhandle,$delnewlog);
flock($delhandle,LOCK_UN);
fclose($delhandle);
■ このスレッドは過去ログ倉庫に格納されています