🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
タグ

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1069閲覧

<a href=xxxx></a>が表示されない

lnavi.bex810vh

総合スコア12

タグ

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2020/12/19 07:35

編集2020/12/19 09:03

現象

遷移先で<a>タグだけ表示されない。

環境

xampp3.2.4、PHP7.4.11

試したこと

括弧の閉じ忘れなど、スペルミスがあると思い、コードを見直していますが解決していません。

実現したいこと

<a>タグを正しく表示したい。

問題のコード

遷移後のコードの行末に「<<<<==ココ」としています。
<<<遷移後のHTML画面>>>

<html><head></head><body>?47番鯖屋さんログイン中<br><br>? <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>プロフィール登録完了</title> <h3>プロフィール登録完了</h3><br> array(6) { ["pref_id"]=&gt; string(1) "2" ["main_pic"]=&gt; string(54) "19iwasiv7kyip4t3aky09ri39xstr7b4xjk2xirans2kbww0be.PNG" ["pic1"]=&gt; string(54) "8od0w0yzwf0u1ysfi2xyz3aikz1sbck1vwrwnpdr0uurz0gt0s.JPG" ["pic2"]=&gt; string(54) "fjrp10ecvj531875hklsr3japqqt6mcsv0ooznf7xaxg6wu950.JPG" ["pic3"]=&gt; string(54) "wjmr3dmr14lpt1ye416xdb4ycffki62e1udd9u58sbbbusbkg4.JPG" ["appeal"]=&gt; string(3) "abc" } </body></html>
<<<送信元フォーム>>> <?php session_cache_limiter('private_no_expire'); require_once('login_tmp.php'); require_once('../common/common.php'); ?> <!DOCTYPE html> <html> <head><meta charset=UTF-8> <title>プロフィール確認</title> </head> <body> <?php $err=''; print '<h3>プロフィール確認</h3><br />'; print '<form name="regist_profile" method="post" action="regist_profile_done.php" enctype="multipart/form-data"><br />'; print 'お住いの都道府県<br />'; $pref_arr=array( "0"=>"内緒" ,"1"=>"北海道" ,"2"=>"青森県" ~中略~ ,"44"=>"大分県" ,"45"=>"宮崎県" ,"46"=>"鹿児島県" ,"47"=>"沖縄県" ); $post=sanitize($_POST); if (isset($post['pref_id'])) { if ($post['pref_id'] != "") { $pref_id=$post['pref_id']; }else{ print '都道府県が入力されていません。'; print '<input type="button" onclick="history.back()" value="戻る">'; exit(); } } $pref=$pref_arr[$pref_id]; print $pref.'<br />'; print '<input type="hidden" name="pref_id" value="'.$pref_id.'">'; $appeal=$post['appeal']; //main画像の処理 $main_pic=$_FILES['main_pic']; if($_FILES['main_pic']['error'] == UPLOAD_ERR_OK) { $main_pic_ex=strrchr($main_pic['name'],'.'); $main_pic_name=random_string(50); switch ($main_pic_ex) { case '.jpg': ~中略~ default: print '[メイン画像]有効なファイル形式ではありません。<br />'; $err='1'; } } if($main_pic['size']>5000000) { print '[メイン画像]メイン画像が大きすぎます。最大でも5MB未満にして下さい。<br />'; $err='1'; } if($_FILES['main_pic']['error'] == UPLOAD_ERR_OK && $err=='') { $main_img=$main_pic_name.$main_pic_ex; move_uploaded_file($main_pic['tmp_name'],'./mem_img/'.$main_img); ~中略~ // オリジナルのサイズ取得 $width_org = $image->getImageWidth(); $height_org = $image->getImageHeight(); ~中略~ $image->writeImage($thum_org); $image->clear(); $url='http://192.168.11.3/idol/mem_img/thum/s00_'.$main_img; print '<img src="'.$url.'">'; print '<br />'; // Large画像生成 $width = 800; $height = 800; $image = new Imagick($main_org); ~中略~ $image->writeImage($thum_org); $image->clear(); print '<input type="hidden" name="main_pic" value="'.$main_img.'">'; } else { print '[メイン画像]ファイルが選択されていません。<br />'; print '<input type="button" onclick="history.back()" value="戻る">'; exit(); } //画像1の処理 $pic1=$_FILES['pic1']; if($_FILES['pic1']['error'] != UPLOAD_ERR_OK) { print '画像1が選択されていません。<br />'; } if($_FILES['pic1']['error'] == UPLOAD_ERR_OK) { $pic1_ex=strrchr($pic1['name'],'.'); $pic1_name=random_string(50); switch ($pic1_ex) { case '.jpg': break; ~中略~ print '[画像1]有効なファイル形式ではありません。<br />'; $err='1'; } } if($pic1['size']>5000000) { print '[画像1]画像1が大きすぎます。最大でも5MB未満にして下さい。<br />'; $err='1'; } if($_FILES['pic1']['error'] == UPLOAD_ERR_OK && $err=='') { $pic1_img=$pic1_name.$pic1_ex; move_uploaded_file($pic1['tmp_name'],'./mem_img/'.$pic1_img); $pic1_rpath=realpath('./mem_img/'); $pic1_org=$pic1_rpath.'\'.$pic1_img; //Small画像の処理あ ~中略~ $thum_pic1='s01_'.$pic1_img; $image->writeImage($thum_org); $image->clear(); $url='http://192.168.11.3/idol/mem_img/thum/s01_'.$pic1_img; print '<img src="'.$url.'">'; print '<br />'; ; ~中略~ $image->writeImage($thum_org); $image->clear(); print '<input type="hidden" name="pic1" value="'.$pic1_img.'">'; } //画像2の処理 $pic2=$_FILES['pic2']; if($_FILES['pic2']['error'] != UPLOAD_ERR_OK) { print '画像2が選択されていません。<br />'; } if($_FILES['pic2']['error'] == UPLOAD_ERR_OK) { $pic2_ex=strrchr($pic2['name'],'.'); $pic2_name=random_string(50); switch ($pic2_ex) { case '.jpg': break; ~中略~ default: print '[画像2]有効なファイル形式ではありません。<br />'; $err='1'; } } if($pic2['size']>5000000) { print '[画像2]画像2が大きすぎます。最大でも5MB未満にして下さい。<br />'; $err='1'; } if($_FILES['pic2']['error'] == UPLOAD_ERR_OK && $err=='') { $pic2_img=$pic2_name.$pic2_ex; move_uploaded_file($pic2['tmp_name'],'./mem_img/'.$pic2_img); $pic2_rpath=realpath('./mem_img/'); $pic2_org=$pic2_rpath.'\'.$pic2_img; ~中略~ $image->writeImage($thum_org); $image->clear(); $url='http://192.168.11.3/idol/mem_img/thum/s02_'.$pic2_img; print '<img src="'.$url.'">'; print '<br />'; // Large画像生成 $width = 800; $height = 800; $image = new Imagick($pic2_org); // オリジナルのサイズ取得 ~中略~ $image->writeImage($thum_org); $image->clear(); print '<input type="hidden" name="pic2" value="'.$pic2_img.'">'; } //画像3の処理 $pic3=$_FILES['pic3']; if($_FILES['pic3']['error'] != UPLOAD_ERR_OK) { print '画像3が選択されていません。<br />'; } if($_FILES['pic3']['error'] == UPLOAD_ERR_OK) { $pic3_ex=strrchr($pic3['name'],'.'); $pic3_name=random_string(50); if($pic3) { switch ($pic3_ex) { case '.jpg': break; ~中略~ default: print '[画像3]有効なファイル形式ではありません。<br />'; $err='1'; } } } if($pic3['size']>5000000) { print '[画像3]画像3が大きすぎます。最大でも5MB未満にして下さい。<br />'; $err='1'; } if($_FILES['pic3']['error'] == UPLOAD_ERR_OK && $err=='') { //画像処理開始 $pic3_img=$pic3_name.$pic3_ex; move_uploaded_file($pic3['tmp_name'],'./mem_img/'.$pic3_img); $pic3_rpath=realpath('./mem_img/'); $pic3_org=$pic3_rpath.'\'.$pic3_img; //Small画像生成 $width = 200; $height = 200; ~中略~ //保存先を指定 $url='http://192.168.11.3/idol/mem_img/thum/s03_'.$pic3_img; print '<img src="'.$url.'">'; print '<br />'; // Large画像生成 $width = 800; $height = 800; $image = new Imagick($pic3_org); ~中略~ $image->writeImage($thum_org); $image->clear(); print '<input type="hidden" name="pic3" value="'.$pic3_img.'">'; } if($appeal){ print '<textarea name="appeal" rows="8" cols="20">'.$appeal.'</textarea><br />'; }else{ print 'アピール文が入力されていません。800字以内で入力してください。'; $err='1'; } print '<br />'; print '<input type="submit" value="登録">'; print '<br /><br />'; if($err=='1') { print '<input type="button" onclick="history.back()" value="修正する">'; } print '</form>'; ?> </body> </html>
<<<遷移後のコード>>> <?php require_once('login_tmp.php'); require_once('../common/common.php'); ?> <!DOCTYPE html> <html> <head><meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>プロフィール登録完了</title> </head> <body> <h3>プロフィール登録完了</h3><br /> <?php $post=sanitize($_POST); //var_dump($_POST); $id=$_SESSION['id']; if($id=='') { print '無効なパラメータです。'; exit(); } //データベース接続 $dsn='mysql:host=localhost;dbname=idol;charset=utf8'; $user='root'; $password=''; $dbh= new PDO($dsn,$user,$password); $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); if (isset($post['pref_id'])) { if ($post['pref_id'] != "") { $sql1='INSERT INTO mst_pref (mem_id,pref) VALUES (?,?)'; $stmh1=$dbh->prepare($sql1); $stmh1 -> bindValue(1, $id, PDO::PARAM_INT); $stmh1 -> bindValue(2, $_POST['pref_id'], PDO::PARAM_STR); $stmh1->execute(); } } if (isset($post['appeal'])) { if ($post['appeal'] != "") { $sql2='INSERT INTO mst_appeal (mem_id,appeal) VALUES (?,?)'; $stmh2=$dbh->prepare($sql2); $stmh2 -> bindValue(1, $id, PDO::PARAM_INT); $stmh2 -> bindValue(2, $_POST['appeal'], PDO::PARAM_STR); $stmh2->execute(); } } if (isset($post['main_pic'])) { if ($post['main_pic'] != "") { $sql3='INSERT INTO mst_img (mem_id,image,img_flg) VALUES (?,?,?)'; $stmh3=$dbh->prepare($sql3); $stmh3 -> bindValue(1, $id, PDO::PARAM_INT); $stmh3 -> bindValue(2, $_POST['main_pic'], PDO::PARAM_STR); $stmh3 -> bindValue(3, '1', PDO::PARAM_INT); $stmh3->execute(); } } if (isset($post['pic1'])) { if ($post['pic1'] != "") { $sql4='INSERT INTO mst_img (mem_id,image) VALUES (?,?)'; $stmh4=$dbh->prepare($sql4); $stmh4 -> bindValue(1, $id, PDO::PARAM_INT); $stmh4 -> bindValue(2, $_POST['pic1'], PDO::PARAM_STR); $stmh4->execute(); } } if (isset($post['pic2'])) { if ($post['pic2'] != "") { $sql5='INSERT INTO mst_img (mem_id,image) VALUES (?,?)'; $stmh5=$dbh->prepare($sql5); $stmh5 -> bindValue(1, $id, PDO::PARAM_INT); $stmh5 -> bindValue(2, $_POST['pic2'], PDO::PARAM_STR); $stmh5->execute(); } } if (isset($post['pic3'])) { if ($post['pic3'] != "") { $sql6='INSERT INTO mst_img (mem_id,image) VALUES (?,?)'; $stmh6=$dbh->prepare($sql6); $stmh6 -> bindValue(1, $id, PDO::PARAM_INT); $stmh6 -> bindValue(2, $_POST['pic3'], PDO::PARAM_STR); $stmh6->execute(); $dbh=null; } } print '<a href="update_profile.php">プロフィール編集</a>';<<<<==ココ ?> </body> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi_takatsuk

2020/12/19 07:51

'無効なパラメータです。' が表示されてたりしませんか? 現在の表示状況を教えて下さい。
ockeghem

2020/12/19 07:52

遷移先のページのHTMLソースを末尾の10行程度でよいので示してください。
lnavi.bex810vh

2020/12/19 07:58

$stmh6=$dbh->prepare($sql6); $stmh6 -> bindValue(1, $id, PDO::PARAM_INT); $stmh6 -> bindValue(2, $_POST['pic3'], PDO::PARAM_STR); $stmh6->execute(); $dbh=null; } } print '<a href="update_profile.php">プロフィール編集</a>';<<<<==ココ ?> </body> </html>
lnavi.bex810vh

2020/12/19 07:59

無効なパラメータは表示されず、var_dumpもデータベースも正常に値を格納しています。
ockeghem

2020/12/19 08:19

コメントいただいたのは元々のPHPのソースですよね。ブラウザで表示されたあとのHTMLソースを提示してください。
lnavi.bex810vh

2020/12/19 08:30

ockeghem様 デベロッパーツール(F12)を押して、そのあとどの様にすればソースをコピーできますか?普通にソースを表示にすると フォーム再送信の確認このウェブページを正しく表示するには、先ほど入力したデータが必要です。データは再送信できますが、このページで先ほど行った操作を繰り返すことになります。 ページの読み込みに必要なデータを再送信するには、再読み込みボタンを押してください。 ERR_CACHE_MISS と表示されてしまいます。
lnavi.bex810vh

2020/12/19 08:41

<HTML>タグは取得できませんでしたが、なんとか<body>の中身は表示されているようです。
lnavi.bex810vh

2020/12/19 09:04

ockeghemさま HTMLタグが取得できました。ただコピーするだけでいいんですね。知りませんでした。よろしくお願いいたします。
guest

回答1

0

自己解決

自己解決いたしました。参照していたソースと別ディレクトリにある同じ名称のファイルを勘違いして編集していました。問題解決に取り組んでいただいた皆さん、つまらないことで大変申し訳ございません。ありがとうございました。

投稿2020/12/19 09:19

lnavi.bex810vh

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問