Probleem met insert formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Donald Boers

Donald Boers

17/04/2018 22:26:39
Quote Anchor link
Ik heb de volgende functie in mijn Model:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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));
    }

en deze in de Controller:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
            
        }
            
    }

En dit i het formulier in kwestie:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>
Maar als ik het formulier submit gebeurt er helemaal niets en de console geeft de volgende melding:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
 
PHP hulp

PHP hulp

05/11/2024 17:36:30
 
- Ariën  -
Beheerder

- Ariën -

17/04/2018 22:32:50
Quote Anchor link
Staat er niks in je error_log?
 
Donald Boers

Donald Boers

17/04/2018 23:00:39
Quote Anchor link
@ - 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
 
Ben van Velzen

Ben van Velzen

17/04/2018 23:21:52
Quote Anchor link
Je forumulier wijst naar admin_toevoegen maar je controller wijst naar /beheerder_toevoegen. Zit je niet per ongeluk vanaf de verkeerde url te werken?
 
Donald Boers

Donald Boers

17/04/2018 23:58:12
Quote Anchor link
Het formulier staat op de pagina /beheerder_toevoegen. De submit vindt plaats met gebruik van AJAX
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
        }
    });
});        


/admin_toevoegen is waar de insert plaats vindt. Mocht de REQUEST_METHOD niet POST zijn keer dan terug naar /beheerder_toevoegen
 
Ben van Velzen

Ben van Velzen

18/04/2018 00:08:55
Quote Anchor link
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.
 
Donald Boers

Donald Boers

18/04/2018 00:51:17
Quote Anchor link
@ 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
 
Ben van Velzen

Ben van Velzen

18/04/2018 01:04:13
Quote Anchor link
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?
 
Johan M

Johan M

18/04/2018 08:31:49
Quote Anchor link
'/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?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.