Мои сообщения не попадают в базу данных, есть идеи? - PullRequest
0 голосов
/ 01 апреля 2019

Я следую руководству mmtuts на youtube, чтобы показать, как публиковать комментарии в базе данных myphpadmin. Весь мой код точно такой же, как у него, но я работаю с другой отправной точки, потому что у меня уже был веб-сайт, над которым я работал, и я просто хотел добавить новый код.

По сути, видео показало, что код работает безупречно, и мои сообщения не отображаются в базе данных, как его. https://www.youtube.com/watch?v=4pPGOF5MI4U

"setComments ($ Conn)." на втором документе кодовый, а не белый, как на видео.

<?php  
    require 'includes/dbh.inc.php';
    session_start();
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="description" content="This is an example of a meta description.  This will often show up in search results.">
        <meta name=viewport content="width=device-width, initial-scale=1">
        <title>TAG</title>
        <link rel="stylesheet" type="text/css" href="style.css">
    </head>
        <div id="headerContainer">
            <?php 
                if (isset($_SESSION['userID'])) {
                    $id = $_SESSION['userID'];
                    $sqlImg = "SELECT * FROM profileimg WHERE userid='$id'";
                    $resultImg = mysqli_query($conn, $sqlImg);
                    while ($rowImg = mysqli_fetch_assoc($resultImg)) {      
                        if ($rowImg['status'] == 0) {
                            $filename = "profilepics/profile".$id."*";
                            $fileinfo = glob($filename);
                            $fileext = explode(".", $fileinfo[0]);
                            $fileactualext = $fileext[1];
                            echo "<div class=userPicture><img src='profilepics/profile".$id.".".$fileactualext."?".mt_rand()."'></div>";
                        }
                        else {
                            echo "<div class='userPicture'><img src='profilepics/noUser.png'></div>";
                        }
                    }
                    echo    '
                            <div class="userName">'. $_SESSION['userUserName'] .'</div>

                            <div id="logoutForm">
                                <form action="includes/logout.inc.php" method="post">
                                    <button type="Submit" name="logout-submit">Logout</button>
                                </form>
                            </div>

                            <div class="upload">
                                <form action="upload.php" method="POST" enctype="multipart/form-data">
                                    <input type="file" name="file">
                                    <button type="submit" name="submit">Profile Image</button>
                                </form>
                            </div>

                            ';
                }
                else {
                    echo    '
                            <div class="userPicture"><img src="profilepics/noUser.png"></div>
                            <div class="userName">You are not logged in!</div>

                            <div id="loginForm">
                                <form action="includes/login.inc.php" method="post">
                                    <input type="text" name="mailuid" placeholder="Username/E-mail">
                                    <input type="password" name="password" placeholder="Password">
                                    <button type="Submit" name="login-submit">Login</button>
                                </form>
                            </div>

                            <div id="signupForm">
                                <a href="signup.php">or Signup</a>
                            </div>

                            ';
                }
            ?>          
        </div>
<?php
    require "header.php";
    date_default_timezone_set('America/Chicago');
    include 'includes/comments.inc.php';
?>
    <div class="homeBody">
        <p>Starting Filler</p>
        <p>-</p>
        <p>-</p>
        <p>-</p>
        <video width="320" height="240" controls>
            <source src="videos/sample.mp4" type="video/mp4">
        Your browser does not support the video tag.
        </video>
        <?php
        echo "<form method='POST' action='".setComments($conn)."'>
            <input type='hidden' name='uid' value='Anonymous'>
            <input type='hidden' name='date' value='".date('Y-m-d H:i:s')."'>
            <textarea name='message'></textarea><br>
            <button type='submit' name='commentSubmit'>Comment</button>
        </form>";
        ?>
<?php 

function setComments($conn) {
    if (isset($POST['commentSubmit'])) {
        $uid = $_POST['uid'];
        $date = $_POST['date'];
        $message = $_POST['message'];

        $sql = "INSERT INTO comments (uid, date, message) VALUES ('$uid', '$date', '$message')";
        $result = $conn->query($sql);
    }
}
<?php

$servername = "localhost";
$dBUsername = "root";
$dBPassword = "thisisnotmyactualpassword";
$dBName = "tagloginsystem";

$conn = mysqli_connect($servername, $dBUsername, $dBPassword, $dBName);

if (!$conn) {
    die("Connection failed: ".mysqli_connect_error());
}

Все, что я хочу, это чтобы сообщения попадали в базу данных.

Ответы [ 2 ]

0 голосов
/ 06 апреля 2019

Мне не хватало "_" в $ _POST на 3-й странице кода

0 голосов
/ 01 апреля 2019

Попробуйте создать отдельный PHP-файл и укажите на него атрибут действия внутри тега формы.Прямо сейчас похоже, что вы запускаете функцию в атрибуте action.В PHP-файле вы можете запустить свою функцию PHP и написать нужный PHP.

EX:

<form method='POST' action="includes/comments.php">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...