Probleem met insert formulier
Ik heb de volgende functie in mijn Model:
en deze in de Controller:
En dit i het formulier in kwestie:
Maar als ik het formulier submit gebeurt er helemaal niets en de console geeft de volgende melding:
Alle andere pagina's werken prima. Wat kan de oorzaak zijn?
Edit: Dit is de pagina in kwestie http://www.flying-paradise.com/beheerder_toevoegen
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
public function admin_toevoegen($name, $email, $password)
{
$sql = "INSERT INTO `site_admins` (`name`, `email`, `password`)
VALUES (?, ?, ?)";
$stmt = $this->pdo->prepare($sql);
$stmt->execute(array($name, $email, $password));
}
{
$sql = "INSERT INTO `site_admins` (`name`, `email`, `password`)
VALUES (?, ?, ?)";
$stmt = $this->pdo->prepare($sql);
$stmt->execute(array($name, $email, $password));
}
en deze in de Controller:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public function admin_toevoegenAction()
{
if ($_SERVER['REQUEST_METHOD'] != 'POST')
{
$this->page->redirect('/beheerder_toevoegen');
} else {
$name = filter_input(INPUT_POST, 'a_name', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'a_email', FILTER_SANITIZE_STRING);
$password = filter_input(INPUT_POST, 'a_password', FILTER_SANITIZE_STRING);
$hashed = password_hash($password, PASSWORD_DEFAULT);
$this->page->admin_toevoegen($name, $email, $hashed);
}
}
{
if ($_SERVER['REQUEST_METHOD'] != 'POST')
{
$this->page->redirect('/beheerder_toevoegen');
} else {
$name = filter_input(INPUT_POST, 'a_name', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'a_email', FILTER_SANITIZE_STRING);
$password = filter_input(INPUT_POST, 'a_password', FILTER_SANITIZE_STRING);
$hashed = password_hash($password, PASSWORD_DEFAULT);
$this->page->admin_toevoegen($name, $email, $hashed);
}
}
En dit i het formulier in kwestie:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<form role="form" method="post" class="adminForm" id="adminForm" action="/admin_toevoegen">
<div class="form-group mt-1">
<input type="text" class="form-control" name="a_name" id="a_name" placeholder="name *" tabindex="1">
</div>
<div class="form-group mt-1">
<input type="text" class="form-control" name="a_email" id="a_email" placeholder="email *" tabindex="1">
</div>
<div class="form-group mt-1">
<input type="text" class="form-control" name="a_password" id="a_password" placeholder="password *" tabindex="1">
</div>
<div class="form-group mt-1">
<input type="submit" class="btn btn-medium btn-cta" name="submit" value="Subscribe now!" tabindex="1">
</div>
</form>
<div class="form-group mt-1">
<input type="text" class="form-control" name="a_name" id="a_name" placeholder="name *" tabindex="1">
</div>
<div class="form-group mt-1">
<input type="text" class="form-control" name="a_email" id="a_email" placeholder="email *" tabindex="1">
</div>
<div class="form-group mt-1">
<input type="text" class="form-control" name="a_password" id="a_password" placeholder="password *" tabindex="1">
</div>
<div class="form-group mt-1">
<input type="submit" class="btn btn-medium btn-cta" name="submit" value="Subscribe now!" tabindex="1">
</div>
</form>
Code (php)
1
Failed to load resource: the server responded with a status of 503 (Service Unavailable)
Alle andere pagina's werken prima. Wat kan de oorzaak zijn?
Edit: Dit is de pagina in kwestie http://www.flying-paradise.com/beheerder_toevoegen
Gewijzigd op 17/04/2018 22:30:06 door Donald Boers
Staat er niks in je error_log?
@ - Ariën - Niets dat betrekking heeft op de betreffende insert. Aleen over een paar ontbrekende files zoals apple-touch-icon etc die ik nog moet uploaden
Je forumulier wijst naar admin_toevoegen maar je controller wijst naar /beheerder_toevoegen. Zit je niet per ongeluk vanaf de verkeerde url te werken?
Het formulier staat op de pagina /beheerder_toevoegen. De submit vindt plaats met gebruik van AJAX
/admin_toevoegen is waar de insert plaats vindt. Mocht de REQUEST_METHOD niet POST zijn keer dan terug naar /beheerder_toevoegen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
$("#adminForm").on("submit",function(e){
e.preventDefault();
$.ajax({
url:"/admin_toevoegen",
type:"post",
data:$(this).serialize(),
success:function(data){
$("#adminForm").find("input").val("");
$("#col-form").fadeOut(500);
$("#col-success").html(data).fadeIn(1000);
}
});
});
e.preventDefault();
$.ajax({
url:"/admin_toevoegen",
type:"post",
data:$(this).serialize(),
success:function(data){
$("#adminForm").find("input").val("");
$("#col-form").fadeOut(500);
$("#col-success").html(data).fadeIn(1000);
}
});
});
/admin_toevoegen is waar de insert plaats vindt. Mocht de REQUEST_METHOD niet POST zijn keer dan terug naar /beheerder_toevoegen
Waarom haal je dat niet eerst even weg als je aan het debuggen bent? Dan kun je meteen zien of je javascript niet gewoon brak is.
@ Ben van Velzen. Heb ik een paar uur geleden al geprobeerd, maar zonder succes. Ik ging inderdaad naar /admin_toevoegen maar er gebeurde niets, dus dat kan het ook niet zijn
Ja, maar dan zou je denken dat er dan op zijn minst een foutmelding naar boven komt. Hoe heb je zaken als display_errors en error_reporting staan?
'/admin_toevoegen' is niet de echte bestandsnaam, dit wordt omgezet door een .htaccess o.i.d. lijkt me?
Wat gebeurt er als je het bestand rechtstreeks probeert te benaderen? Klopt de verwijzing naar '/admin_toevoegen' in je .htaccess?
Wat gebeurt er als je het bestand rechtstreeks probeert te benaderen? Klopt de verwijzing naar '/admin_toevoegen' in je .htaccess?




