Clear-Text

hi

how can TextFied of Form (methode=POST) do Clear-text ??

thanks

Hi @n-r

What did you mean Clear-text?

Do you want the textfield set to empty? (on create/update scenario) ?

What model you are using CActiveRecord or CFormModel ?

hi

i have 1 LoginForm, i want to when do submit , on FIREBUG, Net tab, Post tab ,Not shown:

username= admin

password=123,

is shown:

password=’ ’

ok?

my model is CFormModel.

thanks.

Hi you could use


echo $form->passwordField($model,'password');

but in firefbug you can’t hide the password value

You could use javascript to encrypt the value and decrypt on the server or using https protocol

Inform me If you want a way to enctrypt the value :)

ok, this my code:

VIEW : login form





<script language="javascript" type="text/javascript">

  function doChallengeResponse() {

    str = document.login_form.LoginForm[sid].value.toLowerCase() + ":" +

    sha256_digest(document.login_form.LoginForm[password].value) + ":" +

    document.login_form.challenge.value;

    document.login_form.LoginForm[password].value = "";

    document.login_form.challenge.value = "";

    document.login_form.response.value = sha256_digest(str);

    return false;

  }

</script>


<div class="form">

    <?php // echo $e;  ?>

<?php $form=$this->beginWidget('CActiveForm', array(

	'id'=>'login_form',

	'enableClientValidation'=>true,

	'clientOptions'=>array(

		'validateOnSubmit'=>true,

	),

)); ?>


	<p class="note">Fields with <span class="required">*</span> are required.</p>


	<div class="row">

		<?php echo $form->labelEx($model,'username'); ?>

		<?php echo $form->textField($model,'sid'); ?>

		<?php echo $form->error($model,'sid'); ?>

	</div>


	<div class="row">

		<?php echo $form->labelEx($model,'password'); ?>

		<?php echo $form->passwordField($model,'password'); ?>

		<?php echo $form->error($model,'password'); ?>

		<p class="hint">

			Hint: You may login with <kbd>demo</kbd>/<kbd>demo</kbd> or <kbd>admin</kbd>/<kbd>admin</kbd>.

		</p>

	</div>

        

      

        





	<div class="row buttons">

		<?php echo CHtml::submitButton('login',array('click'=>"doChallengeResponse()")); ?>

	</div>

    <input type="hidden" name="challenge" id="challenge" value="<?php echo($challenge); ?>" />


    <input type="hidden" name="response" id="response" value="" />

<?php $this->endWidget(); ?>

</div><!-- form -->




and CONTROLLER:




 $callenge=  sha1(uniqid(mt_rand(),TRUE));

 $this->render('login',array('model'=>$model,'challenge'=>$callenge));



but, not working!!!

plz help me

thanks very very much

Hi @n-r

What exactly does not working?

I thing doChallengeResponse have to returns true.

Check all issues by firebug ant what is transfered throught network by post or get method

Post the result to help you :)

hi, thanks for your repply.

function javascript Does not apply.

Did you solve the problem?

If you did it Please post the solution to sharing with other members :)

My problem is still not resolved… function javascript not call !!!

Hi again @n-r

Try this, I didn’t checked it but you can check it step by step. Check also the firebug javascript console for errors


 <?php echo CHtml::submitButton('login',array('id'=>'mylogin')); 

 

 Yii::app()->getClientScript()->registerScript("beforesubmit","

           $('#mylogin').click(function(){

					alert('before login form submit');

                    str = document.login_form.LoginForm[sid].value.toLowerCase() + ':' +

					sha256_digest(document.login_form.LoginForm[password].value) + ':' +

					document.login_form.challenge.value;

					document.login_form.LoginForm[password].value = '';

					document.login_form.challenge.value = '';

					document.login_form.response.value = sha256_digest(str);

					return true;

           });

    ");

	

?>