Autor | Zpráva | ||
---|---|---|---|
stilgarcz02 Profil |
#1 · Zasláno: 7. 11. 2006, 21:26:49
Zdravim,
rad bych nekoho poprosil o radu. Mam formular, ten zpracuje script, kterej ho zkontroluje a vypise obsah na obrazovku. Kdyz je vse ok, mam dalsi script, kterej pak ten obsah odesila. A ted ten problem. Normalne ten prenos z prostredni stranky (kontrola + vypis) do stranky (vlastne scriptu mail.php) mam udelanej, ze hodnoty vkladam do url a pak v mail.php je beru pres GET. Prusvih je samozrejme v tom, ze je to velikostne omezeny, takze kdyz se nekdo do formulare rozepise a je to vic jak ten limit, tak se formular neodesle. Proto by me zajimalo, jestli to jde udelat i jinak nez pres vkladanini do url? Urcite ano, ale jen nevim, jak na to :-). Takhle vypada konec prostredni stranky (scriptu zpracuj.php), jak tam pouzivam to vkladani do url: $qs = Predem dekuji za jakoukoli radu ci pomoc. |
||
koudi Profil |
#2 · Zasláno: 7. 11. 2006, 21:30:45
Nedávej to přes GET, ale POST, případně přes SESSIONS
|
||
Mysho Profil * |
#3 · Zasláno: 7. 11. 2006, 21:32:27
pouzi metodu post s tym ze
<input type="hodden" value="$to co xces" name="name"> |
||
stilgarcz02 Profil |
#4 · Zasláno: 7. 11. 2006, 21:55:26
To je prave to, nikde nemuzu najit to, jak se to dela pres POST.
Koukal sem na Session, pomohlo by tedy kdybych na zacatku scriptu registroval vsechny promene zhruba takto: session_start();atd. a pak je volal pres $_session["promena1] ? |
||
Mysho Profil * |
#5 · Zasláno: 7. 11. 2006, 21:59:22
ano to by pomohlo
|
||
Kajman_ Profil * |
#6 · Zasláno: 7. 11. 2006, 22:04:11
echo ("<FORM METHOD=\"POST\" ACTION=\"$URL\">");
|
||
stilgarcz02 Profil |
#7 · Zasláno: 7. 11. 2006, 23:28:52
Praveze kdyz jsem to samy delal pres POST, tak se mi komunikace mezi zpracuj.php a mail.php nezadarila vubec. Pres to GET, jak to je ted to funguje.
Zapasim ted s tema sessions, ale nejak sem se do toho zamotal. Pouzivam phpEditorIDE a kdyz pisu prikazy jako napr. echo, tak se zvyrazni syntaxe. U session to nic nedela, syntaxe se zvyrazni jen kdyz ji volam. Kdyz session registruju, tak se objevi toto: Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\pokusny formular session\zpracuj.php:3) in c:\program files\easyphp1-8\www\pokusny formular session\zpracuj.php on line 17 Neni mi taky jasny jestli je mam registrovat uz ve zpracuj.php (a v nem uz pouzivat misto $_POST uz $_SESSION) a nebo az v mail.php (a misto $_GET tady pouzivat $_SESSION). |
||
tiso Profil |
#8 · Zasláno: 8. 11. 2006, 09:36:50
stilgarcz02
Najlepšie je 1., 2. skript a časť 3.-tieho dať do jedného: -vypíšeš formulár -po odoslaní sa skontroluje vyplnenie povinných položiek, správnosť hodnôt a podobne, keď je niečo zle tak sa vypíše znovu formulár s predvyplnenými hodnotami ktoré tam user zapísal i s chybovým hlásením čo je zle. -ak sú dáta v poriadku tak sa vykoná nejaká akcia (odošle sa mail, uložia sa dáta do DB, ...) a presmeruje sa na inú stránku kde sa zobrazí výsledok akcie (hláška mail bol odoslaný, a podobne...), alebo kde chceš aby človek pokračoval... Takto je to oveľa elegantnejšie ako Tvoj terajší spôsob či to o čo si sa pokúšal. |
||
stilgarcz02 Profil |
#9 · Zasláno: 8. 11. 2006, 22:09:15
Mockrat dekuji za rady, problem je vyresen.
Mel bych jeste jeden mensi dotaz. Jestlize tedy odesilam formular pres server, kde mam stranky, jak je to s podporou diakritiky v odesilanem mailu ? Jestlize mi nekdo vyplni ve formulari jmeno s diakritikou, tak se vetsinou i spravne odesle na mail. Ale obcas to dane pismeno zmizi nebo je misto nej neco jinoho. Jde napriklad o ž. Je tendle problem s diakritikou ve scriptu a nebo na strane serveru (v nastaveni) ? Jde neco udelat aby diakritika sla na 100% ? |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0