2013-05-29 3 views
0

Im пытается создать простую регистрационную форму с использованием php с XAMPP (Apache и MYSQL). В настоящее время у меня проблема с моим полем пароля, которое в настоящее время отображает его ввод как чистый текст, вместо этого скрывать его от взгляда.поле ввода эхо-пароля отображается как текст

?php 
$regfields=array("remail"=>"Email","remail2"=>"Re-enter  Email","rusername"=>"Username","rpassword"=>"Password","rpassword2"=>"Re-enter Password","rbiz"=>"BizName","rdesc"=>"Desc"); 
?> 

<html> 
<body> 
<h3>Registration</h3> 
<form action="Login.php" name="RegisterForm" method="post" > 
<table border="0"> 

<?php 

if(isset($errormsg)) 
{ 
    echo"$errormsg"; 
} 

foreach($regfields as $field=>$value) 
{ 

    if($field!=="rdesc") 
    { 
     echo"<tr>"; 
     echo"<td>"; 
     echo"<label for='$field'>$value: </label>"; 
     echo"</td>"; 
     echo"<td>"; 
     echo"<input type='text' name='$field' size='40' maxlength='50' /> </td></tr>"; 

    } 
    else if($field=="remail"||$field=="remail2") 
    { 
     echo"<tr>"; 
     echo"<td>"; 
     echo"<label for='$field'>$value: </label>"; 
     echo"</td>"; 
     echo"<td>"; 
     echo"<input type='text' name='$field' size='40' maxlength='50' /></td></tr>"; 

    } 
    else if($field=="rpassword"||$field=="rpassword2") 
    { 
     echo"<tr>"; 
     echo"<td>"; 
     echo"<label for='$field'>$value: </label>"; 
     echo"</td>"; 
     echo"<td>"; 
     echo"<input type='password' name='$field' size='40' maxlength='50' /></td></tr>"; 

    } 
    else 
    { 
     echo"<tr>"; 
     echo"<td>"; 
     echo"<label for=$field>$value: </label>"; 
     echo"</td>"; 
     echo"<td>"; 
     echo"<input type='text' name='$field' size='300' maxlength='300' style='width:400px;height:100px; \n'/>"; 
     echo"</td>"; 
     echo"</tr>"; 
    } 
} 

?> 
</form> 
</table> 
<input type="submit" name="Button" value="Register" /> 
</body> 
</html> 

Я подозреваю, что моя проблема проистекает из этой линии

echo"<input type='password' name='$field' size='40' maxlength='50' /></td></tr>"; 

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

Буду признателен за любые вводные данные об этом. Спасибо!

+0

ли это показывается на входе в виде текста или после представления ..? –

+0

ваш тег закрывающей формы перед таблицей и отправьте внешнюю форму. Как это будет работать? – Rahul11

+0

Попробуйте выполнить эту строку 'echo '

ответ

2

Оооо проверить это

ниже код Выполняется Все время, кроме случаев, когда поле rdesc. Так исправить код, удалив ! из if($field!=="rdesc")

if($field!=="rdesc") 
    { 
     echo"<tr>"; 
     echo"<td>"; 
     echo"<label for='$field'>$value: </label>"; 
     echo"</td>"; 
     echo"<td>"; 
     echo"<input type='text' name='$field' size='40' maxlength='50' /> </td></tr>"; 

    } 
+0

Хорошо заметили - +1 – allen213

+0

Arghhhh это была такая вопиющая ошибка! Спасибо за вашу помощь –

1

Если вы нашли использование одинарных и двойных кавычек запутанным, попробуйте этот

<?php 
else if($field=="rpassword"||$field=="rpassword2") 
    {?> 

<tr> 
    <td> 
     <label for="<?php echo $field?>"><?php echo $value?>: </label> 
     </td> 
     <td> 
     <input type="password" name="<?php echo $field?>" size='40' maxlength='50' /></td></tr> 
<?php 
    }?> 

Сво не считается хорошим practie эхо HTML внутри PHP

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