• 締切済み

PHPの解読しているのですが、Textを入力して…

どこに行くのかがわかりません(涙 自分の持てる知識を全力使い、フル回転で探しているのですが、入力した文字がどこに行くのかが分からず苦戦しています。 ソースを辿って文字を入力しているページは分かったのですが、そこからが知識が足りなく断念しています…。 どなたか詳しい方いらっしゃいましたらご回答お願いします。 問題のソース <div class="widget-liquid-right"> <div id="widgets-right"> <?php $i = 0; foreach ( $wp_registered_sidebars as $sidebar => $registered_sidebar ) { if ( false !== strpos( $registered_sidebar['class'], 'inactive-sidebar' ) || 'orphaned_widgets' == substr( $sidebar, 0, 16 ) ) continue; $wrap_class = 'widgets-holder-wrap'; if ( !empty( $registered_sidebar['class'] ) ) $wrap_class .= ' sidebar-' . $registered_sidebar['class']; if ( $i ) $wrap_class .= ' closed'; ?> <div class="<?php echo esc_attr( $wrap_class ); ?>"> <div class="sidebar-name"> <div class="sidebar-name-arrow"><br /></div> <h3><?php echo esc_html( $registered_sidebar['name'] ); ?> <span class="spinner"></span></h3></div> <?php wp_list_widget_controls( $sidebar ); // Show the control forms for each of the widgets in this sidebar ?> </div> <?php $i++; } ?> </div> </div> <form action="" method="post"> <?php wp_nonce_field( 'save-sidebar-widgets', '_wpnonce_widgets', false ); ?> </form> <br class="clear" /> </div>

  • PHP
  • 回答数2
  • ありがとう数3

みんなの回答

  • k_kota
  • ベストアンサー率19% (434/2186)
回答No.2

ここでいう文字とはどこでどのように入れた文字なのでしょうか? phpとのことですが、フォームに文字を入力したらサーバに飛びます。 phpが受けた文字は何かしらの変数に入って処理されます。

ks_okwaveid
質問者

お礼

お返事遅れて申し訳ありません。 質問自体が曖昧でご回答に困ってしまう事に気がつきました…、Scriptをソースに直接貼りたかったのですが、無事済みました♪ご回答有難うございま♪

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

phpというよりは「Wordpress」ですよね? ><form action="" method="post"> ><?php wp_nonce_field( 'save-sidebar-widgets', '_wpnonce_widgets', false ); ?> ></form> POST先は「自分自身」です(wordpressはそういう作りになっていると思います)。自分自身がどういう動作をするかは、このフォームでテキスト入力以外にどういうものが引き渡されるかに次第です。つまり wp_nonce_field( 'save-sidebar-widgets', '_wpnonce_widgets', false ) が何を返すのかによります。このページを表示した状態でブラウザでソース表示にして確認する方が手っ取り早いと思います。 でも http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_nonce_field これだとフィールドがひとつだけ?もしそうならform自体が意味を成さないけど・・・

ks_okwaveid
質問者

お礼

ご回答有難うございます♪おっしゃる通りWordPressです♪色々自分で模索しているのですが、アクションフックやPost等の仕組みが完全に把握しきれていないので困っていました…、wiggetがソースをを調べても何処でどうなっているのかがさっぱりで質問したのですが、目的は無事果たせました♪ご回答有難うございます♪

関連するQ&A

  • PHPのスクリプトで質問です。

    いつもお世話になっています。 PHPのスクリプトで質問なのですが、 まずは以下のスクリプトを拝見下さい。 <?php $opname=""; $opt=""; for($i=0;$i<sizeof($options_name);$i++) { $opname.="<div id='opname$i'>".strip_tags($options_name[$i])."</div>"; $opt.="<div id='opt$i'>$0</div>"; ?> <?php if ($options_comment[$i] != '' and $options_comment_position[$i] == '0') { ?> <h3 class="attributesComments"><?php echo $options_comment[$i]; ?></h3> <?php } ?> <div class="wrapperAttribsOptions"> <div class="optionName back"><?php echo $options_name[$i]; ?></div> <div class="back"><?php echo "\n" . $options_menu[$i]; ?></div> <div><?php echo $opt; ?></div> このとき、 オプション名1 選択メニュー1 価格[表示]         選択メニュー2        選択メニュー3 オプション名2 選択メニュー1 \0         選択メニュー2 価格[表示]        選択メニュー3 オプション名3 選択メニュー1 \0         選択メニュー2 \0        選択メニュー3 価格[表示] という風になってしまいます。 \0は、不要のため、表示したくないのですが・・・ どなたかご存知の方ご教授お願いできないでしょうか!!! 宜しくお願いします!!!

    • ベストアンサー
    • PHP
  • 予約フォームのPHPの書き方について

    はじめまして。PHP初心者です。個人事業のHPを作成しており、予約システムを導入する為、MTS Simple Bookin C Ver.1.4.0 をインストールし、予約に必要な項目をhttps://www.nishi2002.com/3502.htmlやhttp://www.amagistudio.com/reservedemonstration/を参考に作成中です。 必要項目の plan groom_name groom_frigana groom_age bride_name bride_frigana bride_age arrival_date departure_date hotel を手順通りに追加し、予約フォームの入力まはで出たのですが、入力の確認が出てきません、、、 何が原因かご教授頂けましたら幸いです。 【 mtssb-booking-form.phpの編集】 737行辺りから <?php if (0 < $this->clcols['plan']) : ?><tr>    <th><?php echo apply_filters('booking_form_plan', 'プラン') ?></th> <td>        <?php echo esc_html($client['plan']) ?> <input type="hidden" name="booking[client][plan]" value="<?php echo esc_html($client['plan']) ?>" /> </td> </tr><?php endif; ?> <tr> <th>予約人数</th> <td> <?php foreach ($this->controls['count'] as $key => $val) : ?><div class="input-number"<?php echo $val != 1 ? ' style="display:none"' : '' ?>><?php $title = apply_filters('booking_form_count_label', __(ucwords($key), $this->domain)); if ($title != '') { echo "$title<br />"; } ?> <?php echo esc_html($client[$key]) ?><input type="hidden" name="booking[client][<?php echo $key ?>]" value="<?php echo esc_html($client[$key]) ?>" maxlength="5" /><?php echo apply_filters('booking_form_count_note', '') ?> </div><?php endforeach; ?> <?php if (isset($this->errmsg['count'])) : ?><div class="error-message"><?php echo $this->errmsg['count'] ?></div><?php endif; ?> </td> </tr> <tr> <td class="option-confirm-header" colspan="2"><?php echo apply_filters('booking_form_client_title', 'ご連絡先') ?></td> </tr> <?php if (0 < $this->clcols['company']) : ?><tr> <th><?php echo apply_filters('booking_form_company', '会社名') ?></th> <td> <?php echo esc_html($client['company']) ?> <input type="hidden" name="booking[client][company]" value="<?php echo esc_html($client['company']) ?>" /> </td> </tr><?php endif; ?> <?php if (0 < $this->clcols['groom_name']) : ?><tr> <th><?php echo apply_filters('booking_form_groom_name', 'ご新郎様のお名前') ?></th> <td> <?php echo esc_html($client['groom_name']) ?> <input type="hidden" name="booking[client][groom_name]" value="<?php echo esc_html($client['groom_name']) ?>" /> </td> </tr><?php endif; ?> <?php if (0 < $this->clcols['groom_furigana']) : ?><tr> <th><?php echo apply_filters('booking_form_groom_furigana', 'フリガナ') ?></th> <td> <?php echo esc_html($client['groom_furigana']) ?> <input type="hidden" name="booking[client][groom_furigana]" value="<?php echo esc_html($client['groom_furigana']) ?>" /> </td> </tr><?php endif; ?> <?php if (0 < $this->clcols['groom_age']) : ?><tr> <th><?php echo apply_filters('booking_form_groom_age', '年齢') ?></th> <td> <?php echo esc_html($client['groom_age']) ?> <input type="hidden" name="booking[client][groom_age]" value="<?php echo esc_html($client['groom_age']) ?>" /> </td> </tr><?php endif; ?> <?php if (0 < $this->clcols['bride_name']) : ?><tr> <th><?php echo apply_filters('booking_form_bride_name', 'ご新婦様のお名前') ?></th> <td> <?php echo esc_html($client['bride_name']) ?> <input type="hidden" name="booking[client][bride_name]" value="<?php echo esc_html($client['bride_name']) ?>" /> </td> </tr><?php endif; ?> <?php if (0 < $this->clcols['bride_furigana']) : ?><tr> <th><?php echo apply_filters('booking_form_bride_furigana', 'フリガナ') ?></th> <td> <?php echo esc_html($client['bride_furigana']) ?> <input type="hidden" name="booking[client][bride_furigana]" value="<?php echo esc_html($client['bride_furigana']) ?>" /> </td> </tr><?php endif; ?> <?php if (0 < $this->clcols['bride_age']) : ?><tr> <th><?php echo apply_filters('booking_form_groom_age', '年齢') ?></th> <td> <?php echo esc_html($client['bride_age']) ?> <input type="hidden" name="booking[client][bride_age]" value="<?php echo esc_html($client['bride_age']) ?>" /> </td> </tr><?php endif; ?> 続き→ https://okwave.jp/qa/q9532258.htm

    • 締切済み
    • PHP
  • phpコードを解説して欲しいです。$str 多く困

    $str = '<h3 id="trackbacks">Trackback</h3>'; $str .= '<ol class="trackback-list" id="custom-trackback">'; $i = 0; foreach ( $comments as $comment ) { if ( get_comment_type() != 'comment' ) { $str .= '<li class="clearfix" id="comment-' . get_comment_ID() . '">'; $str .= '<div class="trackback-author">'; $str .= '<p class="comment-author-name">'; $comment_author_url = $comment->comment_author_url; $comment_author = $comment->comment_author; if ( $comment_author_url ) { $str .= '<a href="' . esc_url( $comment_author_url ) . '" target="_blank" title="' . esc_attr( $comment_author ) . '">'; $str .= esc_html( $comment_author ); $str .= '</a>'; } else { $str .= esc_html( $comment_author ); } $str .= '</p>'; $str .= '<p class="comment-meta">' . '<a href="' . esc_url( get_comment_link( $comment->comment_ID ) ) . '">' . get_comment_date() .'<span>'. get_comment_time() . '</span><a class="edit" href="' . get_edit_comment_link() . '">(編集)</a></span></p>'; $str .='</div>'; $str .= '<div class="trackback-body">'; if ( $comment->comment_approved == '0' ) { $str .= '<p class="attention"><em>あなたのトラックバックは承認待ちです。</em></p>'; } $str .= '<p>' . esc_html( get_comment_text() ) . '</p>'; $str .= '</div>'; $str .= '</li>'; $i++; } } $str .= '</ol>'; if ( $i > 0 ) { echo $str;

    • 締切済み
    • PHP
  • PHPに詳しい方、教えてください

    スクリプトの以下の部分の意味がわかりません。 「 if ○○○ : 」 は、どういう解釈すればよいのでしょうか。 わかるかたがいましたら、教えてください。よろしくお願いします。 <?php if (isset($error['name']) ? $error['name'] :''): ?> <p class="error">* ニックネームを入力してください</p> <?php endif; ?> --------スクリプトの解釈-------- $_POSTが空かどうかを確認し、空でなかったら、 $_POST['name'] が空かどうかを確認し、空だったら、、 $error[name] に"blank"という文字列を入れる //最初、読み込んだときは、$_POST の中身は空なので、上記の処理は行われない。 $error['name'] を確認し、値が入って入れば、$error['name']、入っていなかったら’’  ニックネームを入力してくださいと表示する。 ----------スクリプト------------------ <?php session_start(); if (!empty($_POST)){ //エラー項目の確認 if ($_POST['name'] == ''){ $error['name'] = 'blank'; } } ?> <p>次のフォームに必要事項をご記入ください。</p> <form action="" method="post" enctype="multipart/form-data"> <dl> <dt>ニックネーム<span class="required">必須</span></dt> <dd> <input type="text" name="name" size="35" maxlength="255" value="<?php echo isset($_POST['name']) ? htmlspecialchars($_POST['name'],ENT_QUOTES,'UTF-8') : ''; ?>" /> <?php if (isset($error['name']) ? $error['name'] :''): ?> <p class="error">* ニックネームを入力してください</p> <?php endif; ?> </dd> </dl> <div><input type="submit" value="入力内容を確認する"></div> </form>

    • ベストアンサー
    • PHP
  • 配列の値

    $callback = $wp_registered_widgets[$id]['callback']; 配列 $callbackを展開すると以下のようになります。 Array ( [0] => WP_Widget_Pages Object ( [id_base] => pages [name] => 固定ページ [widget_options] => Array ( [classname] => widget_pages [description] => サイト内の固定ページ ) [control_options] => Array ( [id_base] => pages ) [number] => 3 [id] => pages-3 [updated] => [option_name] => widget_pages ) [1] => display_callback ) ここで、[name]の値だけ引き出したいですが・・・うまくいきません。 $callback[0]['name']; どうかご教授よろしくお願いいたします。

    • 締切済み
    • PHP
  • form変数の初期化

    <br /><b>Notice</b>: Undefined index: your_name in <b>C:\xampp\htdocs\test\index.php</b> on line <b >83</b><br /> 入力画面で上記のエラーが解決しません。 どうすればいいでしょうか? 入力画面 <?php $_POST = array(); ?> <form method="post" action="./form_check.php"> <div class="element_wrap"> <label>氏名</label> <input type="text" name="your_name" value="<?php echo $_POST["your_name"]?>"> </div> <div class="element_wrap"> <label>メールアドレス</label> <input type="text" name="email" value=""> </div> <input type="submit" name="btn_confirm" value="入力内容を確認する"> </form> 確認画面 <?php $your_name = $_POST["your_name"]; ?> <form method="post" action="./test.php"> <div class="element_wrap"> <label>氏名</label> <p><?php echo $your_name; ?></p> </div> <div class="element_wrap"> <label>メールアドレス</label> <p><?php echo $_POST['email']; ?></p> </div> <input type="submit" name="btn_submit" value="送信"> </form> <form method="post" action="./index.php"> <!--<input type="button" name="btn_back" onclick="history.back()" value="戻る">--> <input type="submit" name="btn_back" value="戻る"> <input type="hidden" name="your_name" value="<?php echo $_POST['your_name']; ?>"> <input type="hidden" name="email" value="<?php echo $_POST['email']; ?>"> </form>

    • 締切済み
    • PHP
  • PHPとmysqlに関して

    while($row3 = mysql_fetch_array($res3)){ $r3 = $row3['name']; $d3 = $row3['day']; while($row = mysql_fetch_array($res)){ $r = $row['name']; if($days==$d3 and $r==$r3){ echo '<a href="tops2.php?id='.$row['id'].'"><div class="aaa"><div style="padding-top:10px">'.$row['name'].'<br><font color="red">出勤中</font></div></div></a>'; }else{ echo '<a href="tops2.php?id='.$row['id'].'"><div class="aaa"><div style="padding-top:15px">'.$row['name'].'</div></div></a>'; } }} 簡単に説明すると、テーブルAのnameとテーブルBのnameが合致したら出勤中と表示させたいのですが、何故か合致したデータの一部しか出勤中と出ません。 なにがおかしいですか??

    • ベストアンサー
    • PHP
  • headerをページによって表示、非表示にする

    トップページのみヘッダーのjavasprictを使い、他ページでは非表示にしたいのですが、header.phpをもう一つ作り(javaのタグが入ってないもの)別名で保存し、header.phpと同じデレクトリーに保存しページの<?php get_header(); ?>の部分を<?php get_header1(); ?>に変えたのですがエラーでした。 これはどうすれば別々に見る事ができるでしょうか?? 今のページ設定は以下になってます。 <?php get_header(); ?> <div class="span-24" id="contentwrap"> <div class="span-14"> <img src="http://pimpkidz.com/wp/wp-content/uploads/2011/08/side.jpg" /> <div id="content"> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <div <?php post_class() ?> id="post-<?php the_ID(); ?>"> <div id="indexthumb"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_post_thumbnail(array( 200,200 ), array( 'class' => 'post_thumbnail' )); ?></a></div> <div id="indexcontent"> <h2 class="title"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2> <p class="postdate"><span><?php the_time('Y/n/j(D)') ?> </span></p> <div class="entry"> <?php echo excerpt(40); ?> <div class="readmorecontent"> <a class="readmore" href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">Continue</a> </div> </div> </div> <div style="clear:both;"></div> </div><!--/post-<?php the_ID(); ?>--> <hr><?php endwhile; ?> <?php else : if ( is_category() ) { // If this is a category archive printf("<h2 class='pagetitle'>Sorry, but there aren't any posts in the %s category yet.</h2>", single_cat_title('',false)); } else if ( is_date() ) { // If this is a date archive echo("<h2 class='pagetitle'>Sorry, but there aren't any posts with this date.</h2>"); } else if ( is_author() ) { // If this is a category archive $userdata = get_userdatabylogin(get_query_var('author_name')); printf("<h2 class='pagetitle'>Sorry, but there aren't any posts by %s yet.</h2>", $userdata->display_name); } else { echo("<h2 class='pagetitle'>No posts found.</h2>"); } get_search_form(); endif; ?> </div> </div> <?php get_sidebars('right'); ?> </div> </div> <?php get_footer(); ?> もし他のソースが必要でしたら言ってください。宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 入力フォームのエラーメッセージをJavaScrip

    付属の写真のようにエラーが出るようにしたいです。 提示したコードだけでは、エラーメッセージ文字が上の方に出てくるだけで、四角い図形も出てきません。 javascriptでエラーメッセージを出せれば、写真のようなになると思います。 そこでなのですが、 PHPのコードはそのまま崩さずjavascriptでも同じエラーメッセージ出すコードが書けません。どうコードを書いたら よいでしょうか? nameとquestionの2つフォームとがあります。 回答よろしくお願いいたします。 <?php session_start(); $errors = array(); if(isset($_POST['submit'])) { $plan = $_POST['plan']; $name = $_POST['name']; $question = $_POST['question']; if($name === "") { $errors['name'] ="名前が入力されていません。 "; } if($question === "") { $errors['question'] ="お問い合わせ内容入力(150文字以内)が入力されていません。 "; } if(count($errors) === $_SESSION['name'] = $name; $_SESSION['question'] = $question;     /* 確認画面の表示, */     header('Location:http://▼▼php');     exit();      }   }     if(isset($_GET['action']) && $_GET['action'] === 'edit'){   $name = $_SESSION['name']; $question = $_SESSION['question'];   }     ?> <!DOCTYPE html> <html lang="ja"> <head>     <meta content="text/html; charset=utf-8" />        <title>お問い合わせ画面</title>     <style type="text/css">       /* 入力フォームの位置 */       .auto-style1 { text-align: center; } </style> <?php echo "<ul>";foreach($errors as $value) { echo "<li>"; echo $value; echo "</li>"; } echo "</ul>"; ?> </head> <body> <form action="companyhp6form1.php" method="post"> <div class="auto-style1">  <p class="tel-titile">    名前:※             </p>             <input type="text" class="name" name="name" id="name" value="<?php if(isset($name)){ echo $name; } ?>" />   </div>     <div class="auto-style1">    <p class="tel-titile">                 お問い合わせ内容入力(150文字):             </p>                <textarea name="question" class="question" id="question" cols="40" rows="10" placeholder="150文字以内で入力して下さい。"></textarea>                                     </div>                     <div class="auto-style1">             <button type="submit" id="submit" name="submit" class="auto-style4">                送信</button>         </div>             </form>   </body>  <script src="main.js"></script> </html>

  • すいません。PHPの削除について

    質問番号5654502は失礼しました。お手数ですが、削除してください。 phpでWEBサイトの管理画面を作成しています。 削除ボタンを押すと、そのレコード1件分のみ、削除出来るようにしたいのですが、うまくいきません。ご教授願います。 // news.phpファイル <?php //データベースへの接続 $dberror = false; $dbermsg = ""; $con = mysqli_connect("localhost", "****", "********"); if ( $con ) { //データベースサーバへの接続OK if ( mysqli_select_db($con, "DB名") ) { $sql = "SELECT * FROM news WHERE user = '" . $_SESSION['loggedinUser'] . "' ORDER BY listingorder DESC, lastupdate DESC; "; mysqli_query($con, "set names utf8"); $rs = mysqli_query($con, $sql); $i = 0; if ( $rs ) { while ($item = mysqli_fetch_array($rs)) { echo "<tr class=\"Contents\">"; echo "<td><input type=\"hidden\" value=\"\" name=\"deleteId[$no]\" />"; echo "<input accesskey=\"1\" tabindex=\"1\" class=\"DeleteBt\" type=\"image\" value=\"削除\" name=\"submit_del[$no]\" src=\"images/delete_button.gif\" alt=\"削除\" onclick=\"deleteNews(); return false;\" /></td>"; echo "<td>"; echo "<div class=\"TurnSet\">"; echo "<div class=\"TheFirst\"><input accesskey=\"1\" tabindex=\"1\" type=\"submit\" value=\"▲\" class=\"broad\" name=\"weight[$no]\" /><br /><input accesskey=\"1\" tabindex=\"1\" class=\"broad\" type=\"submit\" value=\"▼\" name=\"weight2[$no]\" /></div><input accesskey=\"1\" tabindex=\"1\" type=\"submit\" class=\"UpArrow\" value=\"↑\" name=\"weight3[$no]\" /> </div>"; echo "</td>"; echo "<td class=\"TableName\"><span><a href=\"news_edit.php?id=${item['id']}\">${item['title']}</a></span></td>"; echo "<td class=\"CheckBoxPlace\"><input type=\"hidden\" name=\"active_o[$no]\" value=\"1\" /><input type=\"hidden\" name=\"active2[$no]\" value=\"0\" /><p class=\"CheckBox\"><input type=\"checkbox\" name=\"active3[$no]\" value=\"1\" checked=\"checked\" accesskey=\"1\" tabindex=\"1\" /></p></td>"; echo "</tr>\n"; $i ++; } } else { $dberror = true; $dbermsg = "一覧取得時のエラー" . mysqli_errno($con).": ".mysqli_error($con)."<br />\n"; } } else { // 以下省略 } ?> </body> <script type="text/javascript"> function deleteNews() { if ( window.confirm("選択されたニュースを削除します。\nよろしいですか?") ) { document.newsUpdateForm.mode.value = "delete"; document.newsUpdateForm.submit(); } return false; } </script> </html> // newsUpdate.phpファイル switch ( $mode ) { case "delete": //ニュース削除 if (isset($_POST["submit_del"])){ $no = key($_POST[submit_del]); //押下したボタン番号を取得 $sql = "DELETE FROM news WHERE listingorder='" . $no . "';"; mysqli_query($con, "set names utf8"); mysqli_query($con, $sql); } //表示順を更新する $sql = "SELECT * FROM news WHERE user = '" . $_SESSION['loggedinUser'] . "' ORDER BY listingorder, lastupdate ;"; mysqli_query($con, "set names utf8"); $rs = mysqli_query($con, $sql); $order = 0; if ( $rs ) { while ($item = mysqli_fetch_array($rs)) { $id = $item["id"]; $updateSQL = "UPDATE news SET listingorder='" . $order . "' WHERE id='" . $id . "';"; mysqli_query($con, "set names utf8"); mysqli_query($con, $updateSQL); $order ++; } } break; 以下省略

    • 締切済み
    • PHP

専門家に質問してみよう