PHP
- カードの与信のみを行うシステムってありますか?
ショッピングカートシステムなどで物は買わずにカードの与信のみ(個人認証代わりに)行えるWebプログラムや会社はありますでしょうか?
- While文を使って配列の中身を全て取り出すには
よろしくお願いします。 $data=file("./log.txt"); echo "$data[0]<br>"; echo "$data[1]<br>"; echo "$data[2]<br>"; -----表示結果----- おはよう こんにちは こんばんは ------------------ 上記のプログラムを、行数が多いことを想定して While文を使い$dataの中身が無くなるまで log.txtのデータを全て表示するようにしたいと考えているのですが、 While文の条件部分をどのように記述いていいのか困ってます。 ご指導お願いします。
- レンタルサーバーに設置したファイルが消せなくなった
表題の通り、レンタルサーバー(aaacafe)に phpで動くブログスクリプト設置しまして、運営していました。 自動生成されるファイルやディレクトリが自分の権限ではなくて、 apacheのnobody権限で作成されてしまい、FTPで消せなくなってしまったのですが、 どうすれば消せるようになるでしょうか。 セーフモードで動いているサーバーみたいで、困っています。 phpが作ったファイルなので、phpで動くファイルマネージャーみたいなのを探していたのですが、 あいにくみつからず困っています。どうすればよいでしょうか。
- SMTPサーバの接続に失敗する原因について
現在、Webからmb_send_mailを使ってメール送信を行おうと思っていますが、 以下のようなエラーが発生します。 Warning: mb_send_mail(): Failed to connect to mailserver at "XXX.XXX.co.jp" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in XXX.php on line XX エラー内容の通り、SMTPサーバに接続できていないのですが、 同じソースをPHP.EXEを使って直接実行すると、 正常にメールが送信されます。(php.iniも同じ) Apacheの設定のような気もしますが、 原因・解決方法について、 どなたかご存知の方がおられましたら、ご教授ください。 環境 Apache2.0.50 PHP4.3.8 以上、よろしくお願い致します。
- MySQLでの0割りが必要な場合の処理
PHP4.3.1 + MySQLの環境での質問のため、こちらのカテゴリで質問させていただきます。 MySQLでクエリーを実行する際に「order by フィールドA / フィールドB」でソートしたいと思っています。ただし、「フィールドB」は0の場合が有るので、どうしてもMySQLだと0割エラーが発生してしまいます。(MySQLだと条件分岐も使えないようですし。。。) 一度ソートをせずにクエリーを実行し、PHP側でmysql_fetch_array()してから、配列の値をソートする方法も有ると思いますが、イマイチ手順に無駄が有るような気がします。 MySQLで0割りをスムースに行う方法をご存じの方がいらっしゃいましたらお教えいただければと思います。
- flockのタイミング
掲示板のスクリプトを作っています。 ログは1行ごとに1記事分のデータが格納されているので、書き込み処理の場合は、 $lines = file("./log.dat"); としていったん配列にログを読み込み、 array_unshift($lines, $new_data); 等して、新しい記事のデータを配列の先頭に追加し、 $fp = fopen("./log.dat", "wb"); foreach ($lines as $line) { fputs($fp, $_); } fclose($fp); として、最終的にログに書き込みます。 Perlを扱っているときは(複数更新すべきログファイルがあったので)、別途ロックファイルを作ってそれに対してflockをかけるという方法を行っていましたが、今回はログファイルが1つであるのでそのログファイル自体にflockをかけようと思っています。 しかし、fileで最初にopenしているため、ファイルポインタが取得できず、flockをかけるタイミングは、本当の書き込み作業の部分(fopen)からかけるしかなさそうなのですが、これは危険ではないでしょうか? それと、マニュアルに、 注意: flock()は、ファイルポインタを必要とするため、 (fopen()へ引数"w"または"w+"を指定して)書き込 みモードでオープンすることにより丸めるファイルにアクセス保護する 特別なロックファイルを使用する必要があるかもしれません。 とかいてありますが、この意味がいまいちわからず、困惑しています。
- 正規表現:自動URLによる宣伝防止について
掲示板において、悪質な宣伝サイトに困っています。 例えば、禁止URLに http://hogehoge3.com とした場合、 悪質サイトは http://hoge hoge3.com http://hoge○hoge3.com のように記述してきます。 どうにかこのURLに記述可能な文字以外の文字が含まれていたら文字をxxxなどと改ざんする正規表現はありませんでしょうか? 少しでも対策したいのでお願いいたします。 下記は現在の自動URL表現です。 preg_match_all("/(^|[^=\]])(https?:\/\/[\!-;\=\?-\~]+)/si",$str,$reg);
- preg_replaceにおけるeオプション
文字列$strは、「aa:bb」という文字列を含み、$flagが1のときは、この部分を「aa」に。0のときは「bb」に置き換えるという処理で、 $str = preg_replace("/(.*):(.*)/e","($flag) ? $1 : $2", $str); とするも、うまくできません。 http://www.jp.u4ia.net/~tkyng/php/php_manual_i18n/function.preg-replace.html こちらのサイトの一番下にe修飾の使い方がのっているのですが、これを真似てもうまくいきません。 e修飾の使い方を教えてください。
- ブラウザの入力項目に演算結果を表示したい
ブラウザ(IE(Ver6.0)上に、数量、単価、金額の項目があり数量Or単価を入力した時点で即座に金額欄へ計算結果を表示する方法を知りませんか?または、不可能なのでしょうか? 【下記方法では出来るのですが】 1. <FORM ACTION="XXXXX.php"へ自身のphpを指定し、$_POST["XXXX"]を使っての計算はやりたくない。(作成したいフォームにMySQLからテーブル内容を選択する<select が複数項目存在し、再表示に時間がかかる為) 2.<input type="button"でのonclick="XXX()"のように ボタンがクリックされた時にfunction xxx()で計算する方法もしたくない。
- [MYSQL] GROUP BY による結果レコードの取得について
こんにちは。 今回は MYSQL の GROUP BY によって、複数レコードのグループ化を行った場合についてお尋ねしたいです。 id, val という二つのフィールドをもつテーブルがあったとして、複数レコードに対して、id でグループ化を行うとします。 その時、val の合計を求めたいのですが、 SELECT id,SUM(val) FROM tablename GROUP BY id となる SQL構文により SUM(val) を取得します。 この場合、SUM(val) を降順にソートした結果レコードを得ることはできますでしょうか? 通常は ORDER BY を用いてこれを行うと思うのですが、このケースではよくわかりません。 また、PEAR によって、これらの結果レコードを連想配列で取得しようと思っています。 結果レコード $rs に対して、 $data = $rs->fetchRow(DB_FETCHMODE_ASSOC); とすると、 $data の連想配列のキーが SUM(val) となってしまいます。 変数に括弧が含まれるのは具合がよくないので、これらを回避する方法はありませんでしょうか? 以上2点おわかりの方がいればお答えいただけないでしょうか。
- POSTで情報を他のサーバーに渡したい。
GETで情報を他のサーバーに転送するには header("Location: http://abc.com/abc?data=1234"); って感じでできると思うのですが POSTで送信しなければならないのでPOST送信方法を 教えてください。 なおクライアントに一瞬だけ表示させてjavascriptで POSTのフォームを作って送らせる方法があるようですが クライアントの環境に依存せずにできるようにしたいと思っています。
- p2で2chを見たい
p2を使って2chを見ようとしているのですが、設定がうまくいきません。Y30という所にレンタルサーバを借りたのですが、設定の仕方について、1から教えていただける方いませんか?
- PHPで受け取ったパラメータを別のPHPに移す
フォーム用HTMLから受け取ったパラメータを処理用PHPで処理したあと、表示用PHPにパラメータを持たせたまま処理を移したいと考えております。 たとえば、form.htmlで受け取ったパラメータをa.phpで処理し、表示用のb.phpに移すには、どのような方法をとるのが効率的なのでしょうか? smartyなどのテンプレートエンジンを使わない形で考えております。 よろしくお願いいたします。
- ベストアンサー
- PHP
- naosuke511
- 回答数2
- SSIを使えないサーバーで共通項目の一元管理
こんにちは。どうか宜しくお願い致します。 卒業校の同窓会のサイトを立ち上げる事になりました。(ボランティア) 数人の不馴れな人とサイト管理して行く予定ですのでヘッダ、フッダ、メニューなどの各ページの共通項目をSSIで外部ファイルとして一元管理したかったのですがレンタルしたサーバーではSSIがセキュリティー保護の為使えないようです。サーバー管理者に伺った所、SSIではなくてPHP,Perl,JavaScriptで実現したらいかがでしょうかという返答が返って来ました。 しかし...PHP、Perlはチョー初心者でフリーのスクリプトをサイトに合わせてカスタマイズする程度しかできません。(T_T);; また、JavaScriptはoffにしている人がメニューを使えなくなるのか!と思うと使いたく無い気がします。 それで..SSIのように外部ファイルをincludeするための詳しい説明を載せているサイトやincludeするPHPスクリプト自体(Perlの方が大変そうなので)をご教授頂きたいのですが。。。 どうか、どうか宜しくお願い致します。m(_ _)m
- エラーの意味教えてください
Warning: REG_EMPTY:@empty (sub)expression in...143 このエラーなんですけど指定された行は if(!ereg("$tt",$no)){ です。 phpdev5
- functionとforeachでメール送信
こんにちは。前にも質問をさせて頂いたのですが・・・ HTMLのメールフォームからPOSTでデータを受信してクライアントとユーザーの両方にメールを送るようなプロゴラムを記述しています。 データの受け取りからメールの送信のスクリプトを function message(){ foreach($_POST as $key => $val){ print( $key .":" .$val. "<br>"); }; }; $message= " テスト送信 <br>"; $message.= message(); if(mail("クライアントのメールアドレス" , "テストメール", $message, $head)&& mail(message(34) , "テスト確認メール", $message, $head)){ print("・・・"); }else{ print("ご注文メール送信に失敗しました。<br />\n"); print("再度ご注文フォームより注文して下さい。\n"); print("<a href=\"#\">戻る</a>"); }; としています。message(34)はユーザーのアドレスを取得しています。 しかし実行すると画面にPOSTで取ってるデータが2回表示され肝心のメールは クライアントには " テスト送信 と本文に表示されてユーザーにはメールが届きません。 質問が2つですみませんが、 1、functionで関数を作りforeachでデータを取得しメールで送信するというやり方は無謀なのでしょうか? もしできるのでしたらやり方を教えて頂けないでしょうか? 2、メールの本文にある"を消すにはどうしたらいいのでしょうか? かれこれ1週間近く悩んでいるのですが、一向にできそうにありません・・・。皆さんの知恵と知識をお借りできたらなと思います、どうかよろしくお願いします。 他に何かいる情報があれば教えて下さい。分かる範囲で補足していきます。
- ベストアンサー
- PHP
- amountainblast
- 回答数4
- PHPによる端末振り分けについて
宜しくお願いします。 現在は、PERLでPC・各携帯キャリアへの振り分けを行っております。ソースは・・・ #!/usr/bin/perl #index.cgi # #ジャンプ先の設定 # #iモード $imode = "http://www.****.jp/i/index.html"; #EZweb $ezweb = "http://www.****.jp/e/index.html"; #J-Sky $jsky = "http://www.****.jp/j/index.html"; #パソコン $pc = "http://www.****.jp/pc/index.html"; # #ブラウザ情報の取得 # $brwsr = $ENV{'HTTP_USER_AGENT'}; # #判別 # #iモードの判別 if ($brwsr =~ /DoCoMo/){ print "Location: $imode\n\n"; } #EZwebの判別 elsif ($brwsr =~ /UP.Browser/){ print "Location: $ezweb\n\n"; } #J-Skyの判別 elsif ($brwsr =~ /J-PHONE/){ print "Location: $jsky\n\n"; } #その他(パソコン) else { print "Location: $pc\n\n"; } exit; という形で自動振り分けをしておりますが、これと同じ機能をPHPで作るにはどうすれば良いでしょうか?
- プログラムのクエリーをRewriteRuleの正規表現で書き換え
ページを検索エンジンに登録させるために URLのクエリー以下(?からうしろ)を.htaccessのRewriteで書き換えて「/」区切りでアクセスさせようと思っています。 http://***.domain.com/program.html?a=1&b=2&c=3 ↓ http://***.domain.com/program/a/1/b/2/c/3.html 大抵このような場合 RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)\.html$ $1.html?$2=$3&$4=$5&$6=$7&$8=$9&$10=$11 [L] RewriteRule ^(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)\.html$ $1.html?$2=$3&$4=$5&$6=$7&$8=$9 [L] RewriteRule ^(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)\.html$ $1.html?$2=$3&$4=$5&$6=$7 [L] RewriteRule ^(.*)/(.*)/(.*)/(.*)/(.*)\.html$ $1.html?$2=$3&$4=$5 [L] RewriteRule ^(.*)/(.*)/(.*)\.html$ $1.html?$2=$3 [L] のように追加していく書き方が簡単だと思うのですが、クエリーの数が多く正規表現の「()」で参照する変数が$10を超えてしまい上手く参照できません。 クエリーがいくら追加されても対応できる汎用性のある記述を作ろうと思っています。 何か良い方法があったら教えて下さい。
- 締切済み
- PHP
- noname#7775
- 回答数2