回答数
気になる
Laravel勉強中の初学者です。PHPunitテストについて、正しい挙動か教えてください。前提:ログインに関するテストを5つ作る過程で、始めにsetUpでユーザー情報を作成しています。そして、各テストが終わるごとに、use RefreshDatabase; でリセットをかけるようにしたいです。※マイグレーションを使用しています。現状:setUp()で作られるデータをdump();で確認すると、1つのデータが出てくるのが正しいと考えていたのですが、実際は下記のようなnameやemailは変わらず、idが1.2.3....5と増えてデータが5つ返ってきました。※chatGPTに聞いてみたところ、「use RefreshDatabase; が機能していない」と言われたのですが、リセットはされている気がします。(dump('Before Creating User:', User::all()->toArray());でデータ作成前の状態は空だったためです。)5つ返ってくるのは正しいのでしょうか?----dump();の結果------------------------------------------"Before Creating User:"[]"After Creating User:"array:1 [ 0 => array:8 [ "id" => 1 "name" => "テスト" "email" => "test123@example.com" "created_at" => "2025-03-21" "updated_at" => "2025-03-21"."Before Creating User:"[]"After Creating User:"array:1 [ 0 => array:8 [ "id" => 2 "name" => "テスト" "email" => "test123@example.com" "created_at" => "2025-03-21" "updated_at" => "2025-03-21" ]]("id" => 5まで続きます)----LoginTestファイルの記述------------------------------------------class LoginTest extends TestCase{ use RefreshDatabase; /** * A basic feature test example. * * @return void */ public $user; protected function setUp(): void { parent::setUp(); dump('Before Creating User:', User::all()->toArray()); $this->user = User::factory()->create([ 'name' => 'テスト', 'email' => 'test123@example.com', 'password' => bcrypt('password123'), ]); dump('After Creating User:', User::all()->toArray()); }
質問日時: 2025/03/21 20:44 質問者: sui80171
ベストアンサー
1
0
ファイルアップロードが可能な質問掲示板を作成中で表示したい画像、動画の高さと横幅を CSS で設定しているのですが、動画(video要素)の時のみ height の影響によって上部にスペースが発生してしまい困っております。margin の値にマイナスの値を設定することで解決できるのですが反則になるのではないかと思い心配です。<?php$upload_dir = wp_upload_dir();echo '<div class="main_container">';echo '<div class="quest_container">';// var_dump($rows);foreach ($rows as $row) { $files = array_filter([$row->attach1, $row->attach2, $row->attach3]); $views = []; //HTMLをため込む配列の初期化する foreach ($files as $file) { $info = pathinfo($file); $attach_url = $upload_dir['baseurl'] . '/attach/' . $info['basename']; $ext = $info['extension']; switch ($ext) { case 'jpeg': case 'png': $views[] = '<img style="height:350px;width:530px" src="' . $attach_url . '">'; break; case 'mp4': $views[] = '<video height="350px" width="530px" src="' . $attach_url . '" controls>'; break; case 'pdf': $views[] = '<iframe style="height:350px;width:530px" src="' . $attach_url . '"></iframe>'; break; default: break; } } $count = count($views); if ($count == 1 || $count == 2) { $qm = 'quest_markdown'; $qi = 'quest_item'; } else { $qm = 'quest_markdown_group'; $qi = 'quest_item_group'; } if (empty($row->usericon)) { $usericon_src = 'wp-content/themes/sample_theme/images/noimage.png'; } else { $usericon_src = $upload_dir['baseurl'] . '/attach/' . $row->usericon; }?><style> .quest_header_title { font-size: 25px; display: inline-block; vertical-align: top; width: 1010px; padding-right: 30px; } .quest_feeling_stamp { display: inline-block; } .quest_item_group { float: left; display: inline-block; margin-bottom: 25px; padding: 0px 18px 0px 5px; margin-top: -20px; } .quest_overview { color: #e52d77; font-size: 150%; font-weight: 700; width: 1098px !important; margin-top: 25px; }</style>
質問日時: 2025/03/09 17:38 質問者: 初心者サイト作成
ベストアンサー
1
0
いつもお世話になっております。--ソース(aaa.php)<form action="bbb.php" method="POST"><button type="submit" value="作成" name="inp_sub"><input type="submit" value="苦情" formaction="aaa.php/?kujyo=1" formmethod="POST"></form>--上記aaa.phpファイルです。aaa.phpファイルを開いたとき、作成ボタンをクリックすると、bbb.phpが開きます。ただ、苦情ボタンをクリックし、aaa.phpを再度読み込み、次に作成ボタンをクリックしても、bbb.phpに飛ばず、どうもaaa.phpを再描画している状態です。PHPで作成しております。上記ソースはChromeの検証で抜粋したソースを表示しており、ソースをそのまま実行すると思う通り実行されます。。。有識者の方、何か考えられる現象がありますか?闇雲で申し訳ないのですが、どうぞよろしくお願いいたします。
質問日時: 2025/02/21 11:59 質問者: 紅葉の京都
解決済
1
0
いつもお世話になっております。HTMLとPHPでサイトを構築しております。ラジオボタンをクリックした時、イベントを発生したいのですが、どこのサイトを探してもありません(当然かも知れませんが。。。)。Javascriptは使用できないのです。また、<form>の中のSubmitボタンも使用せず、ラジオボタンクリックでのイベント発生は可能なのでしょうか?有識者の方、ご教示よろしくお願いいたします。
質問日時: 2025/02/19 12:42 質問者: 紅葉の京都
解決済
8
0
プログラミング(php、Laravel)に詳しい方いましたら教えてください!ファクトリで電話番号のデータをランダム作りたいです。 public function definition() { return [ 'tel' => $this->faker->phoneNumber, ];} 上記、記述で0120-12-3456というような電話番号を作成できたのですが、これをハイフン無しの状態(0120123456)でデータベースに保存する方法は無いのでしょうか?
質問日時: 2025/01/17 19:15 質問者: sui80171
ベストアンサー
1
0
フォームでダウンロード用のボタンを作ってそのボタンを押すと関数が実行されるようにしてますがボタンを押すと画面はそのままで画面の別のボタンを一回押すまで画面がフリーズしたままになりますそのボタンは他のことをするためのボタンですがその押しでそれを実行しません(空実行)これでも直にフリーズが終るのでいいのですがこのフリーズなしにすることはできますか?https://qiita.com/fallout/items/3682e529d189693109ebfunction download($pPath, $pMimeType = null)
質問日時: 2024/12/24 12:56 質問者: reiman
ベストアンサー
1
0
phpでCSVファルを読み込み処理をしたいです。ファイルの中身が下記のようになっています。"テスト","名前","不能","3","4","5"プログラムで下記のように記載してみました。$strFilePath = 'C:';$strFileName = 'Test.csv';$file = new SplFileObject($strFilePath.$strFileName); $file->setFlags(SplFileObject::READ_CSV);// ファイル内のデータループforeach ( $file as $key => $line ) {$line=mb_convert_encoding( $line, "utf-8", "sjis" );var_dump($line);}を実行するとarray(5) { [0]=> string(9) "テスト"[1]=> string(6) "名前" [2]=> string(10) "不能",3"" [3]=> string(1) "4" [4]=> string(1) "5"} と表示されます。本当は下記のようになってほしいです。array(5) { [0]=> string(9) "テスト"[1]=> string(6) "名前" [2]=> string(6) "不能"[3]=> string(1) "3" [4]=> string(1) "4" [5]=> string(1) "5"} 「能」や「表」の5C問題でしょうか?どうすれば、希望のようにカンマ区切りになるでしょうか?
質問日時: 2024/12/10 15:40 質問者: rabu_chihaha
解決済
3
0
PHPの勉強してます。配列のところですが、実行結果は、9になりますが、そのロジックを教えてください。テキストの説明が足りなくて、よく分かりません。宜しくお願いします。
質問日時: 2024/12/04 13:34 質問者: lark1234
ベストアンサー
7
0
がidを英数小文字8文字以上としpassを英数小文字8文字以上としたときにphpコマンドのsleep(1)を使って一回の認証に1秒かかるようにすればロボット認証で認証を破ろうとしても(26+10)^(8+8)秒=7.95866*10^24秒=2.517*10^17年≒25京年程度かかるのでほぼ認証を破ることは困難とみてよいでしょうか?
質問日時: 2024/11/21 08:16 質問者: reiman
ベストアンサー
4
0
PHPと.htaccessを併用して、制限をするシステムは.htaccessで、ログインフォームは、ブラウザのデザインのポップアップによるものではなくPHPによって送信される、HTMLでデザインされたものにすることはできないのですか?
質問日時: 2024/10/20 12:09 質問者: 優里さん
解決済
5
0
VSCode の公式から JavaScript, TypeScript, JSON, HTML はデフォルトのフォーマッターが入っているということで、PHP をフォーマットするために PHP Intelephense をインストールしたのですが、HTML と PHP と JavaScript が混在した場合に自動整形が実行されず困っております。通常では PHP Intelephense をインストール後に Editor: Default Formatter に設定することでコードを保存時に整形されるのですが、上手くいかない場合の対策として下記の方法が書かれていたので試してみたのですが変化がなく困っております…何か対策はありますでしょうか?※ HTMLとPHPコードをどちらもフォーマットするための設定から参照➀拡張機能の Prettier - Code formatter と PHP Intelephense をインストール➁設定画面から @lang:html format を検索して、Editor: Default Formatter → Prettier - Code formatter を設定➂設定画面から @lang:php format を検索して、Editor: Default Formatter → PHP Intelephense を設定
質問日時: 2024/10/11 22:23 質問者: 初心者サイト作成
ベストアンサー
1
0
Q&A掲示板の回答画面を作成しているのですが、アップロードファイルの URL が表示されており、それと結びつく画像が表示されません。アドバイスよろしくお願い致します。<?php$sql = 'SELECT * FROM sortable';$query = $wpdb->prepare($sql);$rows = $wpdb->get_results($query);// アップロードディレクトリ(パス名)を取得する$upload_dir = wp_upload_dir();echo '<div>';foreach ($rows as $row) {$files = array_filter([$row->attach1, $row->attach2, $row->attach3]);$views = []; //HTMLをため込む配列の初期化するforeach ($files as $file) {$info = pathinfo($file);$attach_url = $upload_dir['baseurl'].'/attach/'.$info['basename'];$ext = $info['extension'];switch ($ext) {case 'jpeg':case 'png':$views[] = '<img style="height: 50px;" src="'.$attach_url.'">';break;case 'mp4':$views[] = '<video style="height: 50px;" src="'.$attach_url.'">';break;case 'pdf':$views[] = '<iframe style="height: 50px;" src="'.$attach_url.'"></iframe>';break;default:break;}}foreach ($views as $view) {echo '<div>'.$view.'</div>'; // アップロードファイル}?>
質問日時: 2024/09/19 18:44 質問者: 初心者サイト作成
ベストアンサー
2
0
DDNSアドレスで公開しているのですが公開しているパソコンはPHP8で動いていてPHP5にしか対応していないPHPファイルの公開に支障が出ています。PHP5で動いている他のパソコンを公開したいのですがIPアドレスは1個しかプロバイダから貰っていないのでできません公開していないPCのアパッチドキュメントルートを公開しているPCを経由して公開する方法はないでしょうか?
質問日時: 2024/09/12 12:00 質問者: reiman
ベストアンサー
1
1
Q&A掲示板を質問→回答→返信で作成したいと考えているのですが、ネストが4段階以上深くなった段階で返信ボタンが出なくなるなどの不具合が発生する可能性があるとアドバイス頂きました。テーブル構成と方法を変えることでネストを更に深くすることは出来ないでしょうか?※テーブル構成ID (質問番号)・・・・識別用のカラムTS (投稿日時)・・・・公開期間終了後に質問を cron で削除するため?、回答の日時を把握する(〇日前)question (内容)・・・・質問、回答の投稿文title (タイトル)・・・・質問タイトルnamae (名前)・・・・質問、回答者名stamp (リアクションスタンプ)・・・・質問スタンプunique_id (質問UUID)・・・・アップロードされたファイル名の改名に使用ip (IPアドレス)・・・・セキュリティ保護のために保存attach1 (アップロードされたファイル)・・・・1、2、3で分けているのは1つ目の画像を一覧表示&1つ目の動画を横スクロールで表示するためattach2 (IPアドレス)・・・・略attach3 (IPアドレス)・・・・略usericon (アイコン画像)・・・・質問、回答のアイコン画像comment_id (回答に対する返信のID)・・・・返信 ID※方法親IDが NULL(紐づけられていない)のものを質問として、親IDが設定されているものを回答とする。
質問日時: 2024/09/02 23:23 質問者: 初心者サイト作成
ベストアンサー
6
0
すみません。Windows11でPHP言語を使えるようにしたいのですがどうすれば良いのでしょうか?教えて頂けると幸いです。
質問日時: 2024/07/16 16:57 質問者: メラゾーム
解決済
6
0
の所より数行上の位置に移動する方法はないでしょうか?移動後スクロールするのでも良いのですがphpでは数行スクロールできないので困ってます
質問日時: 2024/07/14 13:14 質問者: reiman
ベストアンサー
1
0
質問をお願いします。PHPからCSVをアップロードして、同時にmysqlに登録しようと思っていますが、うまくいきません。データーベースに接続しているのですが、テーブルを指定しても、うまくいかなく困っています。現在、下記のプログラムはテーブルを指定していません。テーブル指定して作成方法を教えていただければ助かります。PHPが詳しい方、よろしくお願いします。<?php// データベース接続情報$dsn = "mysql:host=〇〇〇;dbname=〇〇〇;charset=utf8mb4";$username = "〇〇〇";$password = "〇〇〇";// PDOオブジェクトの作成とオプション設定$options = array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false);try { $pdo = new PDO($dsn, $username, $password, $options);} catch (PDOException $e) { die("接続失敗:" . $e->getMessage());}?>
質問日時: 2024/07/13 15:23 質問者: tutuu
ベストアンサー
2
0
https://qiita.com/Naughty1029/items/08b0ddeb805442916239で紹介されている。register.phpで$_POST['token']と$_SESSION['token']が一致しなくて、エラーになるのですが、そもそもpostとsessionのtokenがどうすれば一致し、なぜ一致していないのかよく分かりません。サイトのコーディングは他の方は機能していますか?新規登録なので、一致しなくていいものなのでは?とも思えるのですが、アドバイスやコーディングの間違え等があるならば、教えていただきたいです。よろしくお願いいたします。
質問日時: 2024/07/07 15:35 質問者: denpataro
ベストアンサー
4
0
<form action="<?php echo $_SERVER ['SCRIPT_NAME']; ?>" method="post"> とある所のform action="パス"には、パスとして、絶対パスと相対パスが入ると思っていたのですが、$_SERVER ['SCRIPT_NAME']は、Windowsで言うところのdocumentルート内からファイル名までのパス、またはドメイン以降のパス(何て言うのか分かりませんが、ルートパス?)で相対パスと少し違うと思うのですが、ルートパスでもよいとの考えでいいのでしょうか?伝わりにくいので、画像をみて欲しいです。
質問日時: 2024/07/06 21:10 質問者: denpataro
ベストアンサー
5
1
回答 0件 再帰の空間計算量って おしえて recursion stackもかんがえますか? スタックコール スタックオーバーフロー さいきふかさ
質問日時: 2024/06/10 14:06 質問者: ゆゆにゃ。
解決済
1
1
VirtualHostを使用していて、デスクトップ上のフォルダ内にあるphpファイルをPHP Serverでweb表示したいのですが、開けません。設定したいことはwebブラウザでhttp://localhost:3000/****の****部分が直接ファイル名が来るようにしたいのですが、現在は以下のようにほぼ絶対パスが来てしまいます。どうすればよいのでしょうか?http://localhost:3000/Users/xxx/Desktop/ProgramTest/sampletest7070/index1.php設定方法を具体的に教えてほしいです。
質問日時: 2024/05/20 15:43 質問者: denpataro
ベストアンサー
3
0
プログラミング言語で、使えるクラス沢山ありますが、以下のようなクラスってなんて名前ですか?例えば1~12の範囲の値しか取らないクラスです。12に1を足したら13ではなく1に戻るような。以下のPHPは例でGPTに作成してもらいました。(分かりやすく計算式を載せると以下のようになります1から12の範囲の時(n -1) %12 +1)循環リストバージョンもあったりするなら、教えて貰えるとありがたいです。PHPでどうにかしたいとかじゃなくて単に標準的な機能名を知りたいです。補足 startとendが逆転した時とか、-になった時とかバグるのは分かってますが本題では無いので割愛<?phpclass CircularValue { private $start; private $end; private $value; public function __construct($start, $end) { $this->start = $start; $this->end = $end; $this->value = $start; // 初期値を始まりの値に設定 } public function setValue($value) { $this->value = $value; } public function getValue() { return ($this->value - $this->start) % ($this->end - $this->start + 1) + $this->start; }}// 使用例$circular = new CircularValue(1, 12);$circular->setValue(13);echo $circular->getValue(); // 出力: 1$circular->setValue(14);echo $circular->getValue(); // 出力: 2$circular->setValue(24);echo $circular->getValue(); // 出力: 12
質問日時: 2024/05/16 20:02 質問者: だいぬ
ベストアンサー
3
0
vim test.sh以下スクリプト内のコードですが、こちらはただの直列処理と認識してよろしいのでしょうか?aのコマンドが終了せずともbのコマンドが起動し、さらにcのコマンドも起動する処理の判定自体は各ファイルで行っているため、ただshスクリプトに関連するバッチファイルをまとめて起動していると認識しているのですが、間違いないでしょうか?よろしくお願いしますcd /binphp a.php >> a.log 2>&1php b.php >> b.log 2>&1php c.php >> c.log 2>&1
質問日時: 2024/05/09 16:25 質問者: RUICU
解決済
3
0
PHPでこのコード自体に意味は無いんですけど、上のifと下のifの違いってなんですか?個人的には下のifの方が使いやすいんですけど。foreachで存在しない場合でも一回はループさせたいみたいな時も??で空配列入れてループさせたり使ってますが。以下のコード$array['key'] = 'key';if (isset($array['key'])) { echo $array['key']; } else { echo 'false';}if ($key = $array['key'] ?? false) { echo $key;} else { echo 'false';}
質問日時: 2024/05/07 01:32 質問者: だいぬ
ベストアンサー
1
0
PDOを使ってXampp環境(ローカル環境)でPHPとHTMLでテキストが投稿できる掲示板を作成できたのですが、テキストしか投稿できません、画像や動画も投稿できるようにするためには、次のPHP+HTMLプログラムをどう修正すれば良いでしょうか?<form action="" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value=""> <input type="file" name="image"> <input type="submit" value="upload"></form>ただ単に上記のHTMLを挿入するだけではもちろん画像は投稿できません。動画は難しいなら画像だけでもいいので投稿できるようにプログラムを修正したいです。よろしくお願いします。<?phpinclude_once("./app/database/connect.php");if(isset($_POST["submitButton"])){ //スーパーグローバル変数 $_POSTを使う username=キー////$username=$_POST["username"];//var_dump($username);//$username=$_POST["bodycomment"];//var_dump($username); $post_date = date("Y-m-d H:i:s"); $sql = "INSERT INTO `comment` (`username`, `bodycomment`, `post_date`) VALUES (:username, :bodycomment, :post_date);"; $statement = $pdo->prepare($sql); //値をセットする :username,:bodycomment,:post_dateの中に値をセットする $statement->bindParam(":username", $_POST["username"], PDO::PARAM_STR); $statement->bindParam(":bodycomment", $_POST["bodycomment"], PDO::PARAM_STR); $statement->bindParam(":post_date", $post_date, PDO::PARAM_STR); $statement->execute();}$comment_array = array(); //DBからデータを取ってくるSQL文////commentDBでのデータをテーブルから取得する$sql = "SELECT * FROM comment";$statement = $pdo->prepare($sql);$statement->execute();$comment_array = $statement;//var_dump($comment_array->fetchAll());?><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="./assets/css/style.css"></head><body> <header> <h1 class="title">mybbs<h1> <hr> </header> <!-- thread --> <div class="threadWrapper"> <div class="childWrapper"> <div class="threadTitle"> <span>【Title】</span> <h1> I tried to create my bbs </h1> </div> <section> <?php foreach($comment_array as $comment) :?> <article> <div class="wrapper"> <div class="nameArea"> <span>name:</span> <p class="username"><?php echo $comment["username"]; ?></p> <time>:<?php echo $comment["post_date"]; ?></time> </div> <p class="comment"><?php echo $comment["bodycomment"]; ?></p> </div> </article> <?php endforeach ?> </section> <form class="formwrapper" method="POST"> <div> <input type="submit" value="書き込む" name="submitButton"> <label>名前:</label> <input type="text" name="username"> </div> <textarea class="commenttextArea" name="bodycomment"></textarea> </div> </form> </div></body></html>
質問日時: 2024/04/27 09:33 質問者: dice_zk1
解決済
3
1
ったのですが以下のように関数化するとエラーになってPHPが動きませんどうしたらえらーがなくなりますか?$sql="delete from hy_kgrs";$res=& $db->query($sql);if(PEAR::isError($res)){die($res->getMessage());}↓dtbs("delete from hy_kgrs");function dtbs($sql){$res=& $db->query($sql);if(PEAR::isError($res)){die($res->getMessage());}return $res;}
質問日時: 2024/04/21 16:49 質問者: reiman
ベストアンサー
1
0
ベストアンサー
4
0
ベストアンサー
2
0
となるようなことはできるでしょうか?
質問日時: 2024/04/07 16:04 質問者: reiman
ベストアンサー
2
0
awsにApacheとPHPを入れて、何故か画面が500エラーで表示できません!それに、ログファイルにこのエラーが出力されません!明らかな構文エラーに書き換えるとログファイルに出力されます。また、echoだけのような簡単なプログラムなら500エラーにならずに期待通りに出力できます!さらに、php.iniファイルを更新してもPHPに反映されません!コマンドラインからファイル内容確認しても間違いなく編集は効いているのですが、phpinfo関数では変わってないようになります!VMwareに入れた時にはこんなことにはなりませんでした。どうやら自前の仮想環境に入れた時はCGIのバージョンでec2の場合はphp-fpmモジュール版のようです。ただ、前述の通り、簡単なPHPなら出力できるのでパーミッションやファイアウォールなどが原因ではないと推測しています!apacheの再起動だけではなくphp-fpmの再起動なども試しましたがダメでした!awsについてわかる方おられませんでしょうか?php.iniをいじっても反映されないので、なんの調査も出来ません。。。また、出力されないエラーがなんなのかも知りたいです。よろしくお願いします。
質問日時: 2024/04/04 20:02 質問者: だいぬ
解決済
1
0
なんでブラウザでPHPを動かすためだけにOSにPython2(Python3)を入れて、C(GCC)を入れてMySqlを入れてHTML,CSS,JavaScriptをやらないといけないんスカ!
質問日時: 2024/03/20 00:24 質問者: だいぬ
ベストアンサー
2
0
オススメのプログラミングスクールあればお聞きしたいです。・PHPを学べる・ポートフォリオ作成できる・オンラインで週3ぐらいで受けられる・メンターへの質問可能な回数が多いor無制限・スクールの評価がとにかく高い
質問日時: 2024/02/04 18:09 質問者: ていやんでい
解決済
2
0
個人でSNSを製作し、レンタルサーバーで公開するために最初はWindows 11用のパソコンでMAMP、その後XAMPPを使用してSNSを制作していました。しかし、後に訳ありの理由からMAMPとXAMPPでの制作を断念し、単独でApache、PHP、MySQLを動かさなければならなくなりました。単独でApache、PHP、MySQLを動かすには一定の知識が必要です。現在、Apacheを使用してWindows 11のローカルサーバーをhttp://localhost/で構築することには成功しました。Windows 11内のApache、PHP、MySQLは以下の場所に配置されています。Apache: C:\Apache24\htdocs\【SNS用ファイル保存ディレクトリ】PHP: C:\php-8.3.2-srcMySQL: C:\Program Files\MySQL\MySQL Server 8.0現在の問題は、PHP言語がMySQLを介していないとWebとしての機能を果たさないことです。MySQLを介してPHPを閲覧するにはどうすればよいでしょうか?現在のプログラムコードとして、C:\Apache24\htdocs\~内の最初に読まれるファイルはlogin.phpで、その中には以下のコードが含まれています。phpCopy code<?phprequire('dbconnect.php');session_start();?>このコードはlogin.phpからdbconnect.phpファイルを読み込むことで、PHPとMySQLを関連付ける橋渡し的なプログラムです。dbconnect.phpの中身は以下の通りです。phpCopy code<?phptry { $db = new PDO('mysql:host=127.0.0.1;dbname=life;charset=utf8', '2172514k', 'root'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);} catch (PDOException $e) { echo 'DB接続エラー: ' . $e->getMessage();}?>現在はMAMPを使用せずに単独でMySQLを構築しているため、MySQLの配置は以下です。MySQL: C:\Program Files\MySQL\MySQL Server 8.0この場合、MySQLの配置が変わったため、dbconnect.phpのコードを変更する必要はありますでしょうか?どうぞよろしくお願いいたします。
質問日時: 2024/01/31 04:42 質問者: Campus_20231226
ベストアンサー
1
1
PHPで下のようなパスワードでロックして見れないようにしてみたのですが、セキュリティは大丈夫なのでしょうか。BASIC認証と比べて教えていただきたいです。よろしくお願いいたします。<?phpif (isset($_POST['username']) && isset($_POST['password'])) { if ($_POST['username'] == '111' && $_POST['password'] == 'fdjeojo') { echo '<div id="name">111専用の内容</div>'; echo '<button onclick="location.href=\'\'">ログアウト</button>'; } else { echo 'パスワードかユーザー名が違います'; }} else { echo '<form method="post">'; echo 'ユーザー名:<input type="text" name="username"><br>'; echo 'パスワード:<input type="password" name="password"><br>'; echo '<input type="submit" value="ログイン">'; echo '</form>';}?>
質問日時: 2024/01/28 21:29 質問者: 優里さん
ベストアンサー
2
0
現在Q&A掲示板を作成していて、入力フォームのマルチバイト対応についてどのように書けばよいのか分からない為アドバイスお願い致します。名前、メッセージ、スタンプ、画像&動画&PDFを送信できる作りになっているのですが、メッセージは最大300文字送信できるためその範囲内で空白改行を1回ずつ(荒らし対策として連続して2回は禁止)許可したいと考えております。PHP のサーバーサイドで制限したいのですが、調べても記事が出てこず止まっております…bbs.phpが質問一覧表示コード、bbs_quest_view.phpが入力画面、sin_functions.phpがマルチバイト、アップロードファイル制限、single-index.phpが確認&結果画面になります。※該当コードhttps://wandbox.org/permlink/bVoXYeizRsvzhi2V※サンプルページhttp://oksample.starfree.jp/%E8%B3%AA%E5%95%8F%E6%8E%B2%E7%A4%BA%E6%9D%BF/
質問日時: 2024/01/08 21:29 質問者: 初心者サイト作成
ベストアンサー
1
0
これの対応OSを教えて下さい。php-8.3.0-src.zipよろしくお願いいたします。
質問日時: 2023/12/18 06:58 質問者: Campus_20231226
ベストアンサー
4
0
例えば<?phpclass A{ private $x; private $y; public function __construct($x,$y) { $this->x = $x; $this->y = $y; } public function myprint() { var_dump($this->x); var_dump($this->y); }}の中でpublic function myprint()の定義が以上の様に簡単でなく長文の場合に定義本体をクラス外に置く方法はあるでしょうか?
質問日時: 2023/12/05 11:47 質問者: reiman
ベストアンサー
1
1
pythonで記事の切り抜きを作っています。BS4で、tagの属性ではない部分での検索方法は、どうしたらよいのでしょう?reuterは、htmlでは、記事の題名が下記の形式になっています。<a data-testid="Heading" href="***>記事題名</a>a tag に続く data-testid="Heading" 利用したいが方法が解りません。正規表現 <a data-testid="Heading".*?</a>editor検索では、aタグ部分となるのでsoupでためしてみたけど、エラーにならないが、結果は ゼロ。soup.find_all(re.compile('<a data-testid="Heading".*?</a>'))
質問日時: 2023/11/25 07:40 質問者: momotarojapan
ベストアンサー
1
0
htmlでかんたんなwebページを作成する課題に取り組んでいるのですが、以下のエラーの解消方法がわからず困っています。Warning: Undefined array key "username" in /home/user01/public_html/12/registry.php on line 26Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in /home/user01/public_html/12/registry.php:27 Stack trace: #0 /home/user01/public_html/12/registry.php(27): PDOStatement->execute() #1 {main} thrown in /home/user01/public_html/12/registry.php on line 27どの部分が間違っているのかわからず、教えていただけないでしょうか。パスワードが間違っている場合は正しくエラーをかえせています。既存のユーザ名とパスワードの組み合わせ及び新規の組み合わせのときに上記のエラーメッセージに遷移する状態です。ログイン及びメインページは別にコードを作成してあります。<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>掲示板-新規登録</title> <link rel="stylesheet" htef="../stylesheet.css"></head><body> <h1>掲示板 新規会員登録</h1> <?php ini_set('display_errors', 'On'); if(isset($_POST["newuname"],$_POST["password"])){ if($_POST["password"] != $_POST["passwordConfirm"]){ echo"パスワードが一致しません"; }else{ $db = "mysql: host=localhost; dbname=webapp; charset=utf8mb4"; $username = "admin"; $password = "mysql"; $pdo = new PDO($db, $username, $password); $stmt = $pdo -> prepare("SELECT * FROM users WHERE username=:newuname"); $stmt -> bindValue(":username", $_POST["username"], PDO::PARAM_STR); $stmt -> execute(); if($stmt -> rowCount() !=0){ echo"そのユーザー名は使われています"; }else{ $stmt = $pdo ->prepare("INSERT INTO users (username,password) VALUES(:newuname,:password);"); $stmt ->bindValue(":newuname", $_POST["newuname"], PDO::PARAM_STR); $stmt ->bindValue(":password", $_POST["password"], PDO::PARAM_STR); $stmt -> execute(); header("Location: ./login.php"); exit; } } } ?> <form actcion="" method="POST"> <table class="registry"> <tr> <td>ユーザー名</td> <td><input type="text" name="newuname"></td> </tr> <tr> <td>パスワード</td> <td><input type="password" name="password"></td> </tr> <tr> <td>パスワード(確認用)</td> <td><input type="password" name="passwordConfirm"></td> </tr> </table> <div class="registry"> <input type="submit" class="registry" value="登録"> </div> </form></body></html>
質問日時: 2023/11/13 20:54 質問者: samgj
解決済
1
0
のエラーになるのですがC++では可能な同名メソッドの定義はできないのでしょうか?
質問日時: 2023/11/13 13:28 質問者: reiman
ベストアンサー
2
1
アマゾンの評価のような星をクリックすると星の数が選択されるスター評価のコードを書いてます。選択した評価で星の数の情報をphpで確認表示画面に送るコードを書いたのですが、submitを押して次の画面には行くのですが、phpが間違っていると思いますが、選択した星が表示されなくて困っています。コードは星選択フォーム画面と確認画面の2つのコードを提示しています。回答よろしくお願いいたします。●星評価選択フォームの画面 b.php<?phpsession_start();$errors = array();if ($_POST) {$rate = filter_input(INPUT_POST, 'rate');if (empty($rate)) {$errors[] = "評価をタップして下さい。";} else {// 各星のラジオボタンに評価値を設定$_SESSION['rate'] = $rate;header('Location:b2.php');exit();}}if (isset($_GET['action']) && $_GET['action'] === 'edit') {$rate = $_SESSION['rate'];}?><style>/* 選択の星のスタイル */.rate-form {display: flex;flex-direction: row-reverse;justify-content: flex-end;}.rate-form input[type=radio] {display: none;}.rate-form label {position: relative;padding: 0 5px;color: #ccc;cursor: pointer;font-size: 35px;}.rate-form label:hover {color: #ffcc00;}.rate-form label:hover ~ label {color: #ffcc00;}.rate-form input[type=radio]:checked ~ label {color: #ffcc00;}<body><form action="b2.php" method="post" id="form"><div class="rate-form"><!-- 各星に評価値を設定 --><input id="star3" type="radio" name="rate" value="3"><label for="star3">★</label><input id="star2" type="radio" name="rate" value="2"><label for="star2">★</label><input id="star1" type="radio" name="rate" value="1"><label for="star1">★</label></div><button id="submit" class="yohaku"></button></form>●確認表示画面のPHP<?phpsession_start();// セッションから評価値を取得$rate = isset($_SESSION['rate']) ? $_SESSION['rate'] : '';?><style>/* 出力する星の大きさ */.w {font-size: 35px;color: #ffcc00;}</style><body><form action="b3.php" method="post"><div class="w"><?php echo $rate; ?></div><input type="submit" name="submit" value="評価を送信"></form></body>
質問日時: 2023/10/02 10:52 質問者: hayosato
ベストアンサー
1
0
PHPの勉強をしています。先日ローカル環境のPHPを8に変更したのですが、その際今まで発生したいなかったWarningが沢山表示されて困っております、大きく仕様が変わったのでしょうか…。アドバイスを頂けますと幸いです。例えばメールフォームで今まで以下のように記述していたのですが、<?phpif ($_SERVER["REQUEST_METHOD"] === "POST") { $error = []; if ($_POST["lastName"] === "") { $error["lastName"] = "blank"; }}?><form action="" method="post"> <fieldset> <legend>お名前</legend> <label>姓 <input type="text" name="lastName" value="<?php echo $_POST["lastName"]; ?>"> <span class="require"> <?php if ($error["lastName"]==="blank") { echo "※お名前を入力してください。"; } ?> </span></label> <input type="submit" value="送信する"></form>しょっぱなからエラーが表示されます。Warning: Undefined variable $error in E:\xampp\htdocs\index.php on line 45Warning: Trying to access array offset on value of type null in E:\xampp\htdocs\index.php on line 45遷移先の同ページで$_POSTを受け取った際にも以下のエラーが表示されます。Warning: Undefined array key "lastName" in調べてみると回避策として、isset()を指定するようなことがか書かれているのですが、色々と試してみるのですがうまく設定ができません。ちなみに、error_reporting(E_ERROR | E_PARSE | E_NOTICE); でエラーを無視すると意図する動きをしてくれるのですが、そもそもきちんとした書き方ができていないからエラーが出ていると思うので、この辺り正しい書き方で対応したいと思っております。アドバイスのほど宜しくお願いいたします。
質問日時: 2023/09/25 17:21 質問者: yuyukina
解決済
2
0
お詳しい方、特に仕事で実際に利用されている方にお伺いしたです。現在ではWEBの制作物、ホームページのデータやプログラムシステムなどの本番環境へのアップロードはどのように行われるのが一般的なのでしょうか?SFTPなどの利用は皆無とお伺いしました。その場合2つお伺いしたいです。1)フレームワークなどを利用したり、大きめのサイト?などのデプロイは具体的にどういった手順で、どういったものを利用して行いますか?ローカルからGIT、GITから本番のサーバーへ…、等環境や手法についても具体的にお伺いできればと思います。2)Wordpressや自前のスクリプト一式など、比較的小規模なサイトの公開の場合のデプロイ?公開手順についてもお伺いしたです。SFTPを使わないとなると、その都度scpなどのコマンドで転送するのかな?と考えたりもしますが、サーバーによってはSSHの設定など少々面倒なサーバーもあり、そんな場合にはSFTPからの転送が手軽で楽なイメージがあるのですが、どうなのでしょうか?その他の方法が分からないので何とも考えが広がらないのですが…。お詳しい方、宜しくお願いいたします。
質問日時: 2023/09/10 11:53 質問者: apple_mango
解決済
2
0
フレームワークを利用したことが無く、現在laravelというPHPのフレームワークを学んでおりますが、なかな難しく、また、こういったフレームワークの利用意味についてもご教授頂けますと幸いです。一応、ざっくりですが、phpやjavascriptなど学んでまいりました。言語的には、基本はある意味共通する部分が多く、CやC#、Kotlinなどのコンパイラ系の言語も、型の設定やポインタなどがあるものの、共通点は多くプログラミング的には何とか浅い部分では理解できるのですが、フレームワークを使うとなると話が全く変わります。これはAndroid StudioなどのIDEなどを理解すると同じ意識でよいのでしょうか?(そうなると非常に労力凄いですね、理解をするために…)何と申しますか、今回ご質問をさせて頂きました主題、laravelの場合ですと、PHPを理解するという話は大前提で、laravelという、また別のものを理解しないといけないため、ある意味他の言語を習得する以上の労力が必要に感じます…。話がそれてしまいましたが、お伺いしたいのが、今回のlaravelを用いたサイト構築についてなのですが、ログイン機能や掲示板など、諸々の「車輪の再発明」的なことが不要な場合には利用する価値は無いでしょうか?もしこういった↑の機能を必要とせずとも、何でもかんでも、laravel経由で作った方が良い等ご意見がありましたらその理由をお伺いしたいです。というのも、メールフォーム1つでもあればlaravelで作る方が楽!といった記事を拝見し、確かに、バリデーションなど考慮するとそうなのかな?とも思ったりしましたが、小さいサイトでもlaravelを利用することが、管理するうえでも良いものなのか?または、そういった環境であれば、一長一短あるよ!など現場を知っている方のお声を頂けたらと思いまして質問をさせて頂きました。上手く説明ができている気がしませんが、フレームワークの利用意義についてアドバイス頂けますと幸いです。
質問日時: 2023/09/07 22:32 質問者: 404not_found
解決済
3
0
とある音楽サイトを立ち上げたいと思っています。というのも歌詞のサイトです。世界中の歌詞を見られるサイトを作りたいです。Wordpressでサイトをつくり、ロリポップのPHPmyAdminのデータベースに歌詞を登録していきました。このあとどうすればいいでしょうか?PHPmyAdminに登録したデータをどうすればWordpressに反映できますか?
質問日時: 2023/08/25 17:04 質問者: ほうじ茶6499
解決済
1
0
Wordpressでファイルアップロード可能な掲示板を作成しており、ディレクトリにアップロードする形で実装しております。セキュリティ対策項目の1つであるディレクトリ・トラバーサルの対策が十分なのか分かりません、ファイル名もディレクトリ名も含まないようコードを書いたのですが、必ずしも open(dirname+basename(filename)) のような形を取る必要があるのでしょうか? ※根本的解決 3-(i)-b ファイルを開く際は、固定のディレクトリを指定し、かつファイル名にディレクトリ名が含まれないようにする。※参考サイトhttps://www.ipa.go.jp/security/vuln/websecurity/parameter.html※該当コードhttps://wandbox.org/permlink/PamBzumwjpVvhI7z
質問日時: 2023/08/20 00:25 質問者: 初心者サイト作成
ベストアンサー
1
0
Wordpressでログインなしの質問・回答形式の掲示板を作成しております。参考サイトにあるようにセッションで入力画面 → 確認画面 → 登録処理を行っていて、ページ遷移に該当するため攻撃を受けないか不安です。ログイン制を導入していないため個人情報保護の義務はないと思うのですが、各攻撃の対策は必要でしょうか?クロスサイト・スクリプティングに記載してある対策の1つとして、<script>...</script> 要素の内容を動的に生成しないと書いてあるのですが、今後回答画面を作る際にJavascriptでHTMLクラスを書き換えて入力画面と確認画面のHTMLを動的に切り替えようと考えているため、そちらを対策すべきかアドバイスお願い致します。※クロスサイト・スクリプティングhttps://www.ipa.go.jp/security/vuln/websecurity/cross-site-scripting.html※クロスサイト・リクエスト・フォージェリhttps://www.ipa.go.jp/security/vuln/websecurity/csrf.html※HTTPヘッダ・インジェクションhttps://www.ipa.go.jp/security/vuln/websecurity/http-header.html※該当コードhttps://wandbox.org/permlink/O3xpi6vJpg0Q7HKp
質問日時: 2023/08/11 20:44 質問者: 初心者サイト作成
ベストアンサー
1
1
現在はUUID(unique_id)に格納して、それをURLに設定することで質問ごとにURLを生成しているのですが、http://www.irasuto.cfbx.jp/質問表示画面/?xxxxxxxx_xxxx_xxxx_xxxx_xxxxxxxxxxxx URLが長すぎるのではないかと感じております。そこで単に質問ID連番をURLにすることを考えてみたのですが、セキュリティ面を考えたときにヤフー知恵袋やOKWABEのようにログインシステムを導入していないため、スクリプト等で荒らされる危険があるのではないかと危惧しております。セキュリティを考慮するならURLは長いほうがよいと思うのですが、連番で生成する方法とどちらを選択するべきでしょうか?$url = substr($_SERVER['REQUEST_URI'], -36);$sql = 'SELECT * FROM sortable WHERE unique_id=%s';$query = $wpdb->prepare($sql, $url);$rows = $wpdb->get_results($query);※現在のテーブルhttps://i.imgur.com/8SF6LER.jpg
質問日時: 2023/08/10 16:42 質問者: 初心者サイト作成
ベストアンサー
1
0
<?phpif($_COOKIE['page']== ''){setcookie('page','1', (time()+1800),'/','domainsample.com','true');echo '追加完了';}else{echo $_COOKIE['page'];}?>というphpファイルを作ってchromeで読み込むのですが何度再読み込みしても「追加完了」が表示され、一度も「1」が表示されません。chromeのcookieの設定は「シークレットモードでサードパーティCookieをブロックする」になっています。また、「サードパーティのCookieを許可」に変更して試してみたのですが、それでも「追加完了」としか表示されませんでした。原因の調べ方、または解決策のご教示お願いします。
質問日時: 2023/08/02 16:40 質問者: ひまわりおれお
ベストアンサー
2
0
掲示板のファイルアップロード数でHTMLクラスを変えずにCSSのみを変更して並び方を臨機応変に対応するように考えていて、画像が3個の場合は2個横並び+下に1個回り込み、その横に文字で実装できたのですが、画像が2個の場合2個縦並び、その横に文字がどうしても上手くいきません…どちらも同一クラスで実装することはできないのでしょうか?<?php// 使用する変数を空文字で初期化$buafloatLeft = 'none'; // 画像が3つの場合のみif ($image_count = 1) { // 1がtrueの場合 // ここの処理が実行される $btotafloatLeft = 'left'; // 画像が2つの場合のみ} elseif ($image_count = 2) { // 1がfalseで2がtrueの場合 // ここの処理が実行される $btotafloatLeft = 'left'; // 画像が2つの場合のみ} else { // それ以外(1、2ともにfalse)の場合 // ここの処理が実行される $buafloatLeft = 'left'; // 画像が3つの場合のみ}?> <style> .billboard_uploadFiles_area { margin-right: 19px; margin-bottom: 19px; float: <?php echo $btotafloatLeft; ?>; } .billboard_toggle_target { float: <?php echo $buafloatLeft; ?>; } </style><div class="billboard_article_area"><div class="billboard_toggle_target"><div class="billboard_uploadFiles_area"><!-- <label>添付ファイル#1</label> --> <div class="viewer"><?php echo $view[0]; ?></div></div><div class="billboard_uploadFiles_area"><!-- <label>添付ファイル#2</label> --> <div class="viewer"><?php echo $view[1]; ?></div></div><div class="billboard_uploadFiles_area"><!-- <label>添付ファイル#3</label> --> <div class="viewer"><?php echo $view[2]; ?></div></div><div class="billboard_text_area"><!-- <label>内容</label> --> <p class="firstlyText"><?php echo $row['message']; ?></p></div></div>
質問日時: 2023/07/28 17:16 質問者: 初心者サイト作成
ベストアンサー
3
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。この動きは自治体...
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
教えて!gooの新規会員登録の方法が新しくなりました。
gooサービス全体で利用可能な「gooID」をご登録後、「電話番号」と「ニックネーム」の登録をすることで、教えて!gooの会員登録が完了となり、投稿ができるようになります!
gooIDにログイン済みです
教えて!gooの新規会員登録の方法が新しくなりました。
gooサービス全体で利用可能な「gooID」をご登録後、「電話番号」と「ニックネーム」の登録をすることで、教えて!gooの会員登録が完了となり、投稿ができるようになります!