Probleem met insert formulier
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?
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?
Wat gebeurt er als je het bestand rechtstreeks probeert te benaderen? Klopt de verwijzing naar '/admin_toevoegen' in je .htaccess?