くだすれPHP(超初心者用)
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/06/12(月) 14:06:01ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
http://www.php.net/
0742722
2006/10/11(水) 23:39:24ID:???「何だネタかよ。帰れ!」
みたいなレスを受けるとばかり思っていたんだが、
どうやらお前らの能力を過大評価していたようだ。俺が悪かったよ。
0743nobodyさん
2006/10/12(木) 00:05:59ID:???まあとりあえずだ、最初から二番煎じはカエレと言われてるんだからもう来るな。
0745nobodyさん
2006/10/12(木) 01:10:11ID:???彼はこれでも上出来な方なんだ…。
0746nobodyさん
2006/10/12(木) 01:35:40ID:???できない子にはできない子の教育をすれば良いのに、全員ができるようにしようとするのは無理が有る。
無理な物は無理。素質が無いと思って諦めた方が良いよ。他にできることが有るはずだから他でガンガレ。
0747nobodyさん
2006/10/12(木) 04:41:45ID:???俺には向いてないから無理ーで逃げられたらどんなに楽か。
プログラミングに関して以外でも同じことだと思うよ。
とりあえず人並みになるくらいは努力次第で何とかなる、と信じている。
0748nobodyさん
2006/10/12(木) 05:15:48ID:???0749nobodyさん
2006/10/12(木) 06:13:42ID:???0750nobodyさん
2006/10/12(木) 07:17:16ID:???転職汁って感じだが。
貧乏人がサラ金で入学金借りてまで、高額の私立学校に通わせるって無理し杉。
身の丈に有った公立学校でも通ってろよ。
0751nobodyさん
2006/10/12(木) 07:52:57ID:???0752nobodyさん
2006/10/12(木) 08:11:16ID:???0753nobodyさん
2006/10/12(木) 14:53:14ID:???0755nobodyさん
2006/10/12(木) 17:17:08ID:???誰も全ての国公立が悪いなんて言ってない罠。
0756nobodyさん
2006/10/12(木) 17:59:17ID:???駒場も「身の丈にあった公立」だろ。
0758nobodyさん
2006/10/12(木) 22:17:42ID:???あんな唐突に斜め後方大ジャンプみたいな意味不明な話題転換をするわけがない。
きっと>>750の真ん中の空白の一行にはその前後を有り余る説得力をもって結合する
常人には計り知れぬ脅威の文脈が隠れているんだよ!
…俺には読めないが。
0760nobodyさん
2006/10/12(木) 23:29:51ID:???0761nobodyさん
2006/10/13(金) 01:03:00ID:???0762nobodyさん
2006/10/13(金) 12:46:58ID:XqR5qXXX0763nobodyさん
2006/10/14(土) 10:16:46ID:???東大が身の丈に合う香具師も居るし、都立中学校が身の丈に合う香具師も居る。
私立の入学金すらローンで借りないと払えないような香具師が、私立に通うのは無理してるだろってこと。
0764nobodyさん
2006/10/14(土) 12:10:14ID:???他人様が無理しようが何しようが勝手だろう。お前には関係のないことだ。
とりあえず最善の良策は、まずお前が今すぐ氏んで消えることだ。
0765nobodyさん
2006/10/14(土) 14:19:34ID:???どんなに楽だろう、と、そっちが気になるなり。
0766nobodyさん
2006/10/14(土) 14:21:34ID:???0767nobodyさん
2006/10/14(土) 15:21:14ID:???array
database =>
array
real =>
array
adapter => mysql
host => localhost
database => phppro
username => asial
password => password
こんな配列があるんですが、例えばusernameのasialを取り出したいときってどうすればいいのでしょうか?
自分で試してみたんですが、こんな風になりました。
foreach ($array as $bb) {
foreach ($bb as $cc) {
foreach ($cc as $dd => $ee) {
if ($dd == 'username') {
echo $ee;
}
}
}
}
もっと簡単にできないでしょうか?
0768nobodyさん
2006/10/14(土) 15:35:07ID:???echo array['database']['real']['username'];
0769nobodyさん
2006/10/14(土) 16:10:48ID:???echo $array['database']['real']['username'];
としたらasialが表示されました。
0770nobodyさん
2006/10/14(土) 17:21:08ID:???と、Cからの移行組みの俺が触りたての時に感動した事。
0771nobodyさん
2006/10/14(土) 17:26:47ID:???phpはCで作られてるし。
0772nobodyさん
2006/10/14(土) 17:42:50ID:???0773nobodyさん
2006/10/14(土) 18:00:05ID:???0774nobodyさん
2006/10/14(土) 19:15:56ID:???教えていただきたいのですが、phpでデータを送信するスクリプトを書いたのですが、
inputでデータを送信するときに、submitではなく、imageを使ってデータを
送信したいのですが、上手く送信できません。
普通にsubmitにするとできるのですが、imageだと、というかIEだと送信されません。
Firefoxで送信できたのですが。
どうかやり方の程、教えてください。
<input type='image' src=aaa.gif' alt='aaa' value='aaa' name='aaa'>
0776nobodyさん
2006/10/14(土) 20:40:12ID:???それでみたところ、firefoxではvalueの値が受け取れていましたが、
IEではvalueの値が受け取れていませんでした。
これは、どうすれば解決できるでしょうか?お願いします。
0777nobodyさん
2006/10/14(土) 20:42:01ID:???0779nobodyさん
2006/10/15(日) 12:27:35ID:???0780nobodyさん
2006/10/15(日) 13:03:31ID:???0781nobodyさん
2006/10/15(日) 16:54:01ID:hzF42wCh代わりに<% %>をデフォルトオンにして、推奨しない理由って何?
0782nobodyさん
2006/10/15(日) 17:19:45ID:???0783nobodyさん
2006/10/15(日) 17:29:57ID:???0784nobodyさん
2006/10/15(日) 17:43:44ID:???0785nobodyさん
2006/10/15(日) 20:54:06ID:???0786nobodyさん
2006/10/16(月) 16:50:35ID:???マジですか?
PHPの変数はCOBOLの用にして使うものですか?
0788nobodyさん
2006/10/16(月) 17:23:04ID:???プログラマの良識であり常識であると思っていました。
本当にマジ?
0789nobodyさん
2006/10/16(月) 18:33:17ID:ecpKZqzB0790nobodyさん
2006/10/17(火) 09:12:48ID:???構造体みたいな雰囲気で使う。
0791nobodyさん
2006/10/17(火) 09:22:56ID:???これ無しではあり得ないなw
0792nobodyさん
2006/10/17(火) 09:32:14ID:???0793nobodyさん
2006/10/17(火) 19:37:35ID:???0794nobodyさん
2006/10/17(火) 22:18:19ID:???あれは、実質標準IO(のインプット側だけ)の役割果たしてるだろ。
0795nobodyさん
2006/10/18(水) 00:39:39ID:OoG98wMC例えばindex.php(本体となるページ)の中にフォーム部分だけを記述したform.phpを
includeで読込みました。(複数ページに同じフォームを設置したい為)
form.phpの中では
<form action="<?php echo( $_SERVER[ "PHP_SELF" ] )?>" method="post">
と記述しています。この状態で送信するとform.phpが単体で表示されてしまいます。
index.php(本体となるページ)にフォーム部分を直接記述しないでincludeで読込んだファイルから送信処理をした後もindex.php(本体となるページ)が表示されるようにする何かよい方法はないでしょうか?
0796nobodyさん
2006/10/18(水) 00:44:47ID:???$self = $_SERVER['PHP_SELF'];
include 'form.php';
-form.php-
<form action="<?php echo $self; ?>" method="post">
とか
0797nobodyさん
2006/10/18(水) 00:51:10ID:OoG98wMC0798nobodyさん
2006/10/18(水) 01:39:51ID:3inEdCG7$lines = file('bbs1.txt');
if ($_POST['write']) {
$name = htmlspecialchars($_POST['name']);
$contents = htmlspecialchars($_POST['contents']);
$reference = htmlspecialchars($_POST['reference']);
$contents = str_replace("\r\n", "<br>", $contents);
$contents = str_replace("\r", "<br>", $contents);
$contents = str_replace("\n", "<br>", $contents);
$time = date("Y/m/d H:i:s");
$data = "$name\t$contents\t$reference\t$time\n";
array_unshift($lines, $data);
}
foreach($lines as $line) {
$line = rtrim($line);
$items = explode("\t", $line);
print "<p>{$items[0]}{$items[1]}{$items[2]}{$items[3]}</p>\n";
}
$fp = fopen('bbs1.txt', 'w');
foreach($lines as $line) fputs($fp, $line);
fclose($fp);
?>
0799nobodyさん
2006/10/18(水) 01:41:50ID:3inEdCG7書き込みをなしにするにはどこをどういじればよいのでしょうか。
<form method="post" action="bbs1.php">
お名前: <input type="text" name="name">
<select name="reference">
<option selected>情報取得先</option>
<option>公式設定</option>
<option>遠い記憶</option>
</select>
<textarea name="contents" cols="60" rows="5"></textarea>
<input type="submit" name="write" value="送信">
</form>
<hr>
0801nobodyさん
2006/10/18(水) 02:04:00ID:???if( empty($_POST['name']) or $_POST['reference']==何たら or empty($_POST['contents']) ){
エラー処理
}
else{
書き込み処理
}
とか。
strlenでもいいけど。(参照:http://www.php.net/manual/ja/types.comparisons.php)
あとjavascriptとか。
0802799
2006/10/18(水) 02:10:38ID:3inEdCG7言われた事整理してみます。
0803nobodyさん
2006/10/18(水) 03:47:58ID:???同じインタプリタ。
0804nobodyさん
2006/10/18(水) 12:50:22ID:???なんでもないよね?
globalなんてなるべく使わないというのが経験則からも正しいと思うんだけど、
なぜかgloalを使うことにがんばっちゃってる人がいるなぁ。
PHPプログラマってのは他の言語経験の無い人の割合が高かったりするのかな?
0805nobodyさん
2006/10/18(水) 13:35:53ID:???0806nobodyさん
2006/10/18(水) 14:54:58ID:3inEdCG7書き込みを行わない処理と言うのはどう記述をすればいいのでしょうか?
0807nobodyさん
2006/10/18(水) 14:56:36ID:???書き込み処理
}
0809806
2006/10/18(水) 15:10:06ID:3inEdCG7$lines = file('bbs1.txt');
if ($_POST["reference"] == "0") {
$reference = "公式設定"; }
elseif ($_POST["reference"] == "1") {
$reference = "遠い"; }
else {
$reference = "情報取得先未回答"; }
if ($_POST['write']) {
$name = htmlspecialchars($_POST['name']);
if (!$name) {
$name = "名無しさん"; }
$reference = htmlspecialchars($_POST['reference']);
$contents = htmlspecialchars($_POST['contents']);
$contents = htmlspecialchars($_POST['contents']);
$contents = str_replace("\r\n", "<br>", $contents);
$contents = str_replace("\r", "<br>", $contents);
$contents = str_replace("\n", "<br>", $contents);
$time = date("Y/m/d H:i:s");
$data = "$name\t$contents\t$reference\t$time\n";
array_unshift($lines, $data); }
foreach ($lines as $line) {
$line = rtrim($line);
$items = explode("\t", $line);
print "<p>{$items[0]}{$items[1]}{$items[2]}{$items[3]}</p>\n"; }
if ($contents) {
$fp = fopen('bbs1.txt', 'w');
foreach($lines as $line) fputs($fp, $line);
fclose($fp); }
else {}
?>
0810806
2006/10/18(水) 15:11:19ID:3inEdCG7書き込まないようにしたいのですが
実際はコメントなしでボタン押しても
バンバン書き込みされるんです・・・・・・・・・・・・・
0811nobodyさん
2006/10/18(水) 15:12:18ID:???0812806
2006/10/18(水) 15:26:29ID:3inEdCG7if ($contents) {
に代入するんですよね?
今試したのですが書き込まれてしまいました。
0814806
2006/10/18(水) 15:38:40ID:3inEdCG7白紙ページに飛ばされてしまいました・・・・・・・・・・・
書き込みはされていなかったのですが・・・・・・・・
0816806
2006/10/18(水) 15:49:08ID:3inEdCG7ご協力感謝します。
0817806
2006/10/18(水) 17:49:45ID:3inEdCG7本当にありがとうございました。
0818nobodyさん
2006/10/18(水) 19:45:35ID:7mti2GK8どこか作り方がのってるお勧めのサイトはないでしょうか?
あとPHPはインストールしたんですがアパッチって必要ですか?
0819nobodyさん
2006/10/18(水) 20:00:25ID:???http://www.php.net/manual/ja/
アパッチは無しでもPHPがちゃんと動いてるんなら別にいいんじゃね?
…動くのならな。
0820nobodyさん
2006/10/19(木) 06:13:33ID:???「メールフォーム」として機能するかどうかは別だけど。
0821806
2006/10/19(木) 11:14:20ID:hbO6oYme$items = explode("$sep", $fname[0]);
$no = $items[0] + 1;
$name = htmlspecialchars($_POST["name"]);//$_POST["name"]に特殊文字があればhtmlで表記できるように,かつタグを無効化し$nameへ
if (!$name) {
$name = "名無しさん";
}
$reference = htmlspecialchars($_POST["reference"]);//$_POST["reference"]に特殊文字があればhtmlで表記できるように,かつタグを無効化し$referenceへ
if (!$reference) {
$reference = "未確定情報";
}
$message=htmlspecialchars($_POST["message"]);//$_POST["message"]に特殊文字があればhtmlで表記できるように,かつタグを無効化し$messageへ
if (get_magic_quotes_gpc()){
$name = stripslashes($name);
$reference = stripslashes($reference);
$message = stripslashes($message);
}
$message = str_replace("\r\n", "\r", $message);
$message = str_replace("\r", "\n", $message);
$message = str_replace("\n", "<br>", $message);
$string = $no.$sep.$name.$sep.$reference.$sep
.$message.$sep.date("Y:m:d: H:i:s")."\n";
$lines = file($fname);//$name(gbook.txt)を読み込み$lineへ
$file = fopen($fname, "w") or die("OPENエラー $fname");
flock($file, LOCK_EX);//ファイルを排他ロックする=この処理が終わるまでファイルのロックを継続
fputs($file, $string);//$fileに文字列バイナリモードで書き込む?
for($i=0; $i<10; $i++)
fputs($file, $lines[$i]);
flock($file, LOCK_UN);//ファイルのロックを解除する、この場合排他ロックを解除する
fclose($file);//$fileを閉じる
}
0822806
2006/10/19(木) 11:15:45ID:hbO6oYmeif(file_exists($fname)){//もし$fnameが存在するならば
$file = file($fname);//$fname(gbook.txt)を読み込み$fileへ
for($i=0; $i<8; $i++){
@list($no, $name, $reference, $message, $date)=explode($sep, $file[$i]);
echo $no;
echo $name;
echo " $reference";
echo " $date";
echo "$message".'<br>';
}
}
?>
0823806
2006/10/19(木) 11:17:35ID:hbO6oYme申し訳ないのですがお力添えいただけませんか?
0824nobodyさん
2006/10/19(木) 11:26:14ID:???0825nobodyさん
2006/10/19(木) 13:08:24ID:???0826nobodyさん
2006/10/19(木) 14:08:33ID:G4Zd3K8e$_SESSION["test"] = $_POST["test"];
とした$_SESSION["test"] の値を別のページで参照したいのですが
例えばindex.php(ベースとなるページ)の中にincludeで読み込んだaaa.phpでも参照できる方法はないでしょうか?
aaa.phpの表示内容の一部をisset($_SESSION["test"])で切替えたいのですが
$_SESSION["test"] の値がindex.php(ベースとなるページ)では参照できるのですがaaa.phpでは参照できません。
関係ないかもしれませんがsession_start();をaaa.phpに記述した場合、しなかった場合、記述位置等試してみましたがどうにもうまくいきません。
何かよい方法があればご指導お願い致します
0827nobodyさん
2006/10/19(木) 19:25:38ID:???いいか、落ち着いてソースを見るんだ。
aaa.php では $_SESSION['test'] じゃないものを参照してるだろう?
0828nobodyさん
2006/10/19(木) 19:49:15ID:G4Zd3K8e有難うございます。もう一度よく見直してみます。
0829nobodyさん
2006/10/20(金) 03:26:13ID:NpR8vlmiこのサイトのように記事の先頭のラジオボタンにチェックを入れて
下部に送信ボタンをつける場合、
このページの書き込みフォーム以降〜最後尾まで削除用フォームで囲まないと
いけないのでしょうか?
それともjavaなど以外で何かコツがあるのでしょうか?
0830nobodyさん
2006/10/20(金) 03:29:20ID:vHyympMEPHP以前の問題、HTML勉強してソース嫁
0831nobodyさん
2006/10/20(金) 04:39:06ID:???0832nobodyさん
2006/10/20(金) 06:56:53ID:BjlN/o9s有難うございます。落ち着いてソースを見直したおかげで解決しました。
実は$_SESSION['test'] は見直してもそこはなんとか正しく記述できてました。
その為にますますどうしたらいいかわからなくなって、ただただ見直して意味の無い変更を繰り返す事しかできなかったのですが、やっと見つける事ができました。
includeのファイル名の指定が絶対パスで指定してしまっていたところを相対パスに修正したら参照できるようになりました。
相対パスと絶対パスでこんなにも結果が違ってくるものなんですね。(初心者ですみません)勉強になりました。ソースを見直したおかげです。本当に有難うございます。
0834nobodyさん
2006/10/21(土) 10:04:19ID:???グローバル変数しか有りません。
socket_listen()で80番ポートを掴めば、phpだけでウェブサーバも作れるよね。
ttp://jp.php.net/sockets のサーバプログラムの$portを80にすればウェブサーバの出来上がり。
ブラウザでつなげてきたら、好きな文字列を返せばブラウザが表示してくれる。
ブラウザが送ってくる、GET /とかの文字列を読み込んで、返す文字列を変えればいろんなページが有るように見える。
0835nobodyさん
2006/10/21(土) 10:13:53ID:???そういう用途なら、rubyかperlの方がいいね。
0836nobodyさん
2006/10/21(土) 11:19:04ID:???0838nobodyさん
2006/10/22(日) 01:05:21ID:???まぁ、突然basicの話を振る所からしてお察し
0839nobodyさん
2006/10/24(火) 20:43:21ID:???0840nobodyさん
2006/10/24(火) 21:20:36ID:???0841nobodyさん
2006/10/24(火) 21:55:55ID:???■ このスレッドは過去ログ倉庫に格納されています