【PHP】くだらねぇ質問はここに書き込みやがれpart9
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/09/03(土) 11:53:32ID:7OO4C5e5ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
0263260
2005/09/07(水) 12:21:31ID:???鯖がせっかくSSI、PHPに対応しているので出来ればやってみたいんですが、触った事が無いので・・・
0264nobodyさん
2005/09/07(水) 12:34:23ID:???JavaScript使うならDreamWeaver使ったほうが楽じゃね?
ブラウザによってまだ挙動がことなることもあり
コードが煩雑になりやすいから
PHPなどのサーバサイド言語つかったほうが楽と言えば楽だけど。
0265nobodyさん
2005/09/07(水) 12:34:59ID:???俺もPHPに触ったこと何て無いぞ。
>>257
include てのは外部ファイルを読み込み時に使うモンだ。
0267260
2005/09/07(水) 12:52:01ID:???<title>テスト</title>
</head>
<body>
<table width="800"><tr>
<td>
<?php include_once("○○.txt"); ?>
</td>
</tr></table>
<table><tr>
<td width="200">
<?php include_once("menu.txt"); ?> //左メニュー用の内容タグだけのテキスト
</td>
<td width="588">
内容
</td>
</tr>
</table>
</body>
</html>
↑これで表示はされましたけど大丈夫ですか?
0268nobodyさん
2005/09/07(水) 13:15:04ID:???大丈夫っちゃ大丈夫だけど、.txt(おそらくテキストファイル?)を読み込むならreadfileで。
includeをする対象は基本的に「他のPHPファイル」。
まあ頑張ってくれい。
0269nobodyさん
2005/09/07(水) 16:16:20ID:???ページ間を移動させるための、以下の様な形のリンクを
作りたいと考えております。
<< 1 | TOP | 2 >>
移動するというか、includeするような形が望ましいとは
思っております。例えば
index.php
001.php
002.php
上記のような構成になっているとして、これから先
【***.txt】ファイルは追加することになるのですが
それを見越した上で、自動で数字の部分を読み込ませる
機能も備え付けておきたいのです。
どのような考え方で作成すれば宜しいでしょうか?
もしくは参考となるHP等はございますか?
0270nobodyさん
2005/09/07(水) 16:47:26ID:???0271nobodyさん
2005/09/07(水) 17:05:57ID:???0272nobodyさん
2005/09/07(水) 17:08:41ID:???index.php?page=n てな感じにして、
・呼び出すファイルはindex.phpのみ(page.phpとかでもおk)
・page=nでページ番号指定
・ページ番号 n、n-1、n+1 の存在チェック。file_exists関数を使う。
(00nの形式にするためにsprintf辺りを使う)
・include関数(readfileの方がいいかも?)を使って、該当テキストを出力。
・前後のページが存在すればそれぞれリンクを作成。
こんな感じでいいんじゃないかな。
デメリットとしては、
・表示の度にfile_existsとかするので若干負荷がかかる
・ページのどれかが歯抜けになっていると、えらいことになる
・一覧表を作るときに一工夫が必要
0275nobodyさん
2005/09/07(水) 17:14:09ID:???まずいくつか不明瞭な点。
・どこにそのページングリンクをつけたいのか?(index.phpかな)
・***.txtはページングに関係あるのか?(ただ同じ階層に入るだけかな)
・ページングさせるのは、[0-9]{3}.phpになるのか?(そうなんだろな)
上記の括弧内の条件として考えると、
paging.phpなどを作って、そこでページング部分だけをechoし、それをinclude(必要ならrequire)。
で、paging.phpはこんな形になるかと。
・その階層のファイルリストを引っ張り出す
・その中から^[0-9]{3}\.php$でmatchしたものだけをページングリンクの対象に
・現在の表示ページから前後のページ数などを計算してリンクとして出力
どーでしょ。
0276nobodyさん
2005/09/07(水) 17:16:06ID:???それならPATH INFOを使ってページ番号を取得
本文のデータはデータベースに格納
という仕様の方がSEO的にもサーバ負荷的に良くないか?
ページの有無はDBで判別できるし
SELECT文を工夫すれば番号に抜けがあっても前後が表示できる。
0277nobodyさん
2005/09/07(水) 17:22:47ID:???>PATH INFO使えば?
具体的にどんな感じででしょうか?あ、すみません、調べます。
>>272さん
有難うございます。とても参考になりました!
というか、そのような感じで作ってみまふ。
ちなみに・・・参考までになのですが、デメリットの
一覧表を作るときに一工夫が必要とあるのですが
例えばどういったものですか?
用途としてはFAQのようなものです。
0278nobodyさん
2005/09/07(水) 17:32:44ID:???PATH INFOは
?page=n
の部分をURLに埋め込んでしまうやりかた。
Amazonとかが採用しているね。
検索エンジンは?より後の部分を無視・軽視することが多いから
?page=nのやりかただと作ったページ全部が1ページと判断される。
それぞれの記事が別のものとして認識されるpath infoの方が
検索結果に表示されやすいといった点では優れている。
一応参考に。
http://exam.su-jine.com/path_info/path/info.html
0279nobodyさん
2005/09/07(水) 17:33:22ID:???0280nobodyさん
2005/09/07(水) 17:35:20ID:???>>272の言う、一覧表の一工夫もいらないし。
SEO考えたらPATHINFOと織り交ぜてやれば完璧かね。
DB使えるんなら>>276だろうけど。
0281nobodyさん
2005/09/07(水) 17:39:09ID:???書き込んでから、気付きました。申し訳ありません。
まったく其の通りの条件です。不明点が多く、すみません。
>>276さん
DBですか!うーん、もしかするとそれも1つの手かもしれません。
ただ、私自身の能力が追いつかないです・・・。
>>270さん
さん付け抜けててすみません。故意ではないです(゜o゜;
ん〜、272さんと275さんの考え方は同じですかね?
もしかして、私にはできない?
0282nobodyさん
2005/09/07(水) 17:43:19ID:???実行環境が許せばそれもありかと。
>>277
一覧表の表示の仕方は、次のような感じになると思うけど、
[ページ番号] [タイトル] ([必要に応じて、作成日とか他の項目])
タイトルや他の項目をどうやって取得するかの辺りに一工夫が必要。
***.txtにその情報を入れてみたり、別ファイルにしてみたり等々。
(ページが歯抜けした時の心配事じゃないです。)
0283260
2005/09/07(水) 17:56:14ID:???<?php readfile("menu.txt"); ?>
</td>
これで良いでしょうか?
サーバーUPしないと見れないんですねぇ
色々と難しい・・orz
0284nobodyさん
2005/09/07(水) 18:31:52ID:???>>272 は、page.php が ***.txt を読み込む形。txt を追加Upしていく。
>>275 は、リンクを表示するpaging.phpを、001.php 002.php 003.php 004.php...に
includeする形。php を追加Upする。
>>269をどう解釈したかの違いかと。
>>283
それでええよええよ。
0285nobodyさん
2005/09/07(水) 19:28:36ID:npPFuG98その後、$_SERVER['PHP_AUTH_USER']、$_SERVER['PHP_AUTH_PASSWD']を使用してアクセス制御しています。
現状、ログアウト=ブラウザを閉じる、でキャッシュクリアしています。
今回まともなログアウトボタンをつけたいと思っていますが可能でしょうか。
軽くsession_destroy();でいいのかと思いきや、できなかったので・・・。
PHPでBASIC認証(header()使って云々)という方法以外のやり方で何かありましたらご教授くださいませ。
要は今のままのDB認証で、それにログアウトボタンをつけ、
押すと再プロンプト経由でトップ画面に戻る、みたいな感じです。
お願いします。
0286nobodyさん
2005/09/07(水) 20:19:30ID:???入力するプログラムはこんな感じでしょうか?
<!-- 送信画面 db_form.php -->
<FORM enctype="multipart/form-data" name="pl_info" action="./db_pre.php" method="post">
<INPUT TYPE="hidden" NAME="_template_confirm" VALUE="./db_pre.php">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<input type="file" id="upfile" name="upfile">
<INPUT type="button" name="SUBMITBUTTON" value="確認画面へ" onClick="NEXT()"><
</FORM>
<!-- 確認画面 db_pre.php -->
<?php print_r($_FILES);?>
<?php print_r($_POST);?>
<http>
(ry
<?=$_POST['upfile']?>
<form enctype="multipart/form-data" name="pl_info" action="./db_insert.php" method="post">
<INPUT TYPE="hidden" NAME="_template_confirm" VALUE="./db_insert.php">
<INPUT type="submit" name="INSERT_DB" value="登録する" onClick="next()">
</form>
(ry
</html>
0287nobodyさん
2005/09/07(水) 20:22:52ID:???0288nobodyさん
2005/09/07(水) 20:50:33ID:???アドレスバーに
『http://(サーバーのアドレス)/pre2.php?_template_confirm=.%2Fpre2.php&MAX_FILE_SIZE=30000&upfile=C%3A%5Ctop.JPG&page=pre』
と表示され、ページには貼り付けた画像はおろか文字さえも表示されませんでした。
0289nobodyさん
2005/09/07(水) 21:05:20ID:???<form action="./db_insert.php" method="post"> (関係ない部分を略)
としているのに、
pre2.phpを呼び出していたり(db_insert.phpの筈)、
GET扱いになっていたり(method="post"の筈)、変ですね。
onClick="next()" で呼び出しているJavaScriptがおかしいんじゃないかな。
0290nobodyさん
2005/09/07(水) 21:06:28ID:???上で、db_insert.phpとしているのは、全部 db_pre.php の打ち間違い。
0291286=288
2005/09/07(水) 22:46:16ID:???すみません・・・
実は>>288を貼った後にテスト用プログラム<form2.php>と<pre2.php>を
作成していたので誤ってその時のプログラムを貼ってしまいました・・・
0292286=288
2005/09/07(水) 22:48:07ID:???<!-- 送信画面 form2.php -->
<FORM enctype="multipart/form-data" name="pl_info" action="./pre2.php" method="post">
<INPUT TYPE="hidden" NAME="_template_confirm" VALUE="./pre2.php">
<table><tr><td>画像選択</td>
<td><input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<input type="file" id="upfile" name="upfile"></td>
</tr></table><BR>
<TABLE width="500">
<TR><TD width="250" bgcolor="#FFFFFF" align="CENTER">
<INPUT type="button" name="SUBMITBUTTON" value="確認画面へ" onClick="NEXT()">
<INPUT type="hidden" name="page" value="">
</TD></TR></FORM>
<!-- 確認画面 pre2.php -->
<?php print_r($_FILES);?>
<?php print_r($_POST);?>
<http>
(ry
<table><tr>
<td width="150" bgcolor="#FFFFFF" align="center"><?=$_POST['upfile']?></td>
</tr></table>
<form name="pl_info" enctype="multipart/form-data" action="./insert2.php" method="post">
<INPUT TYPE="hidden" NAME="_template_confirm" VALUE="./insert2.php">
<input id="upfile" name="upfile" type="hidden" value="<?=$_POST['upfile']?>">
<table width="500">
<tr><td width="250" bgcolor="#FFFFFF" align="CENTER">
<INPUT type="submit" name="INSERT_DB" value="登録する" onClick="next()">
</td></form>
(ry
</HTML>
0293nobodyさん
2005/09/07(水) 23:52:40ID:???データベースにURL(http://xxx.com/zzz.html:varchar)を格納しています。
そして、その列を配列に入れ<a href ="$URL['url']">〜</a>という風にして
リンクを張ろうとしましたがエラーが出ました。
どこが悪かったかと、改善策を教えていただけないでしょうか?
本当にくだらない質問ですがよろしくお願いします。
0295293
2005/09/08(木) 00:07:24ID:???早い返事ありがとうございます。
すいません、必要なことを何も書いていませんでした・・・
<?php if( ! $conn = mysql_connect( '***', '***', '***') ){
die( 'error' );}
mysql_select_db( 'party', $conn );
header('Content-Type: text/html; charset=shift_jis'); ?>
<HTML><HEAD><TITLE>test</TITLE></HEAD><BODY>
<?php
$rs = mysql_query( "select shopname,concat(locname,adr) fadr,typename,phone,pg from shop s,type t,loc l where s.typecd=t.typecd and s.loccd=l.loccd order by locname desc,typename;", $conn );
echo "<table border=3>";
echo "<tr><th>店名</th><th>住所</th><th>業種</th><th>電話番号</th></tr>";
while( $rec = mysql_fetch_array( $rs, MYSQL_ASSOC ) ){
echo "<tr>";
echo "<td>" . $rec['shopname'] . "</td>";
echo "<td>" . $rec['fadr'] . "</td>";
echo "<td>" . $rec['typename'] . "</td>";
echo "<td>" . $rec['phone'] . "</td>";
echo "<td>" . <a href="$rec['pg']">$rec['shopname']</a> . "</td>"; ←※
echo "</tr>";
}
echo "</table>";
mysql_free_result( $rs );
mysql_close($conn);
?> </BODY> </HTML>
pg(varchar)にURLを入れています。
エラーの内容ですが、Parse error: parse error, unexpected '<' in C:\phpdev5\www\test.php on line 35 と出ていました。
35行目とありますが、ここでは矢印を出している行になります。見難いソースですがよろしくおねがいします
0296nobodyさん
2005/09/08(木) 00:07:52ID:???BASIC認証にログアウトはないでしょ、サーバ側からセッションを破棄する
術はないと思うけど
一度認証が済むと、正しいユーザ名とパスワードがクライアントから送信されつづける
PHPから出力されないファイルを保護するなどの目的で、どうしてもBASIC認証が
はずせないならB認証+PHPのセッション機構でユーザーステータスを管理する2重の
認証にするしかないのでは
0297nobodyさん
2005/09/08(木) 00:10:17ID:???手本をコピペしてサーバーにアップロードしたのに全然クッキーききません…(−−;
CGIで動くタイプのPHPなのがいけないのかなぁ…
0298nobodyさん
2005/09/08(木) 00:11:31ID:???文字列は " か ' で括る
http://jp2.php.net/manual/ja/language.types.string.php
0299nobodyさん
2005/09/08(木) 00:17:49ID:???ほとんどない。9部9厘スクリプト側の問題
サーバから送信されてるヘッダーにSet-Cookieフィールドが
あるかどうか確認すればサーバの制限かどうか当りはつけられる
0300297
2005/09/08(木) 00:29:14ID:???やっぱそうですよねー
perlで書かれたフリーのCGIでは普通にクッキー発行できてるので、
サーバーのPHPの仕様かなにかかと思ったのですが…(ちなみにサーバーはさくらインターネット)
ちょっとスクリプト見直してみます。PHPて難しい…
0301295
2005/09/08(木) 00:35:43ID:???echo "<td>" . <a href="".$rec['pg']">$rec['shopname']</a> . "</td>";
コピペした奴なら↑こうすればいいんじゃないかな。
DB関連でParse errorは出ないと思う。たぶん。
0304293
2005/09/08(木) 00:59:21ID:???ありがとうございます
参照URLを見てみましたがちょっと問題解決には至らないようでした・・・すいません
>>301
ありがとうございます
ご提案いただいたものをやってみましたが無理でした・・・
0305nobodyさん
2005/09/08(木) 01:06:09ID:???他にも訂正すべき場所が・・・
>>298の言ってるように、<a href= とか、</a> とかの部分をきちんと文字列として書かなきゃいけないよ。
色々書き方があるけども、例えば次のような感じ。
echo "<td><a href=\"".$rec['pg']."\">".$rec['shopname']."</a></td>";
"〜"の部分が文字列になる。\" は文字列の中の " を表す。(文字列の区切りの"と区別するため)
いっそのこと " を使わずに ' を使えば更に簡単に書ける。
0306297
2005/09/08(木) 01:23:20ID:???setcookieは<HTML>より前に書かなきゃだめなんですねー。ググったらそんな事書いてありました。
テキストのサンプルは<BODY>の中にsetcookieが書いてありました。
テキストのくせにこんな間違いをしていいのか…
0307293
2005/09/08(木) 01:24:45ID:???おお!すごい!できました!
本当にありがとうございます!
html文をクォーテーションで囲むってのをやってなかったのが悪かったんですね・・・
えっとしつこくてすいませんが
<a href=\"".$rec['pg']."\">" の.$rec['pg'].
両端につけた.は変数を識別させるためのものですよね?
>>298
>>301
>>303
>>305
こんな時間までみなさん色々やってくださってありがとうございました。
感謝の気持ちでいっぱいです!!
0308nobodyさん
2005/09/08(木) 01:50:49ID:???まあそんなとこだろうと思ってた
HTTPの仕様上ヘッダーフィールドはコンテントボディより先に送信する必要がある
アウトプットバッファが効いてれば、コード上で、本文の出力よりも後にsetcookie()や
header()を記述することは可能
error_reportingが適切に設定されてれば、Warningが出てすぐ判るんだけどね
0309nobodyさん
2005/09/08(木) 01:52:05ID:???ドットは文字列を連結する演算子
http://www.php.net/manual/ja/language.operators.string.php
0310nobodyさん
2005/09/08(木) 01:59:02ID:???ずっとjp.php.netを参照してた。
0311nobodyさん
2005/09/08(木) 02:06:56ID:???0312nobodyさん
2005/09/08(木) 02:20:02ID:???0313(1/2)
2005/09/08(木) 02:46:31ID:???送信画面で入力したデータが確認画面で表示され、それでOKならば正式に登録完了となるのですが送信画面で画像データを設定しても
確認画面では認識されません。
以下がそのデータなのですがどこかおかしいところはないのでしょうか。
<!-- 送信画面 school.html -->
<HTML>
(中略)
<FORM enctype="multipart/form-data" name="pl_info" action="./form.php" method="post">
<INPUT TYPE="hidden" NAME="_template_confirm" VALUE="./form.php">
<table>
<tr><td>タイトル</td>
<td><input type="text" id="title" name="title" size="30"></td></tr>
<tr><td>文章</td>
<td><TEXTAREA name="text01" id="text01" cols="80" rows="10"></TEXTAREA></td></tr>
<tr><td>画像選択</td>
<td><input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<input type="file" id="upfile" name="upfile"></td></tr>
<tr><td>経歴</td>
<td><TEXTAREA name="text02" id="text02" cols="80" rows="10"></TEXTAREA></td></tr>
</table>
<BR>
<TABLE width="500">
<TR>
<TD width="250" bgcolor="#FFFFFF" align="CENTER">
<INPUT type="button" name="SUBMITBUTTON" value="確認画面へ" onClick="NEXT()">
<INPUT type="hidden" name="page" value=""></TD>
</FORM>
(中略)
</HTML>
0314(2/2)
2005/09/08(木) 02:48:15ID:???<?php
$hizuke = DATE("YmdHis");
if(!is_uploaded_file($_FILES['upfile']['tmp_name'])) {
echo "ファイルを保存できませんでした!<br>\n";
echo "元の画面に戻るにはブラウザの『戻る』ボタンをクリックして下さい。";
exit;
} else {
copy($_FILES['upfile']['tmp_name'], "./image/$hizuke.jpeg");}
?>
<HTML>
(中略)
<table>
<tr><td width="360" bgcolor="#FFFFFF" align="center"><?=$_POST['title']?></td></tr>
<tr><td width="210" bgcolor="#FFFFFF" align="LEFT"><?=$_POST['text01']?></td>
<td width="150" bgcolor="#FFFFFF" align="center"><?=$_POST['upfile']?></td></tr>
<tr><td width="360" bgcolor="#FFFFFF" align="LEFT"><?=$_POST['text02']?></td></tr>
</table>
<form name="pl_info" enctype="multipart/form-data" action="./insert.php" method="post">
<INPUT TYPE="hidden" NAME="_template_confirm" VALUE="./insert.php">
<input id="title" name="title" type="hidden" value="<?=$_POST['title']?>">
<input id="text01" name="text01" type="hidden" value="<?=$_POST['text01']?>">
<input id="upfile" name="upfile" type="hidden" value="<?=$_POST['upfile']?>">
<input id="text02" name="text02" type="hidden" value="<?=$_POST['text02']?>">
<table width="500">
<tr><td width="250" bgcolor="#FFFFFF" align="CENTER">
<INPUT type="submit" name="INSERT_DB" value="登録する" onClick="next()"></td>
</form>
(中略)
</HTML>
0315nobodyさん
2005/09/08(木) 03:35:25ID:???<INPUT type="button">はフォームの内容を提出(submit)しない筈。
にも関わらず、>>288の内容と、>>313で次の画面には移動していることから、
onClick="NEXT()" で呼び出されるNEXT()の中でGET形式でsubmitされていると考えられる。
なので、
<input type="submit">を使うか(next()ではsubmitしないようにする)、
NEXT()の中で正しくsubmitすればいいんジャマイカ?
0316nobodyさん
2005/09/08(木) 04:01:04ID:???0317nobodyさん
2005/09/08(木) 08:46:53ID:xSNS150Aお礼遅くなってすいません
わかりました ありがとうございます
リファレンスマニュアル100回読み直してきますorz
0318313=314
2005/09/08(木) 08:57:28ID:???>>313の<INPUT type="button">を<input type="submit">に変更すると以下のようなエラーメッセージが表示されました。
Warning: copy(./image/20050908081609.jpeg): failed to open stream: Permission denied in /var/www/html/vivid/school/form.php on line 8
これは『copy($_FILES['upfile']['tmp_name'], "./image/$hizuke.jpeg");』の書き込みが失敗したということなのでしょうか?
0320313=314
2005/09/08(木) 11:08:25ID:???imageフォルダのパーミッションを『rwxrwxr-x』に変更すればフォルダ内にファイルがコピーされました。
失礼いたしました。
後はコピーしたファイルを読み込むだけです。
<IMG src="image/(コピーしたファイル名)">
と入力するだけなのですがどうすれば上手くいくのでしょうか?
<IMG src="image/<? "$hizuke";?>.jpeg">
で認識するとは思えませんが・・・
0321nobodyさん
2005/09/08(木) 11:12:15ID:???思える思えないは関係ない。
とりあえずやってみろ。
エラーが出たらエラーメッセージを検索しろ。
それでも分からなければ聞きに来い。
0322313=314
2005/09/08(木) 11:12:52ID:???<IMG src="image/<? $hizuke = DATE("YmdHis"); "$hizuke";?>.jpeg">
を試してみたらやっぱり駄目でした。
0323313=314
2005/09/08(木) 11:27:01ID:???$hizuke = DATE("YmdHis");
copy($_FILES['upfile']['tmp_name'], "./image/$hizuke.jpeg");
?>
で設定したファイル名を読み出すには同じように
$hizuke = DATE("YmdHis");
を設定するしかないと考えたのですが・・・
なかなか上手くいかないです
0324nobodyさん
2005/09/08(木) 11:37:38ID:???$hizuke = DATE("YmdHis"); // 変数hizukeに date関数の結果を代入
"$hizuke"; // さて、ここは何をしているのでしょう?
?>
0325nobodyさん
2005/09/08(木) 11:45:11ID:UR6jYi9e0328nobodyさん
2005/09/08(木) 13:12:00ID:???配列の要素から1個だけ削除とかって可能でしょうか?
例えば
$test[0] = "1002";
$test[1] = "9";
$test[2] = "35";
$test[3] = "87";
$test[4] = "127";
みたいな感じで$testという配列がある状態で
内容が"87"の要素だけを削除したいのです。
(実際の処理はある値を配列から探し出し、該当する物があれば消す
といった処理をしたいです)
結果的に$testの中身が
$test[0] -> "1002";
$test[1] -> "9";
$test[2] -> "35";
$test[3] -> "127";
にしたいんですけど..よろしくお願いします。
0329nobodyさん
2005/09/08(木) 13:23:21ID:???0330nobodyさん
2005/09/08(木) 13:41:29ID:???本当に間詰めないとダメか?
0331nobodyさん
2005/09/08(木) 13:50:23ID:???いくつもあるんだが、別の方法を考えてみたか?
0332328
2005/09/08(木) 15:12:09ID:???よろしければ、教えてください。
>>330
その$testをimplodeしてSQLの条件(where aaa in ($implodeした変数)として使いたいので
できれば配列をつめたいんですよねえ。
>>331
今考えてみたのが
$in_dataは目的の文字列
foreach ($test as $one) {
if($one!=$in_data) $new[]=$one;
}
$test =$new;
ってな感じです。
ただもっとスマートにできるものなのかなと今考えています。
0333nobodyさん
2005/09/08(木) 15:17:09ID:sy+tsgYDリファラーが自分のところのドメイン以外だとエラーページに飛ぶ設定です。
/public_html/lib/ ←このフォルダ。
メールからのクリックでこのフォルダにあるページに飛ばそうと思い、
/public_html/ フォルダにリダイレクト用のページを作りました。
header("Location:〜")と <meta>のリフレッシュを試しましたが
どちらもエラーページに飛んでしまいました。
リファラーが送られていないようです。
どうすればリファラー付でページに飛ぶことが出来るのでしょうか。
0334nobodyさん
2005/09/08(木) 15:22:08ID:???不可能です。
> メールからのクリックでこのフォルダにあるページに飛ばそうと思い、
これだと当然、Refererは取れません。
しかもプログラム側じゃなくて、.htaccessでReferer制限してるんですよね…。
プログラム側で制限しているのであれば、
メールでクリックされるURLに、ランダムなGET引数を仕込むなりして
メールから来たことをチェックできます。
0335nobodyさん
2005/09/08(木) 15:33:25ID:???メールクリックでRefererが取れないのは分かります。
なので、アクセス制御をかけていない/public_html/にあるファイル(例えば redirect.php)に
一度とばしてから、この redirect.php が /lib/ 内のファイルへ転送させる、と言う仕組みにしたいんです。
0336nobodyさん
2005/09/08(木) 15:42:37ID:???Location:〜も<meta>のリフレッシュも、リファラを吐かないのが仕様。
そこのURI自身にリファラ相当のものを仕込むしかないよ。
0338nobodyさん
2005/09/08(木) 16:15:28ID:???リファラ相当といったけど、セッションID仕込めばいいんだよ。
Locationでもmetaリフレッシュでもクッキーは効くから、それ使ってもいいけど。
0339333
2005/09/08(木) 16:16:46ID:???ありがとうございます。
まさしく今、セッションIDで構築し始めたところでした♪
最初からこうすれば良かったんですね。
0340313=314
2005/09/08(木) 16:30:21ID:???<IMG src="image/<?php $time = DATE("YmdHis"); echo"$time";?>.jpeg">
で画像を貼ることが出来ました!!
しかし入力した文章が文字化けを起こしたり画像が乱れたりするのですがこれはフォントの問題だと思いますので
こちらは自分で何とかしてみます。
0341nobodyさん
2005/09/08(木) 17:27:11ID:???で入力した文章を読み出そうとすると文字化けを起こします。
htmlファイルとphpファイルを違う書体で編集していることに原因があるのですが。
ただ表示する書体を変更しただけでは解決しません。
・htmlファイル・・・SHIFT−JIS
・phpファイル ・・・EUC
これを解決するにはhtmlで入力した文章をphp見ることが出来るようにするには
どうすればよいのでしょうか?
0342nobodyさん
2005/09/08(木) 17:32:03ID:sy+tsgYD$test00 = mb_convert_encoding($_POST["text00"],"SJIS","EUC-JP");
0343nobodyさん
2005/09/08(木) 18:23:19ID:YSOhy9W+(例として2chのスレを入力したら>>1と>>2のレスだけを表示するようにする みたいな)
0344nobodyさん
2005/09/08(木) 19:02:46ID:???0345nobodyさん
2005/09/08(木) 19:07:35ID:YSOhy9W+0347nobodyさん
2005/09/08(木) 20:11:34ID:YSOhy9W+それを詳しく、、、
0348nobodyさん
2005/09/08(木) 20:12:59ID:???<?
$title = mb_convert_encoding($_POST["title"],"SJIS","EUC-JP");
print($title);
?>
と入力しても文字化けを起こすどころか表示すらされないんですけど・・・
0349nobodyさん
2005/09/08(木) 20:13:44ID:???0350nobodyさん
2005/09/08(木) 20:16:29ID:???の「利用条件」を見ると、メール送信は利用者のSMTPサーバを使うらしいが、
そんなことって可能なの??
たとえばPHPでやるなら、自鯖のスクリプトから他鯖のSMTP鯖にメールを
渡す(送信処理を任せる)のはどうすればいいんだろう・・・??
socket関係?
0351nobodyさん
2005/09/08(木) 20:20:01ID:CBnc7l0PGETで送ってるとか。
0354nobodyさん
2005/09/08(木) 20:42:39ID:???一般的な処理の手順としては、
1. 入力されたURLのページからデータを取得 - ファイルシステム関数、fsockopen
2. 取得したデータの希望する場所を抜き出す - 正規表現やら文字列操作の関数
3. それを出力
つー形になるかと。
実際のソースコードがどうなるかは、相手のサイト次第。
>>348
string mb_convert_encoding ( string str, string to-encoding [, mixed from-encoding])
なので、SJISの文字列をEUC-JPに変換するなら、指定の仕方が逆だね。
0356nobodyさん
2005/09/08(木) 21:11:23ID:???こういうのとかどうよ↓
http://bytesmailer.sourceforge.jp/
0357nobodyさん
2005/09/08(木) 21:18:30ID:???いや、自分で言ってることだよ
>socket関係?
socket関数を利用してSMTPの仕様にしたがってMTAとやり取りをする。
基本はこれ。
0359nobodyさん
2005/09/08(木) 21:29:09ID:???少なくとも漏れは使ったことないね・・・
>>357
つか、相手(よその鯖)のMTAがsocket接続を受け入れてくれるもんなの?
だったら、不正中継送信とか簡単じゃね??
0360nobodyさん
2005/09/08(木) 21:35:13ID:???Webサーバとのやり取りに HTTP(HyperText Transfer Protocol)を使うように、
メール関係には、SMTP(Simple Mail Transfer Protocol)という決まり事を使うんよ。
実際にそれらを使う時には、相手サーバに接続して コマンド送信・応答受信、
次のコマンド... のようなやり取りをするので、「しゃべる」と表現する事も多い。
メール送信・中継(SMTP)は仕組み上誰に届けるかしか気にしないので、
>>350にあるような他鯖のSMTPを使うこともできる。
(spamとか成りすましが問題になってきたので、いろいろ制限されるようになったけど。)
■ このスレッドは過去ログ倉庫に格納されています