Toms Posted February 24, 2005 Report Share Posted February 24, 2005 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 More sharing options...
Robis Posted February 24, 2005 Report Share Posted February 24, 2005 (edited) 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 February 24, 2005 by Robis Link to comment Share on other sites More sharing options...
Venom Posted February 24, 2005 Report Share Posted February 24, 2005 Robi: WTF? echo '<input name="email" value="'.(isset($_POST['email'])?htmlspecialchars($_POST['email']):'').'"/>' (ja gpc slashing off) protams viss automatizējams ar masīviem Link to comment Share on other sites More sharing options...
Roze Posted February 24, 2005 Report Share Posted February 24, 2005 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 More sharing options...
Robis Posted February 24, 2005 Report Share Posted February 24, 2005 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. Link to comment Share on other sites More sharing options...
bubu Posted February 24, 2005 Report Share Posted February 24, 2005 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 More sharing options...
Robis Posted February 24, 2005 Report Share Posted February 24, 2005 Vienīgais, diez vai kaut ko viņš no tā md5 heša daudz uzzinās :) Link to comment Share on other sites More sharing options...
Venom Posted February 24, 2005 Report Share Posted February 24, 2005 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 More sharing options...
bubu Posted February 24, 2005 Report Share Posted February 24, 2005 Vienīgais, diez vai kaut ko viņš no tā md5 heša daudz uzzinās :) 14149[/snapback] Vienalga, kāpēc lietotājam jāpadod dati, kuri viņam nav vajadzīgi. Tas tak potenciāls drošības caurums! Link to comment Share on other sites More sharing options...
Toms Posted February 24, 2005 Author Report Share Posted February 24, 2005 OK, ko labaak izmantot $HTTP_POST_VARS['login'] vai $_POST['login'] shitajaa kodaa: echo '<input name="email" value="'.(isset($_POST['email'])?htmlspecialchars($_POST['email']):'').'"/>' Link to comment Share on other sites More sharing options...
Venom Posted February 24, 2005 Report Share Posted February 24, 2005 $_POST - tas pirmais bija vecajās php versijās domājams vairs nesastapsi Link to comment Share on other sites More sharing options...
Toms Posted February 24, 2005 Author Report Share Posted February 24, 2005 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 More sharing options...
Venom Posted February 24, 2005 Report Share Posted February 24, 2005 WTF: Bučas? te takš puiši apkārt. Besides, $_POST is much easier to type. vai arī dažam labam paštaisītos teksta redaktors iraid šortkats uz Alt+P (: Link to comment Share on other sites More sharing options...
marz Posted February 24, 2005 Report Share Posted February 24, 2005 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 More sharing options...
Venom Posted February 24, 2005 Report Share Posted February 24, 2005 $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 More sharing options...
Recommended Posts