Jump to content
php.lv forumi

POST data salikt ieksh input


Toms

Recommended Posts

Nu vot, man ir forma ar dazhiem input laukumiem. Teiksim logins, parole, e-pasts.

 

Ja lietotaajs nospiedzh submit, un paroles nesakriit, tad visi inputi iztukshojas. Man vajag taa, lai logins un e-pasts (ja ierakstiiti), lai paliek shaadas kljuudas gadiijumaa.

 

form post nav noraadiits - tjipa notiek uz to pashu lapu, kuraa atrodas forma.

 

Optimaalaakais veids, kaa shito joku nodroshinaat?

 

JavaScript/PHP...?

 

 

buca jau ieprieksh! :)

Link to comment
Share on other sites

Nu vot,  man ir forma ar dazhiem input laukumiem. Teiksim logins, parole, e-pasts.

 

Ja lietotaajs nospiedzh submit, un paroles nesakriit, tad visi inputi iztukshojas. Man vajag taa, lai  logins un e-pasts (ja ierakstiiti), lai paliek shaadas kljuudas gadiijumaa.

 

form post nav noraadiits - tjipa notiek uz to pashu lapu, kuraa atrodas forma.

 

Optimaalaakais veids, kaa shito joku nodroshinaat?

 

JavaScript/PHP...?

buca jau ieprieksh! :)

14124[/snapback]

 

Vislabāk šo jautājumu risināt, protams, ir, izmantojot JavaScript!

Izveido nosacijumu, kas notiek, gadijuma ja ieraksta nepareizu loginu vai paroli vai nav ierakstits e-pasts, tas nu individuali ka tev vajag, vienkarshi nepareizuma gadījumā izlec alert("Jūs ievadījāt nepareizu...");

 

<script language="JavaScript">

function hex_md5(value_){

return binl2hex(core_md5(str2binl(value_), value_.length * chrsz)); //shita funkcija neizpildas, te ir japamekle interneta kada funkcija, kas stringu parversis md5 stringa!

}

 

 

function checkFormValues() {

var realPasswd = '3222fc5d647cc74109ef0ff05163e9d8'; //md5 no paroles, shoreiz "ezelis"

if (document.forma.passwd.value != '') {

var password = document.forma.passwd.value;

var submitPasswd = hex_md5(password);

}

if (document.forma.user.value == 'Toms') {

alert("Nepareizs username!!! Pareizi jābūt 'Toms'!");

return false;

}

if (document.forma.email.value=='') {

alert("Ieraksti vismaz kautko tai email lauciņā!");

return false;

}

if (submitPasswd != realPasswd) {

alert("Nepareiza parole!");

return false;

}

return true;

}

</script>

 

<form name="forma" onSubmit="return checkFormValues()">

<input type="text" name="user">

<input type="text" name="email">

<input type="password" name="passwd">

<input type="submit" name="submit" value="submit">

</form>

 

Nu koroče, nav jau gluži pareizs tas kods, ko uzrakstīju, bet nu ideju saprati! :)

Edited by Robis
Link to comment
Share on other sites

Vislabāk šo jautājumu risināt, protams, ir, izmantojot JavaScript!

Izveido nosacijumu, kas notiek, gadijuma ja ieraksta nepareizu loginu vai paroli vai nav ierakstits e-pasts, tas nu individuali ka tev vajag, vienkarshi nepareizuma gadījumā izlec alert("Jūs ievadījāt nepareizu...");

Kā gan JS var zināt kādu lietotāju un paroli klients ievadīs???? Proti kā gan tu vari skriptā uzģenerēt formas md5 hašu no paroles un lietotāja usernami ja nav zināms kurš no 100 useriem logojas?!

 

Līdz ar to šis te, piedodiet man, ir galīgi garām, jebšu viena lietotāja loginforma

var realPasswd = '3222fc5d647cc74109ef0ff05163e9d8'; //md5 no paroles, shoreiz "ezelis"

if (document.forma.user.value == 'Toms') {

 

 

Ar JS var veikt pārbaudi vai formā ir aizpildīti kaut kādi lauki vispār, pie kam korekti manuprāt ir mest vienu alertu nevis uz katru tukšo lauku.

Piemēram:

 

<script type="text/javascript">
function checkFields() 
{
missinginfo = "";

if (document.getElementById('from_name').value == "") {
missinginfo += "\n     -  Tavs vārds";
}

if (document.getElementById('from_mail').value == "") {
missinginfo += "\n     -  Tavs e-pasts";
}
if (missinginfo != "") {
missinginfo ="Jūs neaizpildījāt šādus laukus:\n__________________________________\n" +
missinginfo + "\n__________________________________\n" +
"Lūdzu ievadiet nepieciešamo informāciju un apstipriniet!";
alert(missinginfo);
return false;
}
else return true;
}
</script>

<form onSubmit="return checkFields();">  	
<input id="from_name" name="from_name" />
<input id="from_mail" name="from_mail" />

 

Piekam lūgšu ja reiz kādam tiek mēģināts palīdzēt, tad instrukcijas/kodu tomēr pacensties raksīt pareizi un ne ar komentāriem:

Nu koroče, nav jau gluži pareizs tas kods, ko uzrakstīju, bet nu ideju saprati!
Link to comment
Share on other sites

Ok, ja tie lietotāji ir padaudz (vairāk par dažiem desmitu), tad tiešām tomēr labāk ir izmantot php, lai tā lapa pārlādējas, toties nebūt jālādē garš javascript, kas varētu saturēt info par visiem lietotājiem.

14134[/snapback]

Nevis labāk, bet tikai un vienīgi php! Kāpēc lietotājam būtu jādod iespēa uzzināt paroļu md5 hešu? Tas tak galīgi garām.
Link to comment
Share on other sites

Vienīgais, diez vai kaut ko viņš no tā md5 heša daudz uzzinās :)

14149[/snapback]

 

nesak, nesak - 5simbolu paroles hashu var salīdzināt mazāk nekā 4 minūtēs + ir daudzas "dictionary" veida datu bāzes, kurās apkopoti visviežāk sastopamas paroles (qwerty, 12345, god utml.)

Link to comment
Share on other sites

Aha, pamuljkjis, aizmirsu googlee apskatiities, srazu maucu te...

 

Nu lai citiem paliek, tad:

 

The difference between $HTTP_POST_VARS and $_POST (or $HTTP_GET_VARS and $_GET or $HTTP_COOKIE_VARS and $_COOKIE, etc) is twofold:

 

1) $_POST et al (the superglobals) were added as of PHP 4.2 so they can't be used if you are running an earlier version.

2) $_POST is global whereas $HTTP_POST_VARS is not. This means that $_POST is automatically accessible within your user-defined functions.

 

If you are running PHP 4.2 and later, there's really no reason for you to use $HTTP_POST_VARS and its brethen. Presumably PHP may phase these out since the superglobals are now available. Besides, $_POST is much easier to type.

 

 

 

 

Bucas!! :)

Link to comment
Share on other sites

ar shaadiem input laukiem es taisu taa:

 

ieliek formaa shito input lauku kur value ir tas sanjemtais/ievadiitais niks

 

kad nospiezz uz pogas aiziet uz to lapu un sanjem mainiigo $niks

 

<?

$submit=$_POST["pogas_name"];

if (isset($submit)){

$niks=$_POST["niks"];

}

?>

<input name="niks" value="<?=$niks?>">

 

nu kaut kaa taa..

Link to comment
Share on other sites

$niks=$_POST["niks"];

 

kam tev lieks mainīgais, + kods varētu būt neizturīgs pret E_ALL

 

Have a look at:

$lauki=array('name','surname','e-mail',..);
$jabut=array('name','e-mail');

if (isset($_POST['submit']))
{
$turpinat=true;
while($lauks=array_pop($jabut))
 if (empty($_POST[$lauks]))
  $turpinat=false;
if ($turpinat)
{
 $query='INSERT into tabula SET '
 $tmp=array();
 foreach($lauki as $lauks)
  if (isset($_POST[$lauks]))
   $tmp[]='`'.$lauks."`='".mysql_escape_string($_POST['lauks'])."'";
 $query.=implode(',',$tmp);
 mysql_query($query);
}
}

foreach($lauki as $lauks)
echo '<input name="'.$lauks.'" value="'.(isset($_POST[$lauks])?htmlspecialchars($_POST[$lauks]):'').'" />';

Link to comment
Share on other sites

×
×
  • Create New...