Многоколоночная форма в PHP PDO - PullRequest
0 голосов
/ 19 июня 2020

Хотя в моей программе все выглядит нормально (например, register2. php), у меня есть некоторые проблемы с синтаксисом и привязкой. Поскольку он продолжает выдавать ошибку в строке 73, даже если данные успешно вошли в мою базу данных с именем «webprojadmin» и в таблицу с именем «пользователи».

вот моя подключенная база данных PDO:

    <?php
session_start();

$host = "127.0.0.1:3308";
$username = "root";
$password = "root";
$dbname = "webprojadmin";
$dsn = "mysql:host=$host;dbname=$dbname";
$optionen = array(
  PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
  );

try {
  // Create connection
  $cxn = new PDO($dsn, $username, $password, $optionen);
  // set the PDO error mode to exception
  $cxn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  //echo "Success: A proper connection to MySQL was made! The"." ".$dbname." "."database is great." . PHP_EOL;
  //echo "Host URL: " . $host . PHP_EOL;
}

catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
    }

?>

А вот и моя программа, register2. php

<code>    <?php
require "dbcxn.php"; 
?>

<center>
<div>
<h1>Add a new web user account</h1>
    <form action="" method="post">
        <p>Full Name:<input type="text" name="fullname" placeholder="enter your full name"></p>
        <p>Email:<input type="text" name="email" placeholder="enter your email address"></p>
        <p>Password:<input type="password" name="pass" placeholder="enter passowrd"></p>
        <p>Type<select name="utype">
                            <option value="FA">Academic, Faculty & Staff</option>
                            <option value="UG">Undergraduate Student</option>
                            <option value="PG">Postgraduate Student</option>
                            <option value="AU">Undergraduate Alumni</option>
                            <option value="AP">Postgraduate Alumni</option>
                        </select><p>
        <p>Bio:<br><textarea id="textboxid" type="text" name="bio" placeholder="May you introduce to us, briefly?"></textarea></p>
        <p>Awards:<br><textarea id="textboxid" type="text" name="awards" placeholder="Have you received any awards? If yes, what are they?"></textarea></p>
        <p>Publications:<br><textarea id="textboxid" type="text" name="pub" placeholder="Have you published any written works? If yes, what are they?"></textarea></p>
        <p>Thesis Topic:<br><textarea id="textboxid" type="text" name="ttopic" placeholder="What is the title of the Thesis you are doing/about to do/recently done?"></textarea></p>
        <p>Thesis abstract:<br><textarea id="textboxid" type="text" name="tabstract" placeholder="If you have told the thesis topic, what is it about? Tell us briefly. If not, leave it blank."></textarea></p>
        <p><input type="submit" name="btn_register" value="Create an account"/></p>
    </form>
</div>
</center>

<?php

if (isset($_POST["btn_register"])) //button name "btn_register"
    {
    $fullname = strip_tags($_POST["fullname"]);
    $email = $_POST["email"];
    $pass = $_POST["pass"];
    $utype = $_POST["utype"];
    $bio = $_POST["bio"];
    $awards = $_POST["awards"];
    $pub = $_POST["pub"];
    $ttopic = $_POST["ttopic"];
    $tabstract = $_POST["tabstract"];
    $sql = "INSERT INTO users (fullname, email, pass, utype, bio, awards, pub, ttopic, tabstract) VALUES ('$fullname', '$email', '$pass', '$utype', '$bio', '$awards', '$pub', '$ttopic', '$tabstract')";
    echo ("<pre>\n".$sql."\n
\ n "); if (empty ($ fullname)) {$ errorMsg [] =" Пожалуйста, введите имя пользователя "; // не проверять текстовое поле имени пользователя empty} else if (empty ($ email)) {$ errorMsg [] = "Пожалуйста, введите адрес электронной почты"; // проверяем, не пусто ли текстовое поле электронной почты} else if (! filter_var ($ email, FILTER_VALIDATE_EMAIL)) {$ errorMsg [] = " Пожалуйста, введите действительный адрес электронной почты "; // проверьте правильный формат электронной почты} else if (empty ($ pass)) {$ errorMsg [] =" Пожалуйста, введите пароль "; // проверьте, не пусто ли текстовое поле passowrd} else if (strlen ($ pass) <6) {$ errorMsg [] = "Пароль должен состоять не менее чем из 6 символов"; // пароль для проверки должен состоять из 6 символов} else {попробуйте {$ select_stmt = $ cxn-> prepare ("ВЫБЕРИТЕ полное имя, электронное письмо ОТ пользователей ГДЕ fullname =: ufname OR email =: uemail "); // sql выберите запрос $ select_stmt-> execute (array (': ufname' => $ f ullname, ': uemail' => $ email)); // выполняем запрос $ row = $ select_stmt-> fetch (PDO :: FETCH_ASSO C); if ($ row ["fullname"] == $ fullname) {$ errorMsg [] = "Извините, имя пользователя уже существует"; // проверка условия имя пользователя уже существует} else if ($ row ["email"] == $ email) {$ errorMsg [] = "Извините, адрес электронной почты уже существует"; // проверка наличия электронного письма с условием} else if (! isset ($ errorMsg)) // проверка отсутствия показа "$ errorMsg", затем продолжение {$ new_pass = password_ha sh ($ pass, PASSWORD_DEFAULT); // зашифровать пароль с помощью password_ha sh () $ query = "INSERT INTO users (fullname, email, pass, utype, bio, awards, pub, ttopi c, tabstract) VALUES ('$ fullname', '$ email ',' $ pass ',' $ utype ',' $ bio ',' $ awards ',' $ pub ',' $ ttopi c ',' $ tabstract ') "; // $ query2 = $ sql; // $ query2run = $ cxn-> prepare ($ query2); // $ query2exe c = $ query2run-> execute (); // $ row = $ query2run-> fetch (PDO :: FETCH_ASSO C); $ insert_stmt = $ cxn-> prepare ("INSERT INTO users (fullname, email, pass, utype, bio, awards, pub, ttopi c, tabstract) VALUES (: ufname,: uemail,: upass,: uutype ,: ubio,: uawards,: upub,: uttopi c ,: utabstract) "); // sql вставить запрос if ($ insert_stmt-> execute (array (': ufname' => $ fullname, ': uemail' => $ email, ': upass' => $ new_pass, ': uutype' => $ utype, ': upass' => $ bio, ': upass' => $ awards, ': upass' => $ pub, ': upass' => $ ttopi c, ': upass' => $ tabstract ))) {$ registerMsg = "Зарегистрируйтесь успешно ..... Пожалуйста, нажмите ссылку для входа в аккаунт"; // выполнить заголовок сообщения об успешном выполнении запроса ("refre sh: 1; index. php"); }}} catch (PDOException $ e) {echo $ e-> getMessage (); }}} if (isset ($ errorMsg)) {foreach ($ errorMsg as $ error) {?>
НЕПРАВИЛЬНО!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...