PHP QR Codeで「&」以降の値が渡されない問題を解決できた。
2024年04月05日 12時00分 月齢:26.1[二十七日月] 潮汐:中潮
8か月前に投稿 | ウェブ・IT関係 | 1件のコメント
3分ぐらいで読めます。
この記事を読む前に、ぜひ以下の記事を読んでください。
さて、そんなわけでQRコード生成フォームを作って、実際にちょくちょく使っているわけですが、ひとつ問題がありました。&を含んだ文字列の場合に&以降の値がQRコードに反映しないのです。
もともと「PHPでcomposerを使わずにQRコードを作成する」を参考に作ったので、result.phpもそのサイトに掲載されていたコードとだいたい同じように作りました。HTML部分だけ味付けした感じで。
<?php
// ライブラリを読み込む
require_once "phpqrcode/qrlib.php";// PHPファイルを画像のURLとして読み込む
$url = 'create_qr.php?data='.$_GET['data'];
?><!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>QRcode generator</title>
</head><body>
<p><img src="<?php echo $url ?>" /></p>
<p><a href="index.php">トップに戻る</a></p>
</body></html>
URLを確認すると、create_qr.phpから正しく値が渡されているのですが、QRコード生成時に&以降が反映されないみたい。うーん、結構困った…。
…ということでいろいろ試して、ここには書かないけれどいろいろ試して、結局以下のようにすることでうまくいきました。
<?php
// ライブラリ読み込み
require_once "phpqrcode/qrlib.php";// PHPファイルを画像のURLとして読み込む
$url = 'create_qr.php?data='.$_GET['data'];
?>
を
<?php
// ライブラリ読み込み
require_once "phpqrcode/qrlib.php";// PHPファイルを画像のURLとして読み込む
$url = "create_qr.php?data=".urlencode($_GET['data']);
?>
というふうにGETした値をurlencodeすることで、&以降の値も反映したQRコードが生成されるようになりましたー。めでたしめでたし。
古い記事・新しい記事
- 古い記事 [2024年03月08日]
- ← Windows11 HomeをProにしてみた。
- 新しい記事 [2024年10月07日]
- → 【パソコン有償譲渡会の闇】とは無関係だけど、第5世代Core i5のパソコンにWindows11をねじ込んだ。
他にも「ウェブ・IT関係」カテゴリの記事はいかがですか。
- Firefoxでインストール済みのアドオンが利用不能になる不具合の対策
- 拡張子.mtsのAVCHDファイルを、AviUtl経由TMPGEncでmpeg2にする。
- PHPで簡単にランダム選択クイズを出す仕組みを作る。
- Mebius MURAMASA MT1-H1Sのメモリ増設
- 今が買い時!! 在庫が尽きる前にnexus7(2013)を購入した。
- Googleで検索したら、顔写真が出るようにしてみました。
- PHPアップローダーのUTF-8・XHTML1.0化
- Firefox プラグインの警告「このページの表示に使用するプラグインが古いので更新してください。」を消す。
- Excelで、ブックを閉じるときに自動的に上書き保存させたい。
- Windows10 64bitでEPSON GT-8300UFを使う。
PHPでQRコードをシンプルに(Composerを使わずに)作成する。 | 煤式自動連結器からのピンバック | 2024年07月11日 #
[…] PHP QR Codeで「&」以降の値が渡されない問題を解決できた。 この記事を読む前に、ぜひ以下の記事を読んでください。 さて、そんなわけでQRコード生成フォームを作って、実際にち […]