agunuz の回答履歴

全714件中121~140件表示
  • 複数のプログラムを1ページで行えますか?

    PHP始めたばかりです。 下記の事で困っています。 単体ではうまく動くのに二つ並べると動作しません。 どうしたら複数のプログラムを1ページで行えますか? どこかに番号を付けて同じにならないようにするのかなとは思いますが分かりません。 ご教示お願い致します。 <?php $file = 'txt/a0001.txt'; if ($_POST['button_save']) { //POSTされたときは書き込み処理をする $fp = @fopen($file, 'w'); if ($fp == false) { print "このファイルには書き込みできません。<br>\n"; } else { $contents = htmlspecialchars($_POST['textBox_contents']); fwrite($fp, $contents); fclose($fp); print "書き込み完了しました。<br>\n"; } } $text = file_get_contents($file); $text = htmlspecialchars($text); ?> <textarea name="textBox_contents" cols="40" rows="2"><?php echo($text); ?></textarea> <br/> <input type="submit" name="button_save" value="保存"> </form> <p> <p> <?php $file = 'txt/b0001.txt'; if ($_POST['button_save']) { //POSTされたときは書き込み処理をする $fp = @fopen($file, 'w'); if ($fp == false) { print "このファイルには書き込みできません。<br>\n"; } else { $contents = htmlspecialchars($_POST['textBox_contents']); fwrite($fp, $contents); fclose($fp); print "書き込み完了しました。<br>\n"; } } $text = file_get_contents($file); $text = htmlspecialchars($text); ?> <textarea name="textBox_contents" cols="40" rows="2"><?php echo($text); ?></textarea> <br/> <input type="submit" name="button_save" value="保存"> </form>

    • ベストアンサー
    • y-mine
    • PHP
    • 回答数3
  • phpでのログアウトについて

    phpで会員制サイトの制作を勉強しています。 データベースへはPDOで接続しています。 MySQLデータベースを使用しています。 セッション変数($_SESSION["email"])の有無を使用したログイン方法を使用しています。 セッション変数の破棄(ログアウト処理)について質問があります。 前提として、現在会員制サイト制作の勉強で「ログアウト後は必ずTOPページに遷移する」という形にこだわっています。 ちなみに現在使っているログアウトの方法は 1、 全ページ共通の、ページ上部に表示されるメインメニューに <form method="post" name="logout" action="toppage.php"> <input type="hidden" name="logout" value="true"> <input type="submit" value="ログアウト"> </form> でログアウトボタンを作成し、 ログアウトボタンが押されたらtrueという値を持った$_POST["logout"]を トップページ(toppage.php)に送る。 2、トップページ(toppage.php)に画面遷移させ、 $logout = filter_input(INPUT_POST, 'logout'); if($logout=="true"){ unset( $_SESSION["email"] ); } でもしも$_POST["logout"]がtrueなら セッション変数$_SESSION["email"]を破棄する というプログラムによりログイン・ログアウトを管理しています。 きちんと動いてはいるのですが、不満が1つあります。 願わくばログアウトボタンをformタグのsubmitで作るのではなく、 <a href="toppage.php">ログアウト</a> とリンクを使用して作成したいです。 このようにリンクを使用する場合、遷移後のTOPページ(toppage.php)でセッション変数$_SESSION["email"]を破棄するには、どのようなプログラムを記述すれば良いのでしょうか? ネットで調べたりもしましたが、ほとんどのサイトで紹介していたものは、 ログアウトリンクをクリックすると、ログアウト処理確認専用の画面(「ログアウトしました!」とだけ書かれたような画面)に遷移し、セッション変数を破棄するものばかりでした・・・ 私個人としてはログアウト処理が完了した旨を報告する画面をワンクッション置くのは、あまり実用的ではない気がして好みません・・・ 巷にあふれているようなサイトではログアウトボタンをクリックすると TOPページに遷移するようなサイトばかりなので、 phpを使用した場合、どうやったらそのような仕組みになるのか考えた上で、 今のへんてこなログアウト処理プログラムに至りました。 ごちゃごちゃしていないもっと良いログアウト処理プログラムはないでしょうか? ご回答、よろしくお願いします。

    • ベストアンサー
    • mmm5orz
    • PHP
    • 回答数2
  • formタグについてPHP

    他でも質問しましたが、xamppはもともと練習に使うつもりでしたが、 現在はレンタルサーバーを使っているのでここで試したらどうかと 帰りの電車の中で考えました。 ※送るデーター <form acition="index.php"method="POST"> <p>氏名<input type="text" size="20" name="ad"></p> <input type="submit" value="送信"> </form> ※受け取るデーター index.php <?php echo$_POST['ad1']; echo$_POST['ad2']; ?> 質問1.上記に名前が書かれれば、サーバーに引き渡したデーターを ブラウザーに表示ができるのでしょうか? 質問2.echoはeachとは違うのでしょうか? 質問3.actionのところによくメールアドレスが入っていたりするような気がします。 メールアドレスでも受け取れるのでしょうか?

  • formタグについてPHP

    他でも質問しましたが、xamppはもともと練習に使うつもりでしたが、 現在はレンタルサーバーを使っているのでここで試したらどうかと 帰りの電車の中で考えました。 ※送るデーター <form acition="index.php"method="POST"> <p>氏名<input type="text" size="20" name="ad"></p> <input type="submit" value="送信"> </form> ※受け取るデーター index.php <?php echo$_POST['ad1']; echo$_POST['ad2']; ?> 質問1.上記に名前が書かれれば、サーバーに引き渡したデーターを ブラウザーに表示ができるのでしょうか? 質問2.echoはeachとは違うのでしょうか? 質問3.actionのところによくメールアドレスが入っていたりするような気がします。 メールアドレスでも受け取れるのでしょうか?

  • formタグについてPHP

    他でも質問しましたが、xamppはもともと練習に使うつもりでしたが、 現在はレンタルサーバーを使っているのでここで試したらどうかと 帰りの電車の中で考えました。 ※送るデーター <form acition="index.php"method="POST"> <p>氏名<input type="text" size="20" name="ad"></p> <input type="submit" value="送信"> </form> ※受け取るデーター index.php <?php echo$_POST['ad1']; echo$_POST['ad2']; ?> 質問1.上記に名前が書かれれば、サーバーに引き渡したデーターを ブラウザーに表示ができるのでしょうか? 質問2.echoはeachとは違うのでしょうか? 質問3.actionのところによくメールアドレスが入っていたりするような気がします。 メールアドレスでも受け取れるのでしょうか?

  • formタグについてPHP

    他でも質問しましたが、xamppはもともと練習に使うつもりでしたが、 現在はレンタルサーバーを使っているのでここで試したらどうかと 帰りの電車の中で考えました。 ※送るデーター <form acition="index.php"method="POST"> <p>氏名<input type="text" size="20" name="ad"></p> <input type="submit" value="送信"> </form> ※受け取るデーター index.php <?php echo$_POST['ad1']; echo$_POST['ad2']; ?> 質問1.上記に名前が書かれれば、サーバーに引き渡したデーターを ブラウザーに表示ができるのでしょうか? 質問2.echoはeachとは違うのでしょうか? 質問3.actionのところによくメールアドレスが入っていたりするような気がします。 メールアドレスでも受け取れるのでしょうか?

  • ひさびさにXAMPPを起動しましたが

    アドレスにhttps://localhost/xampp/にhttpsのところに赤い斜線がはいり 使えません。 このサーバーが 127.0.0.1 であることを確認できませんでした。このサーバーのセキュリティ証明書は、ご使用のパソコンのオペレーティング システムによって信頼されているものではありません。原因としては、不適切な設定や、悪意のあるユーザーによる接続妨害が考えられます。 という詳細があります。 通常phpで作ったデータはhttps://localhost/xampp/フィル名phpででてくるのだと思いますが、 Error 404とでてしまいます。 どうしたらようでしょうか?

  • forで無限ループになっていないかどうか

    各アイテムの最新3件だけデータベースに残したいと思い、下記のようにしてみました。 動作を確認したところ問題なかったのですが、何か(無限ループする可能性があるなど)問題があるようでしたら、ご指摘いただけないでしょうか。 よろしくお願いいたします。 for ($num = 1; $num < 21; $num++){ // アイテムが20件ある場合 $sql = "SELECT COUNT(id) AS cnt FROM item where item_id=$num ;"; $res = mysql_query($sql, $conn) or die; $row = mysql_fetch_array($res, MYSQL_ASSOC); $count = $row["cnt"]; if($count<3){ // アイテムが3件より少なかったら何もしない } else{ $delete_count=$count-3; $sql = "delete from item where item_id=$num order by date limit $delete_count;"; $res = db_query($sql, $conn); } }

    • ベストアンサー
    • feed12
    • PHP
    • 回答数2
  • mysqlでテキストフィールドへPHPからデータ

    もともと考え方がおかしいのかも知れませんが PHPでデータをよみます。 mysql ではTEXTフィールドがあります $r=fread($fp, 長さ(可変長)); でこれからです。 Buf4がTEXTフィールド); $sql="insert into $tbn4 ( Buf4 ) values ($r); sql実行。データがはいりません。

    • ベストアンサー
    • masatsan
    • PHP
    • 回答数2
  • 縮小画像を事前ではなく画像表示時に作成しても良い?

    アップロード画像を縮小するタイミングについて教えてください。 画像アップロードする際に縮小も済ませておく実装をよく目にするのですが、事前縮小せずに、画像を表示する際に縮小してもよいのでしょうか? ■案1.画像アップロードする際に縮小 ・「元画像」+「縮小画像」を保存 ・縮小画像表示は、事前作成した「縮小画像」を指定 ■案2.画像アップロードするだけ ・「元画像」のみを保存 ・縮小画像表示は、「元画像」にその都度GDやImagickで大きさを指定 ■質問 ・ほとんど「案1」で実装すると思うのですが、「案2」だと何がマズいのでしょうか? ・事前作成せずにその都度処理するので、もしかすると画像表示とかが遅くなるのでしょうか? ・それぞれのメリット/デメリットを教えてください

    • ベストアンサー
    • re97
    • PHP
    • 回答数3
  • 配列データのMySQLへの登録

    下記の配列のデータをMySQLのデータベースに登録をしたいと思っています。 (参考)に記述しています内容で実行をしましたが、1つ目のデータしか登録がされず、 for文なども考え試行錯誤していましたが、うまく実行できない状況であります。 登録のための方法をご教授いただければと思います。よろしくお願いします。 array(3) { [0]=>"146-0082" [1]=>"東京都大田区" [2]=>"田中さん" array(3) { [0]=>"120-0015" [1]=>"東京都足立区" [2]=>"山田さん" -------------------- (参考) $sql = ('insert into table (number, adress, name) values (:number, :adress, :name)'); $stmt = $dbh->prepare($sql); $params = array( ":number" => $data[0], ":adress" => $data[1], ":name" => $data[2] );

    • ベストアンサー
    • kondo3069
    • PHP
    • 回答数3
  • 画像アップロードのファイル名はハッシュ以外でも可?

    画像アップロード時のファイル名を、ハッシュ値に書きかえている実装をよく見るのですが、あれって別にハッシュじゃなくても良いのでしょうか? ・例えば、下記URLにアップロードする際、画像ファイル名を(容易に推測されやすい)256.jpgに書き変えると、セキュリティ的にマズいのでしょうか? <URL例> ・http://〇〇/256.php ■分からない点 ・「ブラウザから渡されたファイル名は汚染リスクがある」と書いてあったのですが、この意味は、「ブラウザから渡されたファイル名をそのまま使用してはいけない」ということだけでしょうか? ・書きかえるファイル名は何でも良い? ・上記のように、推測されやすいファイル名でも問題ない? ■質問背景 ・ファイル名をハッシュ値に書き換えると、FTPとかで確認する際やりづらいかなと思い、質問しました

    • ベストアンサー
    • re97
    • PHP
    • 回答数1
  • PHP二次元配列をJavaScript配列へ変換

    PHPの二次元配列データを、JavaScriptの二次元配列データとして使用したいのですが、どうやって変換すればよいでしょうか?

    • ベストアンサー
    • re97
    • PHP
    • 回答数3
  • illegal string offset

    php5.3では動いていたプログラムをphp 5.4 で動かしたらwarning illegal string offsetが出て困っています。以下のプログラムでwarningが出ないようにするにはどのようにコーディングすればよいのでしょうか? 例 $a = array('exists' => 'foo'); if ($a['exists']['non_existent']) { print 1; } print 2; exit;

  • 配列データのMySQLへの登録

    下記の配列のデータをMySQLのデータベースに登録をしたいと思っています。 (参考)に記述しています内容で実行をしましたが、1つ目のデータしか登録がされず、 for文なども考え試行錯誤していましたが、うまく実行できない状況であります。 登録のための方法をご教授いただければと思います。よろしくお願いします。 array(3) { [0]=>"146-0082" [1]=>"東京都大田区" [2]=>"田中さん" array(3) { [0]=>"120-0015" [1]=>"東京都足立区" [2]=>"山田さん" -------------------- (参考) $sql = ('insert into table (number, adress, name) values (:number, :adress, :name)'); $stmt = $dbh->prepare($sql); $params = array( ":number" => $data[0], ":adress" => $data[1], ":name" => $data[2] );

    • ベストアンサー
    • kondo3069
    • PHP
    • 回答数3
  • phpmyadmin の文字コード

    現在xammpを利用して製作を進めています。 データベースに日本語を打ち込んだ際???と表示がされており原因を探ったところphpmyadmin の文字コードの問題だと行き着きました。 で、『サーバー接続照合順序』を utf8 に設定しようとしたのですが、なぜか強制的に utf8mb4 に変更されてしまいます。 表示は???のままです。 SET character_set_client = utf8; SET character_set_results = utf8; SET character_set_connection = utf8; をsqlに打ち込んでもやはりmb4になってしまいます。 なぜでしょうか?どのように対応したらいいですか?

    • 締切済み
    • suvera
    • PHP
    • 回答数2
  • forを使わずにforeach文のみでループを回す

    ○質問の主旨 先日、下記の質問をしました。 PHPのfor文とforeach文の使い方 http://okwave.jp/qa/q8812443.html この例では,for文とforeach文を使って、 ・果物の名前を4回繰り返す ・繰り返しの2回目と4回目は、"食べてください"という文字列を入れる というプログラムを実現しています。 今回は同じ出力をするにあたって、 繰り返しはforeachのみで実現したいと考えています。 どのように修正すればよろしいでしょうか? ご存知の方がいらっしゃいましたら、 ご教示を願います。 ○質問の補足 このようなプログラムにしたいと考えています。 $fruits = array("りんご", "ばなな", "ぶどう", "みかん"); foreach ($fruits as $value) { // 果物の名前を4回繰り返して2回目と3回目は"食べてください"を入れる if (($i == 1) || ($i == 3)) { echo "食べてください"; echo "<br/>"; }; echo $value; echo "<br/>"; } 完成イメージはこんな感じです。 (1回目のループ) りんご ばなな ぶどう みかん (2回目のループ) 食べてください りんご ばなな ぶどう みかん (3回目のループ) りんご ばなな ぶどう みかん (4回目のループ) 食べてください りんご ばなな ぶどう みかん ○前回のプログラム for($i = 0; $i < 4; $i++) { if (($i == 1) || ($i == 3)) { echo "食べてください"; echo "<br/>"; }; $fruits = array("りんご", "ばなな", "ぶどう", "みかん"); foreach ($fruits as $value) { echo $value; echo "<br/>"; } }

    • ベストアンサー
    • dradra33
    • PHP
    • 回答数4
  • PHP+SQLiteでmax(id)が使えない?

    PHPから「select max(id) from table」で「idで最大」が得られていないようで困っています。 一応、sqlite3で同じコマンドを叩いた場合ひ期待した値は帰ってきますが、上記のPHPのコマンドではサイズが0のオブジェクトが返って来ます。 また、このコマンドは「一番新しく追加された項目のidを求める」為に必要なのですが、もしmax(id)を使用しない方法をご存知であれば御教示下さい。

  • エラーを表示

    テキストボックスに、商品製造番号と商品番号という記入欄があり、最初の2つの数字がそれぞれ検索して一緒じゃなければエラーメッセージで「番号が合っていません。」と出てくるようにしたいのですが、どのように書けばいいのか教えていただきたいです。 商品製造番号[0144] 商品番号 [0163] [検索] ○ 商品製造番号[0544] 商品番号 [0563] [検索] ○ 商品製造番号[0211] 商品番号 [0145] [検索] × 番号が合っていません。 商品製造番号[0522] 商品番号 [0244] [検索] × 番号が合っていません。 というような形にしたいです。 ifを使えばいいのかsubstrを使えばいいのかissetを使えばいいのか分かりません。 よろしくお願いします。

    • ベストアンサー
    • ryiryilp
    • PHP
    • 回答数1
  • SELECT COUNTで取得した結果の表示

    phpで検索結果画面の制作を勉強中です。 pdoでmysqlデータベースに接続しています。 現在、検索フォームの作成を勉強中です。 検索用のフォームに入力された文字に類似しているという条件(あいまい検索)のもと、 添付画像の上のようなデータベーステーブル内をSELECT COUNTし、 添付画像の下のように、検索に該当するそれぞれのカラムのデータと、そのデータがいくつ存在しているのかを表示させたいです。 SELECT COUNTでGROUP BYを使用すれば結果が取得できると教えていただき、以下のようなphpを記述しました。 //フォームに入力されたテキストをGETで渡し、プログラムで取得し、あいまい検索に対応させる。 $search = '%'.$_GET['search'].'%'; //現在表示している結果表示ページのページ数をURLから取得 $page = $_GET['page']; //SQLのLIMIT句用にデータのいくつめから取得するか$limitに入れる $limit = ($page-1) * 20; //該当するものをグループ化し、それぞれのデータ数をカウントする try{ $stmt=$db->prepare('SELECT COUNT 【住所】 FROM 【顧客情報】 WHERE search like :search GROUP BY 【住所】 LIMIT :limit , 20'); $stmt->bindValue(':search',$search,PDO::PARAM_STR); $stmt->bindValue(':limit',$limit,PDO::PARAM_INT); $stmt->execute(); }catch(PDOException $e){ $error = "エラー:".$e->getMessage(); } while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ print $row['【住所】']; } ※検索フォームのタグは省略しています。 ※データベース接続は$dbで行っています。 ※該当したデータを1ページにつき、20件ずつ表示したいのでLIMIT句を使用しています。 実行したところ、結果はおろか、エラーも何も表示されませんでした。 個人的にはSQL文に間違えがあるというよりも、 while文以降で取得したデータの表示ができていないのではないかと思いますが、 「SELECT COUNT」の結果表示の方法をネットで調べても 答えになるものが中々見つかりませんでした。 また、添付画像の下のように、 取得したデータ名とそのデータの件数を一緒に表示するプログラムが理想なので、 どなたかご教授頂けると有難いです。 ご回答、よろしくお願いします。 ※ちなみに、正規化については理解しておりますが、今回は例示として住所を使用しました。

    • ベストアンサー
    • mmm5orz
    • PHP
    • 回答数3