Проблем с регистрационна форма

pacata92

Registered
Здравейте ,
Моля за помощ ,защото нещо немога да се оправя
така първо проблемът е ,че при регистрация не се пращат данните до sql базата данни и всъщност не знам защо .Интерестното е че ,когато попълниш данните и се натисне бутона сайтът препраща към dashboard. Mожеш да ползваш функциите и всичко останало ,но не си записан в базата данни и следователно не можеш да влезнеш отново с тези данни.
Благодаря Предварително за помоща
П.С линк към кода давам към pastebin
http://pastebin.com/r7At10cS
 
Вкарай заявките в if-ове, да видиш дали работят. mysqli_query() трябва да ти върне true, ако всичко е ок.
 
Просто се научете да си вадите грешките по правилния начин. Какви са тези ифове и глупости.

PHP:
mysqli_query(...) or die(mysqli_error($con));

като $con трябва да ти е променливата съдържаща връзката с базата данни, т.е.

PHP:
$con = mysqli_connect(...);

Като направиш това, кажи дали ти вади грешка на екрана.
 
pix3l каза:
Ти напиши die() в production, пък да видим дали тим лидера няма да те изгони... :D

Ти като правиш нещо, директно в production ли го пускаш? Много жалко. Когато нещо се разработва, абсолютно всички грешки трябва да са включени и да са на лице, за да може програмиста да установи от къде точно идва проблема. И хайде кажи ми, при иф-а, като му изведе false какво правим ? Почваме да се чудим къде точно е проблема в заявката ли?

А когато се пуска в production просто се прави един logger и си логваш грешките.

Проблема на ифовете е, че няма да ти върне точно грешката, освен ако все пак не я изведеш. Но да правиш иф и да следиш само за true и false е пълна глупост.
 
Revelation каза:
pix3l каза:
Ти напиши die() в production, пък да видим дали тим лидера няма да те изгони... :D

Ти като правиш нещо, директно в production ли го пускаш? Много жалко.
Не, но и не ползвам die(), щото изобщо не се класира в листата с "правилните начини за вадене на грешки". :D
 
На PDO-то е много удобна опцията ATTR_ERRMODE_EXCEPTION - http://php.net/manual/en/pdo.error-handling.php

Хвърля си exception където си ще, а го прихващаш където трябва. Стои изолирано и не ти се бърка в кода със заявките.
 
anonimen каза:
На PDO-то е много удобна опцията ATTR_ERRMODE_EXCEPTION - http://php.net/manual/en/pdo.error-handling.php

Хвърля си exception където си ще, а го прихващаш където трябва. Стои изолирано и не ти се бърка в кода със заявките.

Има много варианти на по-добро структуриране за прихващане на грешки, но на дадения код няма смисъл да му се обясняват неща, които на първо време няма да може да схване.

Така или иначе, за да види грешката трябва да блокира кода след заявката, за да прекъсне изпълнението на редиректа. Дали ще го направи по моя начин или с иф все тая, но така или иначе в иф-а или трябва да сложи код, който да блокира изпълнението надолу или да сложи вътре изпълнението на редиректа, за да е сигурен, че щом го е прехвърлило, значи заявката се е изпълнила, но пък, ако не се изпълни, ще трябва да изведе по някакъв начин грешката така или иначе.

Аз му дадох най-простия вариант, за да може, ако върне някаква грешка да я види и да я постне тука, а не само да установи дали минала заявката, или не. Та някои хора взеха да ми се плюнчат за единия die() и да ръсят глупости на търкалета без покритие.
 
Аз му дадох най-простия вариант, за да може, ако върне някаква грешка да я види и да я постне тука, а не само да установи дали минала заявката, или не. Та някои хора взеха да ми се плюнчат за единия die() и да ръсят глупости на търкалета без покритие.

Определено за разни дребни примери изречението "Do a mysql query or die!" е най-удобно.
А ако ще говорим за правилен код то изобщо няма да ползва директно mysqli-функциите и няма да възникват подобни теми. Така че наистина някои коментари по-горе са по-остри от необходимото :)
 
anonimen каза:
Аз му дадох най-простия вариант, за да може, ако върне някаква грешка да я види и да я постне тука, а не само да установи дали минала заявката, или не. Та някои хора взеха да ми се плюнчат за единия die() и да ръсят глупости на търкалета без покритие.

Определено за разни дребни примери изречението "Do a mysql query or die!" е най-удобно.
А ако ще говорим за правилен код то изобщо няма да ползва директно mysqli-функциите и няма да възникват подобни теми. Така че наистина някои коментари по-горе са по-остри от необходимото :)
Остри, щото се изказва неподготвен. Да си маже неговия си код с die() и да не обърква другите с подобни глупости, щото някой може да му се върже.
 
pix3l каза:
anonimen каза:
Аз му дадох най-простия вариант, за да може, ако върне някаква грешка да я види и да я постне тука, а не само да установи дали минала заявката, или не. Та някои хора взеха да ми се плюнчат за единия die() и да ръсят глупости на търкалета без покритие.

Определено за разни дребни примери изречението "Do a mysql query or die!" е най-удобно.
А ако ще говорим за правилен код то изобщо няма да ползва директно mysqli-функциите и няма да възникват подобни теми. Така че наистина някои коментари по-горе са по-остри от необходимото :)
Остри, щото се изказва неподготвен. Да си маже неговия си код с die() и да не обърква другите с подобни глупости, щото някой може да му се върже.

Нека си пере ифовете на ауторедиректа, па нека се чуди от къде идва проблема. Като се изказваш поне му обясни от-до нещата как стоят и как да се справи. Не да му казваш "удари един иф да видиш заявката дали ще ти върне true". Представям си колко време ти трябва да установиш грешката с true и false.
Няма какво да споря повече. Чети преди да се изказваш. ;)
 
Revelation каза:
pix3l каза:
anonimen каза:
Определено за разни дребни примери изречението "Do a mysql query or die!" е най-удобно.
А ако ще говорим за правилен код то изобщо няма да ползва директно mysqli-функциите и няма да възникват подобни теми. Така че наистина някои коментари по-горе са по-остри от необходимото :)
Остри, щото се изказва неподготвен. Да си маже неговия си код с die() и да не обърква другите с подобни глупости, щото някой може да му се върже.

Нека си пере ифовете на ауторедиректа, па нека се чуди от къде идва проблема. Като се изказваш поне му обясни от-до нещата как стоят и как да се справи. Не да му казваш "удари един иф да видиш заявката дали ще ти върне true". Представям си колко време ти трябва да установиш грешката с true и false.
Няма какво да споря повече. Чети преди да се изказваш. ;)
Очевидно си писал единствено на PHP. Нямам намерение да те уча как се програмира качествено, пиши си die() и да не ти пука... то като толкова си можеш, никой не може да ти помогне. :D
 
pix3l каза:
Revelation каза:
pix3l каза:
Остри, щото се изказва неподготвен. Да си маже неговия си код с die() и да не обърква другите с подобни глупости, щото някой може да му се върже.

Нека си пере ифовете на ауторедиректа, па нека се чуди от къде идва проблема. Като се изказваш поне му обясни от-до нещата как стоят и как да се справи. Не да му казваш "удари един иф да видиш заявката дали ще ти върне true". Представям си колко време ти трябва да установиш грешката с true и false.
Няма какво да споря повече. Чети преди да се изказваш. ;)
Очевидно си писал единствено на PHP. Нямам намерение да те уча как се програмира качествено, пиши си die() и да не ти пука... то като толкова си можеш, никой не може да ти помогне. :D

Точно така, няма смисъл. Постовете във всички форуми са ти само философски, без смислено обяснение по въпроса. Така че няма нужда да се уча от философи. Като си знаеш, знай си. Казах, че няма какво да споря повече с теб. Разбрах, че си най-добрия програмист на света, който оправя бъгове с true и false, и който работи само и единствено в production.

Много мога да споря с теб, но не ми се ще да получавам забележки, заради теб. Очевидно си се захванал само и единствено за die() и си решил, че аз така си оправям проблемите.

И не, не пиша само на PHP, но съди хората, както си искаш - избора е твой. Следващия път поне като отговаряш, се обославяй подробно - ако знаеш какво говориш въобще.
 
Revelation каза:
pix3l каза:
Revelation каза:
Нека си пере ифовете на ауторедиректа, па нека се чуди от къде идва проблема. Като се изказваш поне му обясни от-до нещата как стоят и как да се справи. Не да му казваш "удари един иф да видиш заявката дали ще ти върне true". Представям си колко време ти трябва да установиш грешката с true и false.
Няма какво да споря повече. Чети преди да се изказваш. ;)
Очевидно си писал единствено на PHP. Нямам намерение да те уча как се програмира качествено, пиши си die() и да не ти пука... то като толкова си можеш, никой не може да ти помогне. :D

Точно така, няма смисъл. Постовете във всички форуми са ти само философски, без смислено обяснение по въпроса. Така че няма нужда да се уча от философи. Като си знаеш, знай си. Казах, че няма какво да споря повече с теб. Разбрах, че си най-добрия програмист на света, който оправя бъгове с true и false, и който работи само и единствено в production.

Много мога да споря с теб, но не ми се ще да получавам забележки, заради теб. Очевидно си се захванал само и единствено за die() и си решил, че аз така си оправям проблемите.

И не, не пиша само на PHP, но съди хората, както си искаш - избора е твой. Следващия път поне като отговаряш, се обославяй подробно - ако знаеш какво говориш въобще.
Не ми пука за die(), ти реши да правиш забележки!
Какво да се обосновавам? http://php.net/manual/en/mysqli.query.php Тук ясно си пише - в случай на "INSERT" ще върне true или false, на никой не му пука каква е грешката, а само дали заявката е минала или не. Грешките се обработват на друго място, където се предполага, че се държи връзката.
 
pix3l каза:
Revelation каза:
Не ми пука за die(), ти реши да правиш забележки!
Какво да се обосновавам? http://php.net/manual/en/mysqli.query.php Тук ясно си пише - в случай на "INSERT" ще върне true или false, на никой не му пука каква е грешката, а само дали заявката е минала или не. Грешките се обработват на друго място, където се предполага, че се държи връзката.

Не го обяснявай на мен това. Аз обясних защо дадох това решение, но ти даже не си си направил труда да прочетеш.
Хайде тогава обясни на прост език на човека как се хващат и обработват грешки. Според мен, за да му помогнеш, ще ти трябва да му напишеш няколко урока по този въпрос, за да може да се научи да пише правилно код и съответно да прихваща грешки.
Но как ще му помогнеш, когато при true и false, на следващия си пост ще ти напише "Еми изписа ми false, какво да правя?".

Приеми, че трябва да разбереш човека отсреща на какво ниво е, за да му помогнеш, а не да се правиш на голяма работа и да ми казваш колко грешен подход е die().
Идеята ми беше, ако върне грешка, да изпише грешката, защото информацията, която е дал в първия си пост е оскъдна.

Не знам по какъв начин трябва да го напиша вече, че да разбереш какво се опитвам да кажа.
 

Back
Горе