Ошибка 404 при попытке запустить файл вставки PHP в HTML - PullRequest
1 голос
/ 22 апреля 2019

Я довольно новичок в кодировании MVC и пытаюсь написать простое веб-приложение, которое может хранить информацию о моих участниках. У меня есть HTML-форма, которую я хочу вызвать другой файл с именем «insertmember.php», и «insertmember.php» должен взять параметр, переданный из формы и вставить в мою базу данных mysql. Проблема в том, что я не уверен, поместил ли я "insertmember.php" в неправильное место, или если я пропустил какой-то другой параметр, чтобы страница открылась ..

Все (Apache Server и MySQL) работает под XAMPP Мой файл "insertmember.php" в настоящее время находится в E: \ XAMPP \ HTDOCS \ Firstwebapp \ приложения \ вид

Мой PHP-файл

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

    function __construct()
    {
        parent::__construct();

    }

    function index()
    {

        $servername = "localhost";
        $username = "";
        $password = "";
        $dbname = "test";

        $conn = new mysqli($servername, $username, $password, $dbname);
        if ($conn->connect_error) 
        {
        die("Connection failed: " . $conn->connect_error);
        } 

        $sql = "SELECT member_ID, member_name, city_level, attack_power FROM member";
        //$result = $conn->query($sql);
        $data['result'] = $conn->query($sql);   
        $data['title'] = "GreenForest Member";
        $data['heading'] = "List of GreenForest members:";

        $this->load->view('home', $data);

        $conn->close();     


    }

}
?>

Мой HTML-файл

<html>
<head>
<title>
<?=$title?>
</title>
</head>
<body>
<h3>Add New member</h3>
    <form action = "insertmember.php" method ="post"> 
        member_name  : <input type = "text" name = "member_name">
        <br/>
        city_level   : <input type = "text" name = "city_level">
        <br/>
        attack_power : <input type = "text" name = "attack_power">
        <br/>
        <input type =  "submit" value = "INSERT">
    </form>
<h3><?=$heading?></h3>

<table style="width:100%">
    <tr>
        <th>Member_ID</th>
        <th>Member_name</th>
        <th>City_level</th>
        <th>Attack_power</th>
    </tr>
<?php while($row = mysqli_fetch_assoc($result)) { ?>
    <tr>
        <th><?php echo$row['member_ID'] ?></th>
        <th><?php echo$row['member_name'] ?></th>
        <th><?php echo$row['city_level'] ?></th>
        <th><?php echo$row['attack_power'] ?></th>
    </tr>
<?php } ?>
</table>

</body>
</html>

Мой файл insertmember.php

<html>
<body>

<? php

    $servername = "localhost";
    $username = "";
    $password = "";
    $dbname = "test";

    $conn = new mysqli($servername, $username, $password, $dbname);
    if ($conn->connect_error) 
    {
    die("Connection failed: " . $conn->connect_error);
    } 

    $member_name = $_POST['member_name'];
    $city_level = $_POST['city_level'];
    $attack_power = $_POST['attack_power']; 

    $sql = "INSERT INTO member (member_name, city_level, attack_power) VALUES ( '$member_name', '$city_level', '$attack_power')";

    if(!mysqli_query($con, $sql))
    {
        echo 'not inserted';
    }
    else
    {
        echo 'inserted';
    }

    mysql_close($con)

    header("refresh:2; url=index.html");
?>

</body>
</html>

Я ожидаю, что когда я нажму кнопку «ВСТАВИТЬ» на моей странице индекса, значение в форме попадет в базу данных, и страница будет обновлена, чтобы показать новую запись

Структура файла

1 Ответ

1 голос
/ 22 апреля 2019

Это решено .. Я должен измениться с:

form action = "insertmember.php" method ="post"

на:

form action = "index.php/welcome/insertmember" method ="post"

Недурно Свати указывает мне на направление проверки моего пути к каталогу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...