phpの送信がうまくいかない

実現したいこと

ボタンをクリックするとテキストmysqlに送信する

前提

なぜか何度も送信されてしまう

発生している問題・エラーメッセージ

エラーはない

該当のソースコード

php

1 $pdo = new PDO('[PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC]');//隠してます2 $sql = "SELECT * FROM value";3 //データ取得4 $sma = $pdo->query($sql);5 $data = $sma->fetchAll(PDO::FETCH_ASSOC);6 foreach ($data as $row) {7 if (!empty($_GET["r"])){8 $getT = $_GET["r"]*2-1;9 $getP = $_GET["r"]*2;10 $inroomT = $row[$getT];11 $inroomP = $row[$getP];12 if (!empty($inroomT)){13 echo '<span class="txt">' . htmlspecialchars($inroomT, ENT_QUOTES, 'UTF-8') . '</span><br>';14 }15 if (!empty($inroomP)){16 echo '<img class="img" src="data:image/png;base64,' . $inroomP . '" alt="Base64 Image"><br>';17 }18 if ($_FILES["upload"]["error"] === UPLOAD_ERR_OK) {19 $path = $_FILES["upload"]["tmp_name"];20 $image = imagecreatefromjpeg($path);21 list($width, $height) = getimagesize($path);22 if ($width >= $height){23 $nwidth = 500;24 $nheight = (int)(500 / $width * $height);25 }else{26 $nwidth = (int)(500 / $height * $width);27 $nheight = 500;28 }29 $sizesetting = imagecreatetruecolor($nwidth, $nheight);30 imagecopyresampled($sizesetting, $image, 0, 0, 0, 0, $nwidth, $nheight, imagesx($image), imagesy($image));//サイズ設定31 ob_start();32 imagejpeg($sizesetting, null, 80);//jpg圧縮33 $pdata = ob_get_clean();34 $base64 = base64_encode($pdata);35 $smo = $pdo->prepare("INSERT INTO `value` (`".$getP."`) VALUES(:".$getP.")");36 $params = array(":".$getP => $base64);37 $smo->execute($params);38 header("Location: ".$_SERVER['REQUEST_URI']);39 }40 //文字送信41 if (!empty($_POST["txt"])) {42 $txt = $_POST["txt"];43 echo "INSERT INTO `value` (`".$getT."`) VALUES(:".$getT.")";44 $smo = $pdo->prepare("INSERT INTO `value` (`".$getT."`) VALUES(:".$getT.")");45 $params = array(":".$getT=> $txt);46 $smo->execute($params);47 header("Location: ".$_SERVER['REQUEST_URI']);48 }49 }else{50 echo $row["15"];51 if (isset($_POST["makeroom"])) {52 header("****************");//隠してます53 }54 }55 }

試したこと

リロードされてるかと思いヘッダーを設定したがまだ起こる
:iを送ってリロードすると
:i
i
:iになってまたリロードすると
i
i
i
i
iになる指数関数的に増えるわけでもないしなぜなのかわからない

コメントを投稿

0 コメント