Zadejte hledaný výraz...

Problém při změně přihlašovacích údajů

Danno18
verified
rating uzivatele
22. 3. 2014 13:22:25
Dobrý den, měl jsem již dříve jeden dotaz ohledně divů. Děkuji za odpovědi a pomoc všech, kteří mi tam odepsali.
Měl bych ještě jeden dotaz ohledně jednoho problému, ale nevím zda-li mi tady poradíte. Mám rubriku nastavení účtu a zde se mění heslo pro vstup do portálu. Bohužel jsem ale nyní přišel na to, že i když zadávám správné údaje pro změnu tak mi to vypíše chybu, že zadávám údaje špatné. Nevíte co stím?
Nastavení účtu


» V níže uvedeném formuláři můžete změnit své přístupové heslo.

» To provedete tak, že jednoduše vyplníte formulář a kliknete na tlačítko změnit.

» Automaticky proběhne změna hesla a při dalším přihlášení budete zadávat toto nové přístupové heslo.


if (isset($_POST) and $_POST=="send") {
send();
} else {
change();
}
//switch ($action){
//case "send":
//send();
//break;
//default:
//change();
//break;
//}
function change(){
?>
Přihlašovací jméno
Email
Staré heslo
Nové heslo
Potvrzení nového hesla
}
function send(){
$prihlasovaci_jmeno=$_POST;
$email=$_POST;
$stare_heslo=$_POST;
$nove_heslo=$_POST;
$potvrzeni_noveho_hesla=$_POST;
if (strlen($prihlasovaci_jmeno) < 1 || strlen($email) < 1 || strlen($stare_heslo) < 1 || strlen($nove_heslo) < 1 || strlen($potvrzeni_noveho_hesla) < 1) {
echo "
Údaje nejsou správně uvedené, prosím zkontrolujte je! Zpět











";
}elseif($nove_heslo != $potvrzeni_noveho_hesla){
echo "
Nové heslo se neshoduje s potvrzením nového hesla! Zpět











";
}else{
require_once("config2.php");
mysql_select_db("d63561_db2");
$exec="select prihlasovaci_jmeno from uzivatele where prihlasovaci_jmeno = '$_POST' and prihlasovaci_heslo = md5('$_POST') and email = '$_POST'";
$result=mysql_query($exec);
$rs=mysql_fetch_object($result);
if($rs){
$exec="update uzivatele set prihlasovaci_heslo=md5('$nove_heslo') where prihlasovaci_jmeno='$_POST'";
mysql_query($exec);
//echo $exec;
//echo mysql_error();
echo "
Heslo bylo úspěšně změneno! Zpět na hlavní stranu


























";exit;
}else{
echo "
Přihlašovací jméno, přihlašovací heslo nebo email jste špatně zadali! Zpět


























";exit;
}
}
}
?>
22. 3. 2014 13:22:25
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008455
Kterou hlášku skript vypíše?
22. 3. 2014 17:44:36
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008454
Danno18
verified
rating uzivatele
22. 3. 2014 18:08:50
Údaje nejsou správně uvedené, prosím zkontrolujte je!
22. 3. 2014 18:08:50
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008453
iTerminator
verified
rating uzivatele
(9 hodnocení)
22. 3. 2014 18:24:39
Hádám, že v tý podmínce chceš ověřit, zda-li uživatel něco vepsal, dělá se to pomocí funkce empty().
if(empty($email)){
echo "Email nebyl zadán!";
}
V případě, že je proměnná prázdná, null či false, tak to hodí true, v případě že není prázdná, to vyhodí false.
22. 3. 2014 18:24:39
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008452
bof
verified
rating uzivatele
22. 3. 2014 18:26:38
Nevím ale v tomhle bordelu ti chybu rozodně hledat nebudu. Zkus nejdříve pouvažovat než začneš něco takového programovat o struktuře aplikace a alespoň částečně ji rozdělit na templaty a aplikační logiku. Tenhle SKRIPT doslova SKRIPT je ztráta času ladit natož to dále rozvíjet, protože se to stane neudržitelným. Pokud si rozdělíš aplikační logiku a templaty, bude se ti snáze hledat chyba. Nejlépe by bylo, začít studovat OOP který tě naučí věci rozdělovat.
A ne je psát vše do jedné kupy. Tzn. debug a chyba je v návrhu struktury.... ( i když aktuálně je někde jinde přepracuj to tohle, není na opravu.... )
---------- Příspěvek doplněn 22.03.2014 v 18:27 ----------
Napsal iTerminator;1070810
Hádám, že v tý podmínce chceš ověřit, zda-li uživatel něco vepsal, dělá se to pomocí funkce empty().
if(empty($email)){
echo "Email nebyl zadán!";
}
V případě, že je proměnná prázdná, null či false, tak to hodí true, v případě že není prázdná, to vyhodí false.
V tomhle případě je to opravdu jedno. Strlen ověří délku řetězce, takže v podstatě to samé navíc tvrdí že údaje zadá správně ( tudíž dle mého všechny ).
Navíc mu tam chybí validace $_POST, pokud není odesláno nic, tak tam bude notice, jak ale říkám prohlížet tohle je stráta času, nejdříve by se měl poohlédnout po OOP nebo alespoň zauvažovat o rozdělení aplikační části od template..
22. 3. 2014 18:26:38
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008451
Danno18
verified
rating uzivatele
22. 3. 2014 18:30:57
Napsal iTerminator;1070810
Hádám, že v tý podmínce chceš ověřit, zda-li uživatel něco vepsal, dělá se to pomocí funkce empty().
if(empty($email)){
echo "Email nebyl zadán!";
}
V případě, že je proměnná prázdná, null či false, tak to hodí true, v případě že není prázdná, to vyhodí false.
Ahoj, díky za odpověď. Nene toto nepotřebuji, chyba je v tom, že když zadám špatné údaje vyhodí to chybu: Údaje nejsou správně uvedené, prosím zkontrolujte je!
Což je správně, ovšem ono to vyhodí i když jsou údaje správné.
22. 3. 2014 18:30:57
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008450
iTerminator
verified
rating uzivatele
(9 hodnocení)
22. 3. 2014 18:31:34
Nemyslím si, že je to jedno, je to více elegantní a strlen nebude vždy fungovat správně. Dejme tomu, že uživatel vyplní mezerník, strlen vrátí 1 a script bude pokračovat, empty bere jako prázdné null, false, " " a 0.
22. 3. 2014 18:31:34
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008449
Danno18
verified
rating uzivatele
22. 3. 2014 18:33:23
Napsal bof;1070811
Nevím ale v tomhle bordelu ti chybu rozodně hledat nebudu. Zkus nejdříve pouvažovat než začneš něco takového programovat o struktuře aplikace a alespoň částečně ji rozdělit na templaty a aplikační logiku. Tenhle SKRIPT doslova SKRIPT je ztráta času ladit natož to dále rozvíjet, protože se to stane neudržitelným. Pokud si rozdělíš aplikační logiku a templaty, bude se ti snáze hledat chyba. Nejlépe by bylo, začít studovat OOP který tě naučí věci rozdělovat.
A ne je psát vše do jedné kupy. Tzn. debug a chyba je v návrhu struktury.... ( i když aktuálně je někde jinde přepracuj to tohle, není na opravu.... )
---------- Příspěvek doplněn 22.03.2014 v 18:27 ----------
V tomhle případě je to opravdu jedno. Strlen ověří délku řetězce, takže v podstatě to samé navíc tvrdí že údaje zadá správně ( tudíž dle mého všechny ).
Navíc mu tam chybí validace $_POST, pokud není odesláno nic, tak tam bude notice, jak ale říkám prohlížet tohle je stráta času, nejdříve by se měl poohlédnout po OOP nebo alespoň zauvažovat o rozdělení aplikační části od template..
Ahoj, díky za odpověď. Za prvné potřebuju poradit jenom s jednou věcí, takže mi přijde zbytečné tu psát že mám špatně strukturované kody atd.. Za druhé nikdo nechtěl konkrétně tvou pomoc. Takže děkuji za názor, jsou jiní lidé co mi třeba poradí a nebudou závislí na nějaké struktuře.
---------- Příspěvek doplněn 22.03.2014 v 18:35 ----------
Napsal iTerminator;1070815
Nemyslím si, že je to jedno, je to více elegantní a strlen nebude vždy fungovat správně. Dejme tomu, že uživatel vyplní mezerník, strlen vrátí 1 a script bude pokračovat, empty bere jako prázdné null, false, " " a 0.
Ano, ale to stále neopravuje chybu, že když zadá údaje správně tak mu to přesto napíše, že je zadal špatně
22. 3. 2014 18:33:23
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008448
bof
verified
rating uzivatele
22. 3. 2014 18:35:34
Napsal iTerminator;1070815
Nemyslím si, že je to jedno, je to více elegantní a strlen nebude vždy fungovat správně. Dejme tomu, že uživatel vyplní mezerník, strlen vrátí 1 a script bude pokračovat, empty bere jako prázdné null, false, " " a 0.
Neměl jsem na mysli zdali to je lepší nebo ne, ale to že ta VĚC je napsaná celá špatně samozřejmě je lepší empty, a nejlepší samozřejmě regex.
22. 3. 2014 18:35:34
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008447
iTerminator
verified
rating uzivatele
(9 hodnocení)
22. 3. 2014 18:36:14
Co třeba udělat menší test, vypiš si všechny proměnný, který ověřuješ.
---------- Příspěvek doplněn 22.03.2014 v 18:37 ----------
Napsal bof;1070819
Neměl jsem na mysli zdali to je lepší nebo ne, ale to že ta VĚC je napsaná celá špatně samozřejmě je lepší empty, a nejlepší samozřejmě regex.
Regulár na zjištění, zda-li je proměnná prázdná, kde žiješ?
22. 3. 2014 18:36:14
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008446
bof
verified
rating uzivatele
22. 3. 2014 18:39:25
Napsal Danno18;1070816
Ahoj, díky za odpověď. Za prvné potřebuju poradit jenom s jednou věcí, takže mi přijde zbytečné tu psát že mám špatně strukturované kody atd.. Za druhé nikdo nechtěl konkrétně tvou pomoc. Takže děkuji za názor, jsou jiní lidé co mi třeba poradí a nebudou závislí na nějaké struktuře.
---------- Příspěvek doplněn 22.03.2014 v 18:35 ----------
Ano, ale to stále neopravuje chybu, že když zadá údaje správně tak mu to přesto napíše, že je zadal špatně
Na tvojí reakci ti pak mohu napsat jenom tohle:
Pokud máš k programování takový přístup, radši toho nech, protože radu kterou jsem ti dal je 5x cenejší než, oprava toho bordelu co tam máš. Nejde o rozdělení tady v postu. Ale o rozdělení u tebe ve skriptu. A mít přístup k programování "co ty mi tady povídáš, vždyť on se najde nějaký "blbec" který se tím prokouše, už jenom svědčí o tvé lenosti, když už požaduješ pomoc, to ulehčit těm kteří by ti třeba byli ochotni pomoct."
Každopádně jak jsem říkal nahoře, zauvažuj o přepsání dle informací které jsem ti dal, ulehčí to život tobě a jiným také a hlavně tě to mnohému naučí a posune tě to v programování dál pokud to s tím myslíš vážně což zatím vzhledem k tvé reakci si nemyslím...
22. 3. 2014 18:39:25
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008445
Danno18
verified
rating uzivatele
22. 3. 2014 18:39:40
Mám druhý projekt u kterého je zapsán tento zdroják uplně stejně je kompletně skopirovaný, dokonce napojený i na stejnou databázi a ten 1. projekt funguje bez chyby, ale jakmile jsem to vložil do toho nového 2. projektu tak to prostě nejde a zdrojáky jsou přitom totožné.
22. 3. 2014 18:39:40
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008444
iTerminator
verified
rating uzivatele
(9 hodnocení)
22. 3. 2014 18:41:03
Tady končím, nepiš dokud neuděláš ten test a nemysli si, že to za tebe uděláme, jestli si chceš nechat poradit, tak nevybírej rady, které se ti líbí.
22. 3. 2014 18:41:03
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008443
Danno18
verified
rating uzivatele
22. 3. 2014 18:42:13
Já se programováním živit nechci, potřebuji to jednou za život a to v tomhle projektu vše ostatní je udělané a tady chybí opravit jediná chyba. A ty z toho děláš nevím co. Nikdo se tě o radu neprosil, takže díky za tvůj čas a přeji příjemný zbytek víkendu
22. 3. 2014 18:42:13
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008442
bof
verified
rating uzivatele
22. 3. 2014 18:42:37
Napsal iTerminator;1070820
Co třeba udělat menší test, vypiš si všechny proměnný, který ověřuješ.
---------- Příspěvek doplněn 22.03.2014 v 18:37 ----------
Regulár na zjištění, zda-li je proměnná prázdná, kde žiješ?
.... Bez komentáře, přemýšlejte.
? Mluvím o emailu, radíš mu ať proměnné validuje pomocí empty, přitom má chybu již v začátku a to že neověří vůbec existenci daného klíče, pomocí isset a nepřiřadí v případě neexistence klíče NULL..
Ale spíše jsem mluvil o tom že, je to nepodstatné když ta aplikace vypadá jak vypadá.
22. 3. 2014 18:42:37
https://webtrh.cz/diskuse/problem-pri-zmene-prihlasovacich-udaju#reply1008441
Pro odpověď se přihlašte.
Přihlásit