原因と解決策を教えてください。
【前提】
画像投稿掲示板をphp&mysqlで作っています。
posting.phpが投稿ページで、そのデータをthanks.phpで受け取り、画像等一覧を
index.phpとして表示したいです。
※今は仮としてthanks.phpに一覧を表示できるようしてます。
【エラー】
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in /var/www/html/php_kadai/php_kadai09/thanks.php on line 16
データベースを見てもデータがinsertされていません・・・
<index.php>
<?php ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>画像投稿掲示板</title> <link rel="stylesheet" href="reset.css"> <link rel="stylesheet" href="style.css"> </head> <body> <h1>画像投稿掲示板</h1> <hr> <p class="posting"><a href="posting.php">画像を投稿する</a></p> <h2>投稿内容一覧</h2> </body> </html><posting.php>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>画像投稿ページ</title> <link rel="stylesheet" href="reset.css"> <link rel="stylesheet" href="style.css"> </head> <body> <h1>画像投稿掲示板</h1> <hr> <form class="contents" action="thanks.php" method="post" enctype="multipart/form-data"> <table border="0" cellspacing="0" cellpadding="0" class="table_basic"> <colgroup> <col width="33%" /> <col width="67%" /> </colgroup> <tr> <th><span>投稿者</span><span class="must">必須</span></th> <td ><input type="text" name="name" value="" class="box"> </td> </tr> <tr> <th><span>画像タイトル</span><span class="must">必須</span></th> <td><input type="text" name="title" value="" class="box"></td> </tr> <tr> <th><span>画像ファイル</span><span class="must">必須</span></th> <td><input type="file" name="uploadfile" value="選択してください"><br><span class="attension">(※png, jpgのみ対応)</span></td> </tr> </table> <p class="button"><input type="submit" name="submit" value="投稿する" width="50px"></p> </form> <p class="link"><a href="index.php">画像一覧ヘージはこちら>></a></p> </body> </html><thanks.php>
<?php require_once('functions.php'); $name = $_POST['name']; $title = $_POST['title']; $dbh = connectDb(); $sql = "insert into posts (create_at, name, image_name, img_data) values (now(), :name, :title, :movetofile)"; $stmt = $dbh->prepare($sql); $stmt->bindParam(":name", $name); $stmt->bindParam(":title", $title); $stmt->bindParam(":movetofile", $movetofile); $stmt->execute(); //echo '成功しました'; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>投稿完了ページ</title> <link rel="stylesheet" href="reset.css"> <link rel="stylesheet" href="style.css"> </head> <body> <h1>画像投稿掲示板</h1> <hr> <div id="wrapper"> <p class="title">下記の内容で投稿致します</p> <p>投稿者: <?php if(empty($name)) :?> <?php echo "<p style='color:red;'>投稿者が入力されておりません。</p>"; ?> <?php else: ?> <?php echo h($name); ?> <?php endif; ?> </p> <p class="imagestitle">画像タイトル: <?php if(empty($title)) :?> <?php echo "<p style='color:red;'>画像タイトルが入力されておりません。</p>"; ?> <?php else: ?> <?php echo h($title); ?> <?php endif; ?> </p> <p>画像ファイル: <?php if(strlen($_FILES["uploadfile"]["name"]) > 0 ) :?> <?php $fileinfo = pathinfo($_FILES["uploadfile"]["name"]); ?> <?php $fileext = strtoupper($fileinfo["extension"]); ?> <?php $errmsg = ""; ?> <?php if ($fileext != "PNG" and $fileext != "JPG") :?> <?php $errmsg .= "<p style='color:red;'>対象ファイルはPNGまたはJPGのみです!</p><br>"; ?> <?php else: ?> <?php $movetofile = "images/upf_" . $_FILES["uploadfile"]["name"]; ?> <?php if (! move_uploaded_file($_FILES["uploadfile"]["tmp_name"], $movetofile)) :?> <?php $errmsg .= "<p style='color:red;'>ファイルのアップロードに失敗しました。</p><br>"; ?> <?php endif; ?> <?php endif; ?> <?php if ($errmsg == "") :?> <?php echo $_FILES["uploadfile"]["name"] . "<br>"; ?> <?php echo "<img src='$movetofile'><br><br><br>"; ?> <?php else: ?> <?php echo $errmsg . "<br><br><br>"; ?> <?php @unlink($_FILES["uploadfile"]["tmp_name"]); ?> <?php endif; ?> <?php else: ?> <?php echo "<p style='color:red;'>アップロードするファイルが指定されていません!</p><br>"; ?> <?php endif; ?> </p> <p class="return"><a href="posting.php">画像投稿ページへ戻る>></a></p> <p class="link"><a href="index.php">画像一覧ヘージはこちら>></a></p> </div> </body> </html>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/15 05:44
退会済みユーザー
2015/11/15 05:46
2015/11/15 05:53
退会済みユーザー
2015/11/15 05:55
2015/11/15 06:07
退会済みユーザー
2015/11/15 06:09
2015/11/15 06:36
退会済みユーザー
2015/11/15 06:40