2017-01-13 1 views
1

전 기능으로 작동하는 기본 등록 양식을 만들었습니다. 유일한 문제는 나타나는 오류가 화면 왼쪽 상단에 있고 매우 어색해 보이는 것입니다. 그것과 함께 텍스트 상자에 오류를 표시하는 것과 아무런 관련이없는 것처럼 보입니다. 특정 텍스트 상자에 특정 메시지와 같은 방식으로 툴팁에 오류 메시지가 표시되기를 원합니다.PHP에서 툴팁으로 오류 메시지를 표시하는 방법

사용자가 성공적으로 로그인하면 로그인 페이지로 리디렉션하고 싶지만 내 웹 페이지에서는이 성명서로 인해 사망합니다.

die ("<h2> Welcome</h2>Login to get started..."); 

이 대안도 제공하십시오. 어떤 도움이라도 분명히 감사 할 것입니다.

if ($reg) { 
     if ($em==$em2) { 
     $e_check = mysql_query("SELECT email FROM users WHERE email='$em'"); 
     $checke = mysql_num_rows($e_check); 
     $u_check = mysql_query("SELECT username FROM users WHERE username='$un'"); 
     $check = mysql_num_rows($u_check); 
     if ($check == 0 && $checke == 0) { 
         if ($fn&&$ln&&$un&&$em&&$em2&&$pswd&&$pswd2) { 

      if ($pswd==$pswd2) { 
           if (strlen($un)>25||strlen($fn)>25||strlen($ln)>25) { 
       echo "Username/ First Name/ Last Name cannot exceeds 25 characters!"; 
       } 
       if (strpos($un, " ") !== false){ 
        echo "Your username cannot have a space character."; 
       } 
       if (strpos($em, "@") == false){ 
        echo "Invalid Email"; 
       } 
       else { 
       if(strlen($pswd)>30||strlen($pswd)<5) { 
      echo "Your password must be between 5 and 30 characters long!"; 
       } 
       else{ 
        $pswd = md5($pswd); 
        $pswd2 = md5($pswd2); 
        $query = mysql_query("INSERT INTO users VALUES ('', '$un','$fn','$ln','$em','$pswd','$d','0','Write something about yourself.','','')"); 
        die ("<h2> Welcome</h2>Login to get started..."); 
       } 
       } 
      } 
      else{ 
       echo "Your passwords doesn't match!"; 
      } 
      } 
      else{ 
      echo "Please fill in all the fields"; 
      } 
     } 
     else{ 
     echo Username already taken or Email already registered 
     } 
    } 
    else{ 
     echo "Your E-mails doesn't match"; 
    } 
    } 

HTML : 오류 메시지를 사용자 정의하려면

<form action="#" method="POST"> 
    <input type="text" name="fname" size="25" placeholder="First Name" /> 
    <input type="text" name="lname" size="25" placeholder="Last Name" /><br><br> 
    <div data-tip="Make Sure you remember your username. You'll need it at the time of login. Your username should not have space in between."> 

    <input type="text" name="username" size="56" placeholder="User Name" /></div><br><br> 
    <input type="text" name="email" size="56" placeholder="Email Address" /> 
    <input type="text" name="email2" size="56" placeholder="Please re-enter your Email Address" /><br><br> 
    <input type="password" name="password" size="47" height="30" padding="30" placeholder="Password" /><br><br> 
    <input type="password" name="password2" size="47" height="30" placeholder="Please re-enter your Password" /><br><br> 
    <input type="submit" name="reg" value="Sign Up and learn!" /> 
</form> 
+0

Ajax가 더 좋은 옵션입니다. – Deep

+0

나는 AJAX와 친숙하지 않다. –

+0

'mysql_ *'을 사용하지 않는 것이 좋으며'md5()'는 암호 해싱에 안전하지 않으므로 새로운 친구 *를 많이 확보해야합니다. 대신에'password_hash()'와'PDO' 또는'mysqli_ * '를 사용하십시오. 그 사이에'AJAX'와 친구가되기 시작할 수도 있습니다 :) – Nytrix

답변

0

것은, 말은 그에게 붉은 색 또는 아무것도를 제공합니다. 모든 범위 블록에 클래스를 추가 할 수 있습니다. 클래스의 속성을 지정할 수 있습니다. 당신은 그것을 써도 각 입력 아래에 각각의 고유 ID를 어떤 범위 블록을 추가하고 기본적으로 숨겨져 수

<style> 
.help-block 
{ 
    color: red; 
} 
</style> 

아래에있다. PHP에서
<input type="text" name="fname" size="25" placeholder="First Name" /> 
<span class="help-block" id="fname_block" style="display:none;"></span><br> 

<input type="text" name="lname" size="25" placeholder="Last Name" /> 
<span class="help-block" id="lname_block" style="display:none;"></span><br> 

아래처럼 :

오류가 첫 번째 입력에있는 경우. 즉, fname

echo"<script>document.getElementById('fname_block').innerHTML = 'error in first name'; 
document.getElementById('fname_block').style.display = 'inline'; </script>"; 

또는 오류가 두 번째 입력 (예 : lname) 인 경우. 코드의 getelementById 부분에 해당 입력의 스팬 블록의 ID를 지정하십시오.

오류가없는 경우 스팬 블록을 숨기는 것을 잊지 마십시오. 당신이 JQuery와 (그냥 jQuery 라이브러리를 추가해야합니다)를 사용하는 경우

document.getElementById('fname_block').style.display = 'none'; 

는 코딩 훨씬 간단 할 것입니다.

$('#fname_block').html('error in first name').show(); 

위와 같은 JS 코드

jQuery 코드는 아래처럼 JQuery와의 요소를 숨길 수 있습니다.

$('#fname_block').hide(); 
+0

이 코드를 시도 할 때 오류 메시지가 표시되지 않습니다. –

+0

이것이 작동하지 않습니다 –

+0

실례를 알려주십시오. –

관련 문제