Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Banalny problem z formularzem - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster)
+--- Wątek: Banalny problem z formularzem (/thread-banalny-problem-z-formularzem)

Strony: 1 2


Banalny problem z formularzem - R_Rafalsky - 11-07-2012

Witajcie,

By się nie rozpisywać mam taki kod
Kod:
<input type="text" value="<?php echo $model->value; ?>" />

Banał

Problem pojawia się gdy
Kod:
$model->value='"Nazwa" jakaś';

Przez co wartość w ogóle nie jest wyświetlana.

Jak zrobić by value zawierała cudzysłowy, była widoczna w polu i poprawie z cudzysłowem była zapisywana do bazy?


RE: Banalny problem z formularzem - mateo - 11-07-2012

Nie wiem czy to rozwiąże Twój problem ale czy próbowałeś dodać backslashe?


RE: Banalny problem z formularzem - Pedro84 - 11-07-2012

Żadne stripslashes, żadne slasheczy backslashe.

Konwertuj po prostu wszystko przychodzące do encji HTML.


RE: Banalny problem z formularzem - Pedro84 - 12-07-2012

(11-07-2012, 19:44)kornell napisał(a):
(11-07-2012, 18:26)Pedro84 napisał(a): Żadne stripslashes, żadne slasheczy backslashe.

Konwertuj po prostu wszystko przychodzące do encji HTML.

czyli ma znajdywac w stringu apostrofy za pomocą wyrażeń regularnych (preg_match) a potem zamienić je na encje html?
Chociażby - wszelkie addslashes() prędzej czy później spowoduje jakiś błąd - w najłagodniejszym przypadku zapomni to usuwać. To jest po prostu zła technika i już.

Swoją drogą, coś dziwnie się ten Yii zachowuje - on sobie sam powinien takie coś escape'ować.

---

Rafalsky, pała z manuala. Dawno w Yii nie kodziłem nic, ale pamiętam, że klasa CHtml miała dwie metody, z którymi się musisz zapoznać: encode() i decode(). http://www.yiiframework.com/doc/api/1.1/CHtml#encode-detail

Dwoją drogą, wszyscy jesteśmy tępe strzały - przecież istnieje: htmlspecialchars() (www.php.net/manual/en/function.htmlspecialchars.php). Żeby nie było, ja tam na gorączkę zganiam (a na zewnątrz mnie też ok 30 stopni :/).


RE: Banalny problem z formularzem - R_Rafalsky - 12-07-2012

Pedro nie chodzi mi o Yii, tam wszystko działa jak powinno. Zaskoczyłem się, że mam taki problem robiąc prostą sprawę w czystym PHP.

Poza tym jak można odejść od Yii? Smile


RE: Banalny problem z formularzem - Pedro84 - 12-07-2012

Rafalsky, ja od Yii nie odszedłem, no coś Ty Smile

Ostatnio jednak klepiemy ciut większe rzeczy, a już do tego Symfony2 nadaje się idealnie!


RE: Banalny problem z formularzem - R_Rafalsky - 12-07-2012

Co ma Symfony czego nie ma Yii?


RE: Banalny problem z formularzem - Pedro84 - 12-07-2012

Chociażby DI, serwisy, konkretny moduł security - wiele rzeczy, które w pewnych sytuacjach są nieodzowne. W pewnych przypadkach trzeba wybierać narzędzia rozważnie - do dziś czkawką odbija mi się jedna appka napisana w KO 3.2 (ta idiotyczna walidacja choćby) - ale powoli zbieramy się do przepisania tego na coś normalnego.

W pewnym momencie, trzeba podjąć męską decyzję i przede wszystkim, narzędzie nie może być ograniczeniem. Ponadto, należy pamiętać o dwóch zasadach:
- nie strzelasz z armaty do muchy, ale też nie strzelasz do słonia z procy
- "premature optimization is a root of all evil".