2017-07-21 6 views
-1

Hier ist mein Code, HTML:PHP Anmeldeformular vorlegen wird nicht

<div class="form-content"> 

       <form method="post" action="../controller/regprocess.php"> 

        <div class="form-group"> 
         <label>Username</label> 
         <input type="text" id="Rusername" name="Rusername" required="required" /> 
        </div> 

        <div class="form-group"> 
         <label>Password</label> 
         <input type="password" id="Rpassword" name="Rpassword" required="required" /> 
        </div> 

        <div class="form-group"> 
         <label>First Name</label> 
         <input type="text" id="RfirstName" name="RfirstName" required="required" /> 
        </div> 

        <div class="form-group"> 
         <label>Last Name</label> 
         <input type="text" id="RlastName" name="RlastName" /> 
        </div> 

        <div class="form-group"> 
         <label>Email</label> 
         <input type="email" id="Remail" name="Remail" required="required" /> 
        </div> 

        <div class="form-group"> 
         <label>Phone</label> 
         <input type='number' id="Rphone" name="Rphone" required="required" /> 
        </div> 


        <div class="form-group"> 
         <button type="submit">Register</button> 
        </div> 

       </form> 
      </div> 

regprocess PHP:

<?PHP 
session_start(); 
//connect to the database 
require('../model/database.php'); 
//Load user functions 
require('../model/functions_users.php'); 

//retrieve the registration details into the form 
$username = $_POST['Rusername']; 
$password = $_POST['Rpassword']; 

$firstName = $_POST['RfirstName']; 
$lastName = $_POST['RlastName']; 

$email = $_POST['Remail']; 
$phone = $_POST['Rphone']; 

//call the add_user() function 
$result = add_user($username, $password, $firstName, $lastName, $email, $phone); 

//create user messages 
if($result) 
{ 
    //create a success message to display on page 
    $_SESSION['success'] = 'Thank you for creating an account. Please login.'; 
    //redirect to products.php 
    header('location: ../view/login-registration.php?page=login'); 
} 
else 
{ 
    //create a error message to display on page 
    $_SESSION['error'] = 'An error has occurred. Please try again.'; 
    //redirect to product_add_form.php 
    header('location: ../view/login-registration.php?page=login'); 
}?> 

und schließlich Funktion mein Ergebnis:

function add_user($username, $password, $firstName, $lastName, $email, $phone) 
{ 
    global $conn; 
    $sql = "INSERT INTO users (username, password, firstName, lastName, email, phone) VALUES (:username, :password, :firstName, :lastName, :email, :phone)"; 
    $statement = $conn->prepare($sql); 
    $statement->bindValue(':username', $username); 
    $statement->bindValue(':password', $password); 
    $statement->bindValue(':firstName', $firstName); 
    $statement->bindValue(':lastName', $lastName); 
    $statement->bindValue(':email', $email); 
    $statement->bindValue(':phone', $phone); 
    $result = $statement->execute(); 
    $statement->closeCursor(); 
    return $result; 
} 

Ich habe zwei Eltern-Divs, die einander überlappen, wird ausgeblendet (Registrierungsformular), bis ein Panel angeklickt wird und div aktiv wird oben auf dem Anmeldeformular erscheinen. Der aktive div-Button (Login-Formular) funktioniert, aber der zweite Formular-Button (Anmeldeformular) funktioniert nicht.

JS:

$(document).ready(function() { 
var panelOne = $('.form-panel.two').height(), 
panelTwo = $('.form-panel.two')[0].scrollHeight; 

$('.form-panel.two').not('.form-panel.two.active').on('click', function(e) { 
    e.preventDefault(); 
    $('.form-toggle').addClass('visible'); 
    $('.form-panel.one').addClass('hidden'); 
    $('.form-panel.two').addClass('active'); 
    $('.form').animate({'height': panelTwo 
    }, 200); 
}); 

$('.form-toggle').on('click', function(e) { 
    e.preventDefault(); 
    $(this).removeClass('visible'); 
    $('.form-panel.one').removeClass('hidden'); 
    $('.form-panel.two').removeClass('active'); 
    $('.form').animate({ 
    'height': panelOne 
    }, 200); 
}); 

});

+1

Haben Sie Ihre Fehlerprotokolle überprüft? Es hilft, den Fehler zu erkennen, wenn man versucht herauszufinden, was schief gelaufen ist. –

+1

debuggen Schritt für Schritt. nicht die ganze Sache auf einmal – rtfm

+0

Vielleicht etwas mit Javascript zu tun? Ich habe zwei Elternteil-Divs, die sich gegenseitig überlappen, eines ist ausgeblendet (Registrierungsformular), bis ein Panel angeklickt wird und setzt div aktiv, um oben auf dem Login-Formular zu erscheinen. Die Schaltfläche "Un-hidden div's" (Anmeldeformular) "submit" funktioniert, aber die Schaltfläche "submit" (Senden) der zweiten Formulare funktioniert nicht. – Tomble

Antwort

0
$('.form-panel.two').not('.form-panel.two.active').on('click', function(e) { 
/*e.preventDefault(); --> it looks like this is what is preventing your form submission but it is hard to tell without the full file and error log */ 
$('.form-toggle').addClass('visible'); 
$('.form-panel.one').addClass('hidden'); 
$('.form-panel.two').addClass('active'); 
$('.form').animate({'height': panelTwo 
}, 200); 
}); 
+0

Aus gutem Grund! Ur ein Champion, danke Kumpel. – Tomble

+0

überhaupt kein Problem :) – Solor