2015-12-08 2 views
0

У меня есть функция регистрации в скрипте, и я скопировал ее на новый проект и изменил входы переменных - формы, имена таблиц и баз данных и т. Д., А также скрипт ничего не сделают.Функция регистрации, работающая над одним скриптом, но не другая

Signup.php

<form class="form" action="register.php" method="POST" enctype="application/x-www-form-urlencoded"> 

    <input type="text" value="" placeholder="Username" id="username" name="username" /> 

    <input type="text" value="" placeholder="Email" id="Email" name="Email" /> 

    <input type="password" value="" placeholder="Password" id="password" name="password" /> 

    <input type="submit" id="signin" name="submit" /> 
</form> 

register.php

<?php 
include('connectivity.php'); 

if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to mysqli: " . mysqli_connect_error(); 
    } 
else 
{ 

} 

function newUser() 
{ 

include ('connectivity.php'); 

    $username = $_POST['username']; 
    $username_escaped = mysqli_real_escape_string ($db, $username); 

    $email = $_POST['email']; 
    $email_escaped = mysqli_real_escape_string ($db, $email); 

    $password = sha1($_POST['password']); 
    $password_escaped = mysqli_real_escape_string ($db, $password); 


    $query = "INSERT INTO users (username, email, password) VALUES ('$username_escaped', $email_escaped', '$password_escaped')"; 

    include('connectivity.php'); 
    $data = mysqli_query ($db, $query)or die(mysqli_error($db)); 
    if($data) 
     { 

    } 

} 

function SignUp() 
{ 
    if(!empty($_POST['email'])) 
    { 
     include('connectivity.php'); 
    $query = mysqli_query ($db, "SELECT * FROM users WHERE email = '$_POST[email]'") 
     or die(mysqli_error()); 
     if(!$row = mysqli_fetch_array($query)) 
     { 
      newUser(); 
      echo ("<SCRIPT LANGUAGE='JavaScript'> 
    window.alert('User Registration Successful') 
    window.location.href='login.php'; 
    </SCRIPT>"); 

     } 
     else 
     { 
      echo ("<SCRIPT LANGUAGE='JavaScript'> 
      window.alert('You are already a registered user!') 
      window.location.href='homepage.html'; 
    </SCRIPT>"); 


     } 
    } 

} 
if(isset($_POST['submit'])) 
    { 
    SignUp(); 
} 

?> 

Форма, когда представляется только идет на пустой странице PHP (register.php) - нет сообщений окна предупреждений не поп и перенаправление не происходит.

Этот сценарий отлично работает на моей другой форме, может ли кто-нибудь понять, почему он не работает в этой форме?

Приветствия для чтения!

ответ

4

$_post['email'] Doesnt существует потому, что вы установили атрибут name в "Email"

Edit: Я забыл упомянуть, суть моего ответа. имя и $ _POST чувствительны к регистру, поэтому "email" != "Email"

+0

Если вы посмотрите еще раз, вы увидите, что, да, я поставил имя атрибута по электронной почте –

+1

Он чувствителен к регистру ;) Я отредактировал свой ответ – Dacaspex

0

попробовать это:

$query = mysqli_query ($db, "SELECT * FROM users WHERE email = '$email'") or die(mysqli_error($db)); 
+0

его уже исправленный, спасибо, хотя –

Смежные вопросы