• 締切済み

このurlの仕組みについて

名刺の注文フォームを作っています。 下記のurlのように名刺のデザイン一覧がありサンプル画像を クリックするとクリックした画像が注文フォームに表示され 自動でサンプルナンバーをフォームのサンプルナンバー表記する 箇所に表示させたいと思っているのですが具体的な方法が わかりません。 http://www.meisiya.net/biz_impact/list_bi_1.html 注文フォームまでは完成し送受信も問題ないのですが現状は セレクトボックスからサンプルナンバーを選んでもらうというもので サンプルを確認するためにページを2ページ開くか戻ってサンプルを 確認しなければならないのでどうも手間に感じてしまいます。 参考urlをみると画像のみクリックした画像を表示させるものの ヘッダーやフッターなどは全て同じものを読込んでいるように見え 画像表示の部分だけifやelseで分岐しているのかな・・・? と初心者ながらも思う事はできるのですが具体的な方法が わからずです。>_< 初心者なものでできるだけ具体的に教えて頂けますと非常に幸いです。 意味のわかりづらい文章になってしまいましたがご不明な箇所が ありましたら随時補足致します。 詳しい方おりましたら是非ご教授お願い致します。

みんなの回答

  • golive001
  • ベストアンサー率54% (20/37)
回答No.3

https://www.meisiya.net/ord_bi.x?dsi_no=bi_76 ソースを参考にしてみて下さい。 実はこのソースでは、GETで受け取った値を、自分自身に代入して、そのまま確認画面へPOSTしているんです。 どうやっているかというと <input name="dsi_no" type="hidden" value="bi_76"> というHTMLを吐き出しているのです。 より具体的には、 <?php $no = $_GET['dsi_no']; //下記ヒアドキュメント(この記述以外でも、代入出来さえすればよいです。) print<<<FORM <html> <form action="https://www.meisiya.net/ord_fix.x" method="post" name=fm_ord> (中略) <input name="dsi_no" type="hidden" value="{$no}"> </form> </html> FORM; ?> hidden とは隠す(非表示)という意味ですので、form内には表示されません。しかし、formタグ内に存在するので他の値同様にPOSTされる訳です。 hiddenはよく使いますから、覚えておいて損はないですよ!

noname#65793
質問者

補足

お返事ありがとうございます。 やはりURLの?no=111が消えてしまいます。 フォームはHTML_QuickFormで生成しておりページの表示はsmartyを 使っているのですがそれが原因でしょうか? メインページで表示させるtplファイルにフォーム表示するphpを 読込みしており若干複雑な感じになっています。 ---php---(メインページで表示するtplファイルに記述) $image = $_GET['no']; print<<<IMG <img src="img/common/card_img/{$image}.gif"> IMG; $no = $_GET['no']; print<<<FORM <input name="no" type="hidden" value="{$no}"> FORM; ---html出力--- <form action="/order.php" method="post" name="form" id="form"> <img src="img/common/card_img/111.gif"> <input name="no" type="hidden" value="111"> ~省略~ </form> HTML_QuickFormの生成するphpに $form = new HTML_QuickForm('form'); とするとhtmlの出力は <form action="/order.php" method="post" name="form" id="form"> となるので $form = new HTML_QuickForm('form', 'post', 'order.php?no111'); と試しに変更し <form action="/order.php?no=111" method="post" name="form" id="form"> と出力させるように静的に変更したところ確認画面に移動してもurlの?no=111は消えませんでした。 理解力が足りなく大変申し訳ないのですがお力添え頂けますと幸いです。

全文を見る
すると、全ての回答が全文表示されます。
  • golive001
  • ベストアンサー率54% (20/37)
回答No.2

おそらくなんですが・・・ (1) http://www.meisiya.net/biz_impact/list_bi_1.html 内で <a href="./ord_bi.x?dsi_no=bi_76">bi_76</a> とリンクを貼る。 (2) ord_bi.xファイルに GETして連想配列array([dsi_no] => "bi_76")を渡す (3) /biz_impact/large/ ディレクトリ内部でbi_76と同じ名前の画像ファイル(.jpg)を表示する。(名前が固定してある) $image_url = "/biz_impact/large".$_GET['dsi_no'].".jpg"; <html> <?php print $image;?> </html> って流れだけかと思いますよ。 実際には、GETした内容がが空かどうかのチェックしなければいけませんが、 ほぼ上記の内容で処理していると思います。 GETのを削ってアクセスしてみると、画像が表示されず・・・large/.jpgのように出力されていますからほぼ間違いないと思います・・・ 自信ないですが(汗)参考までに

noname#65793
質問者

補足

お返事ありがとうございます! おかげさまで何とか形にする事まではできました。 問題があるのですが フォームの生成はPEARのHTML_QuickFormを使っています。 同一のURLで入力画面→確認画面→送信完了画面という流れです。 order.phpが注文フォームのページとすると サンプル画像に<a href="order.php?no=111">画像</a>とすると order.php?no=111のページに移動します。 ここまでは問題ないのですがフォームの入力内容確認画面に 移動するとURLがorder.phpとなってしまい?no=111が消えてしまいます。 form action="order.php?no=111"・・・となっていない事が原因かとも 思い 質問時に参考にしたURLのhtmlをみると/ord_bi.x?dsi_no=bi_84の場合でも form action="https://www.meisiya.net/ord_fix.x" となっており?以降がついておりませんでした。 (入力画面のみの構成なのかもしれませんが) GETした値を最後まで維持する方法?なんと表現したらいいかわからないのですが なにかわかりますでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • mamyutyan
  • ベストアンサー率55% (22/40)
回答No.1

>下記のurlのように名刺のデザイン一覧がありサンプル画像を >クリックするとクリックした画像が注文フォームに表示され クリックした後に表示されたurlをよく見てみてください. (GETやPOSTがわかったら,できると思いますが.)

noname#65793
質問者

補足

お返事ありがとうございます。 >(GETやPOSTがわかったら,できると思いますが.) 具体的なソースがわからないため質問させて頂いております。 hoge.php?id=hogeを見るとGETを使っているのかな?と思うのですが 初心者ながらその程度の事しかわかりません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • これはどのような方法なのでしょうか?

    php初心者です。名刺の注文フォームを作っています。現在は名刺のサンプルページと別に 注文用フォームがあり注文したい名刺のサンプル番号をセレクトボックスで選んでもらう形式です。 悩んでいる事を簡単にまとめると注文の際にサンプル番号を確認するために名刺のデザインサンプル ページに戻り番号を確認する必要があるので少々手間な感じがしてしまいます。 できれば画像をクリックして飛んだページに自動でサンプル番号とクリックされた名刺の画像も出力され その下に情報を入力するフォームがあるような感じにしたいと思っております。 名刺ショップなどを見てみたのですがdesign.php?id=no001のようにページのurlの後ろに?id=no001のような アドレスになっていました。 phpでやっていることはわかるのですがこれはどのような方法なのでしょうか? 名刺のデザインサンプルが仮に10個あるとすれば注文フォームも同数つくれば問題は解決できるのですが あまりにも手間なもので簡単に解決できる方法などアドバイスなどありましたら教えてください。 宜しくお願いします。

    • 締切済み
    • PHP
  • メール送信されたurlを取得したい

    HTML_QuickFormを使ってフォームをつくる予定なのですが どこのページから送信されたのかを取得したいと思っているのですが どのような方法がありますでしょうか? 具体的には http://example.com/sample1.htmlと http://example.com/sample2.htmlと http://example.com/sample3.htmlに フォームがありどこのページから送信されたかを取得したいと いうことです。 また、postでメール送信するのですがメール送信時に取得した urlを表示させる場合どのようにすればいいのでしょうか?

    • 締切済み
    • PHP
  • 長いURLをフォームに入力させる方法について

    社内の図書注文フォームを作ろうと思っています。 amzonのurlは最長で2000字を超えるそうです。 図書名: 金額:以外は当該ページのURLを貼ってもらい送信してもらおうと思っています。 短縮URLに変換するというのも考えましたが個人が運営しているフリーソフトしかなく、突然サイトが閉鎖されたり、マルウェアの危険性もあるということなのでやめました。 注文フォーム用のウェブサイトも幅は1000pxしかとっておらず、 通常の<input type="URL"……>のフォームで高さ、幅を大きくすれば4行、5行にまたがるURLを貼り付け途切れないように確認できるものなのでしょうか? いっそ<textarea>を使いそこにURLを貼ってもらおうかなとも考えています。 そういうやり方というのは間違った使い方なのでしょうか? この場合、2000字程度の文字列を入力する場合、colsやrowsはどれくらいの値をすればいいのでしょうか? <textarea type="url" name="A" cols="B" rows="c" ></textarea> まだまだ初心者です。これ以外にも何かいい方法をご存じでしたら教えてください。 よろしくお願いします。 投稿画像

  • リンク元のURLをメールで送信したいのですが

    リンク元のURLをメールで送信したいのですが 複数のページから1つのメールフォームを兼用しているのですが、その際、元のページのURLを一緒に送信したいのですがうまく出来ません。 使っているメールフォームはform_mailer.cgiです。 ●全体の流れ 【1】各商品ページ(HTML) ボタンをクリックでメールフォームへ     ↓ 【2】メールフォーム(HTML) 項目を入力後、送信ボタンをクリック     ↓ 【3】確認画面(form_mailer.cgi) 送信ボタンをクリック     ↓ 【4】メール送信 ・【1】のページのURLを【4】で送信したいのです。 ・【2】と【3】の時にはできれば「hidden」等で非表示にしておきたいです。 いろいろ調べてみたのですが、JavaScriptの「document.write(document.referrer);」が使えるのかと思ったのですが、それを【2】以降どうCGIに渡せばいいのかがわかりません。 もしくは、他に手段があるのかもしれませんが…。 どなたか、方法がわかりましたらご教授願います。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • URLの貼り方が分かりません

    紹介したいサイトやページ等のアドレスを、メール上で手く貼り付ける事が出来ません(;;) 私のPC画面内には、開いているページのアドレスが、どこにも表示されていません。 ですので、右クリックのプロパティで表示されたアドレスをコピーして貼り付けてみたりしました。 でも、実際にそれで貼ったアドレスをクリックすると、画面内にあった画像だけが表示されたり、タイトルと壁紙だけが表示されたりと、まともにそのページ全体が映し出されたためしがありません(ToT) 一体どうやったらちゃんとしたURLが貼れるのか、もうチンプンカンプンで・・・・・。 どなたか無知な私にお知恵をかして下さい、宜しくお願い致します!!

  • url削除

    OKweb初心者です 何故かアップロードした画像のurlが削除されています そればかりか回答者NO.1さんとの画像についてのやり取りすら コメントも削除されています URLは何故削除されているのですか? また正しいURLの載せかたとは?

  • 小さい画像をクリックしてURL?

    こんばんは よろしくお願いします 写真の多いホームページを作っています。 小さい画像(軽く加工済み)を並べて、クリックすると大きい画像を表示する様にしたいと思っています。 色んなホームページを見せて頂きましたが JPEGのままの方とURLの方がいらっしゃいます。このときの大きい画像はJPEGのまま画像自体を大きくするのと ページを作ってURLにするのとは どう違うのですか? 重さかなぁ?と思ったんですが URLの中にも大きい画像があるのですごく疑問に思っています。

  • http://で始まる画像のURL

    ロリポップキャンディーボックスでCGIをレンタルし、自分のHPの中の、BBSやLINKのページで使おうと思ったのですが、 CGIカスタム画面で、分からない事がありました。 画像を使用するにはhttp://で始まる画像URLを書かなきゃいけないのですが、 自分のHPに表示してある画像なら、HPを開いて、使いたい画像の上で「右クリック→プロパティ」でURLを見る事が出来るので問題ないのですが、 CGIの中でしか使用しない画像を表示するにはどうすれば良いのでしょうか? 例えば、他人のHPのリンク用のバナーや、CGIのタイトル「BBS」などの画像です。 それはCGIの画面でしか使わない画像です。 そういう画像は、FTPでアップロードした後、http://で始まるURLを確認するまでどういう作業をすれば良いのでしょうか? 上手く伝えられたか不安ですが、意味をわかって下さった方、どうかアドバイスお願いします!

  • テキストエリアに画像URLを貼り付ける入力支援

    簡単なCGI日記を作成してますが、この入力フォームのテキストエリアに手動で画像URLのタグを入れるのが手間なので、 ↓ サーバーにある画像一覧が別窓(違うファイルから)で表示されていて(実際には画像表示ですが・・・) <a href="sample1.gif"><img src="sample1.gif"></a> <a href="sample2.gif"><img src="sample2.gif"></a> <a href="sample2.gif"><img src="sample2.gif"></a> ↓ 画像をクリックするとCGIのテキストエリア内に自動で <a href="sample1.gif"><img src="sample1.gif"></a>とタグを挿入するjavascriptってサンプルになるようなものはないでしょうか?

  • OEメールが届きました。そこにはURLが張られています。そのURLをク

    OEメールが届きました。そこにはURLが張られています。そのURLをクリックしたら、事前に開けておいたWEBページが消え去り、そのメールのURLページが表示されます。以前のWEBサイトを消さずに、メールからクリックしたURLは新規ブラウザで観る方法はあるでしょうか?