У меня очень маленькое приложение, оно требует идентификатора, а затем обновляет таблицу базы данных на основе этого идентификатора. Идентификатор - это вход из представления.Как получить доступ к данным, отправленным из представления в контроллере?
В основном моя БД (модель) имеет getAllProjects()
и approveProject($id)
.
Контроллер:
<?php if (!defined('BASEPATH')) exit ('No direct script access allowed');
class ApproveProject extends CI_Controller {
public function index() {
$this->loadView();
}
public function getData() {
$this->load->model("db_Projects");
$this->db_Projects->getAllProjects();
}
public function updateDB() {
// how can I get this variable?
$this->db_Projects->approveProject($toApprove);
}
public function loadView() {
$this->load->view("ViewProjectApproval");
}
}
?>
Вид:
<html language="en">
<head>
<title>Aprobare Proiect</title>
</head>
<h1> Aprobare Proiect </h1>
<body>
<div id="container">
<?php
if (isset($_POST['projectSubmit']) && ($_POST['projectSubmit'] == "Submit"))
{
$toApprove= $_POST['projectId'];
}
?>
<form action ="updateDB" method="post">
<input type="text" name="projectId">
<input type="submit" name="projectSubmit" value="Submit">
</form>
</div>
</body>
Я понятия не имею, если моя точка зрения хорошо, или если оно должно быть иначе ... как я могу отправить ID для моего контроллера?
Я пробовал это, не работал. Поэтому я прокомментировал 'updateDB' и оставил« echo »Test»; 'однако это не появилось. Любая идея, должен ли я опубликовать обновленный код на всякий случай? – Kalec
Обнаружена проблема: она никогда не входит в предложение if – Kalec
Я думаю, что вспомнить, что Code Igniter разрушает суперглобалы, поэтому доступ к ним в контроллере не работает без дополнительной настройки. Но они, возможно, изменили это с помощью CI 2. – Gordon