PHP как случайная система - PullRequest
0 голосов
/ 07 марта 2020

Эй, ребята, я нашел свою проблему, теперь мне нужна помощь, как ее решить. Я получаю одного человека из базы данных по ранду, и после нажатия кнопки «Мне нравится» ему должен понравиться текущий номер, который он показывает, но это не так. Ему нравится следующий номер, который отображается после нажатия кнопки. Я не знаю, как отобразить его лучше. Вот мой код

<?php

include_once 'session.php';
include_once 'dbh.php'; 
?>

<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8">

  <title>The HTML5 Herald</title>
  <meta name="description" content="The HTML5 Herald">
  <meta name="author" content="SitePoint">

  <link rel="stylesheet" href="cs.css">

</head>

<body>

</body>
</html>
<?php


$sql = "SELECT * FROM users ORDER BY RAND () LIMIT 1 ; ";
$result = mysqli_query($conn, $sql);
$resultCheck = mysqli_num_rows($result);        
if ($resultCheck> 0){
    $row = mysqli_fetch_assoc($result);   
    $ide = $row['idUsers'];
    echo $ide;

    if(isset($_POST['like'])){
        $sql1= "INSERT INTO likes (id, likes)
        VALUES ('1', '$ide')";
         if ($conn->query($sql1) === TRUE) {
            echo "New record created successfully";
        } else {
            echo "Error: ".$sql1."<br>". $conn->error;
        }

        $conn->close();

    }

}
?>
<form action ="" method="post">
<button value = "like" name="like">like</button>
</form>

1 Ответ

0 голосов
/ 07 марта 2020

Необходимо ввести идентификатор пользователя в форму и использовать его при вставке.

Кроме того, форма должна быть внутри <body>, а не после нее.

<?php

include_once 'session.php';
include_once 'dbh.php'; 
?>

<!doctype html>

<html lang="en">
    <head>
    <meta charset="utf-8">

    <title>The HTML5 Herald</title>
    <meta name="description" content="The HTML5 Herald">
    <meta name="author" content="SitePoint">

    <link rel="stylesheet" href="cs.css">

</head>

<body>
<?php
$sql = "SELECT * FROM users ORDER BY RAND () LIMIT 1 ; ";
$result = mysqli_query($conn, $sql);
$resultCheck = mysqli_num_rows($result);        
if ($resultCheck> 0){
    $row = mysqli_fetch_assoc($result);   
    $ide = $row['idUsers'];
    ?>
    <form action ="" method="post">
    <button value = "<?php echo $ide; ?>" name="like">like</button>
    </form>
    <?php
}

if(isset($_POST['like'])){
    $sql1= "INSERT INTO likes (id, likes)
        VALUES ('1', ?)";
    $stmt = $conn->prepare($sql1);
    $stmt->bind_param("s", $_POST['like']);
    if ($stmt->execute()) {
        echo "New record created successfully";
    } else {
        echo "Error: ".$sql1."<br>". $stmt->error;
    }
}
$conn->close();
?>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...