Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият.
Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание.
Използваме бисквитки и за измерване на маркетинговите ни усилия.
Ако беше пуснал малко код може би щеше да е по-лесно :)
Пробвай
$data = $form->getData();
Това ще ти сложи данните от формата в масив и можеш да си попълниш пропъртитата на ентити-то.
Другият вариант е
$form->handleRequest($request);
if($form->isValid()) {
$em->persist($entity-to);
$em->flush();
}
на този етап с пълна дезинформация - толкова :)
Успех!
Въпросът ми е как да разгранича кой от 2та формуляра се използва. За момента имам html-a готов. http://pastebin.com/kCEmmh0v Искам да разгранича коя е register и коя е login, за да може да се изпълняват различни действия.
Нека тогава POST-ват към различни route-ове, така ще имаш по метод за всеки.
Сложи им различни action-и или ако двете форми пращат към същата страница сложи name=" " на събмит бутона
<button type="submit" name="register">Register</button>
<button type="submit" name="login">Login</button>
После
if($request->request->get("login")) {} или if($request->request->get("register")) {}
Здравейте, ще се опитам да обясня проблема по-точно. С TheRedShoko Имаме modul форми - регистрация и логин, които са с отделни view-ta и с различни пътища. Проблемът е, че когато натиснеме логин бутона за излизане на формата то презарежда страницатаи така малко се обезсмисля модула. Ще кача част от кода и една снимка, за да ви стане по-ясно. Наистина се надяваме на помощта ви, благодарим!
index.view
login.view
SecurityController - login function
А какъв се предполага, че трябва да е очакваният резултат :)
Подхода ви е изцяло грешен ако съм разбрал правилно.
Ако искате да имате 2 форми на 1 страница, който да се скриват или показват при натискане на бутон то и 2те форми трябва да са ренд-нати в едно вю и да са скрити. Тогава при натискане на бутон за логин / регистрация се извикна JS който да покаже правилната форма.
За да не презарежда страницата замени href атрибута от линковете в index с "#"
Ако не съм разбрал правилно, обяснете по-подробно :)
b.yordanov е абсолютно прав. Вчера точно това направих, сложих логин формата в Index.view и я зареждам с onclick и тя си излиза без проблем. Самият подход ми беше грешен, защото аз задавах логин-а с различно url и затова презареждаше. На всички сайтове с подобни изкачащи прозорци урл-то не се променя, точно защото най-вероятно са в едно view... Сега обаче регистрацията ми прави проблеми, нея не мога да направя. Когато я преместя в index view и я заредя с onclick Ми излиза следният проблем: "Variable "form" does not exist in musicshare\index.html.twig at line 31.".
index.html
Пробрах и така но пак не става...
За да използваш формата трябва да я подадеш като параметър към view-то през контролера.
Т.е. да използваш 2 форми в едно view трябва и двете да са подадени като параметър.
SecurityController {
public function someAction() {
$loginForm = $this->createForm()...
$registrationForm = $this->createForm()...
return $this->render('view.html', array('login_form' => $loginForm->createView(), 'registration_form' => $registrationForm->createView()));
}
}
Когато извикваш {{form_start()}} името трябва да отговаря на името на параметъра, който подаваш към вю-то.
{{form_start(login_form)}}
{{form_start(registration_form)}}
Понеже преди бяха в отделни view-та формите са подадени като параметър в 2 различни контролера, както беше с проекта на който се учиххме, демек SecurityController и UserController. В SecurityController въобще не създавам формата, защото тя си е само за регистрация. А UserControllera е направен така както ми го описваш. Един вид сега трябва да ги вместя 2-те функции в един контролер, така ли?! Ето пример както е в момента:
SecurityController
UserController
UserType
В UserController правиш например
indexAction() {
//тук създаваш логин формата по начинът, по който си я създаваш по принцип
$loginForm = $this->createForm();
//тук създаваш рег формата по начинът, по който си я създаваш по принцип
$registrationForm = $this->createForm();
return $this->render('view.html', array('login_form' => $loginForm->createView(), 'registration_form' => $registrationForm->createView()));
}
SecurityController -> loginAction()-a го махни, не ти трябва
UserController -> Тук вече имаш indexAction() , във вю-то на който подаваш 2те форми като параметри и след това в самото вю си ги извикваш с
{{form_start(login_form)}} & {{form_start(registration_form)}} - тук съм спестил целия код за формите, сам ще си ги оправяш
Сега след като имаш 2те форми във вю-то трябва да им сетнеш правилния action към който се събмитват - за логин и регистрация.
Направих регистрацията по следния начин и стана:
Благодаря за помощта!