[ Príspevkov: 7 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 29.07.10
Prihlásený: 25.12.16
Príspevky: 92
Témy: 24 | 24
NapísalOffline : 21.02.2016 11:30 | GET method PHP

Ahoj potrebujem poradit.
Metodou GET spracovavam data z formulara rekurzivne tym istym skriptom a vzdy na zaciatku noveho behu (po predoslom odoslani) logujem na filesystem do suboru data z posledneho odoslania. Informacia sa zaloguje duplicitne v dvoch riadkoch a neviem preco.

Kod:

fopen
fputs (... data z FORM ..)

<FORM ... METHOD=GET ..>

.. naklikane data ..

.. tlacitko odoslat ..

</FORM>


Offline

Skúsený užívateľ
Skúsený užívateľ
GET method PHP

Registrovaný: 24.01.08
Prihlásený: 28.05.17
Príspevky: 14614
Témy: 65 | 65
Bydlisko: Žilina
Vek: 29
NapísalOffline : 21.02.2016 11:35 | GET method PHP

Na základe dodaného zdrojového kódu ti viem povedať jedno - robíš to zle.


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
GET method PHP

Registrovaný: 21.09.13
Prihlásený: 27.05.17
Príspevky: 2026
Témy: 69 | 69
Bydlisko: Považská By...
NapísalOffline : 21.02.2016 11:38 | GET method PHP

Zaujimavy kod, co keby si ho sem dal cely, co keby si pouzil fwrite($pbsah, 'a') ?


_________________
Nesnívaj svoj život, ale ži svoj sen.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 29.07.10
Prihlásený: 25.12.16
Príspevky: 92
Témy: 24 | 24
Napísal autor témyOffline : 22.02.2016 9:06 | GET method PHP

Kod bol len pre rychly priklad, v zjednodusenej verzii ide o toto

Kód:
<?php
$subor = fopen("log.txt","a+");
fputs($subor,$B1.chr(13).chr(10));
fclose($subor);
echo "<FORM NAME=\"f1\" ACTION=\"?\" METHOD=GET >";
echo "<input type=\"submit\" value=\"button\" name=\"B1\"></input>";
echo "</FORM>";
?>


Jeden zapis do suboru po akcii GET a vysledok su dva zaznami .. akoby to bez dalsieho kliku na "button" zbehlo este raz.
Uz dlhsie neviem prist na to v com je problem. V celom skripte nie je ziadny iny dalsi zapis do suboru tak som chcel vediet ci to nahodou nie je kvoli metode GET ktora tam urobi cosi naviac.
Toto co som prilozil funguje samozrejme ako ma.


Naposledy upravil killer dňa 22.02.2016 9:15, celkovo upravené 1
Kód patrí do [code]


Offline

Správca fóra
Správca fóra
GET method PHP

Registrovaný: 08.08.09
Príspevky: 12413
Témy: 41 | 41
Bydlisko: Martin
NapísalOffline : 22.02.2016 9:20 | GET method PHP

Funguje to presne tak, ako to máš napísané. Či je to správne, nechám už na posúdení čitateľa, no keď to máš takto, tak sa nečudujem že nie si spokojný. Už po spustení toho kódu sa totiž zapisuje do súboru, bez ohľadu na to, či si niečo z formulára poslal, alebo nie. Potom formulár odošleš a zapisuje sa znova.
Riešenie? Obaliť zápis do podmienky, ktorá sa vykoná len pri odoslaní formulára, niečo ako [c]if (strlen($_GET['B1']) > 0) {[/c] alebo zápis presunúť do iného súboru a cez atribút [c]action[/c] odoslaný formulár nasmerovať naň, urobiť čo treba a potom presmerovať späť.
Hint 1.: Pohraj sa s uvodzovkami, máš v tom zmätok. Normálny editor by ti už za to nadával.
Hint 2.: Prečo používaš _GET? máš na to nejaký špeciálny dôvod?
Hint 3.: Keď už chceš zverejňovať zdrojáky, tak kompletne, nie ako krížovka, že na konci sa možno dozvieme, kde je problém. Inak ti nikto pomáhať nebude - nie že by snáď nechcel, ale nedá sa to, viď. príspevky vyššie.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 29.07.10
Prihlásený: 25.12.16
Príspevky: 92
Témy: 24 | 24
Napísal autor témyOffline : 22.02.2016 9:35 | GET method PHP

Ano ten prvy zapis je prazny riadok to je v poriadku, ale v nasledujucom zapise po kliku na button dostavam dva rovnake riadky. Nemozem sem dat cely zdrojak .. kto by to cital, je to dlhe
GET pouzivam aby sa mi vygeneroval po kliku funkcny link s premennymi .. cez POST mi to nefungovalo tak ako som chcel.


Offline

Správca fóra
Správca fóra
GET method PHP

Registrovaný: 27.07.07
Príspevky: 3970
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 22.02.2016 13:54 | GET method PHP

Ked ti chce niekto pomoct, prestuduje aj dlhy zdrojak, len aby nasiel chybu. Bez zverejnenia sposobu spracovania odoslanych dat a ich zapisu ti ale nikto nepomoze.


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
 [ Príspevkov: 7 ] 


GET method PHP



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

php, get a mysql

v PHP, ASP

3

182

27.07.2012 4:13

TheRay

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] Php GET problem

v PHP, ASP

4

336

21.02.2009 20:12

Xardas

V tomto fóre nie sú ďalšie neprečítané témy.

prosim o radu can't locate object method "new" via package Net::SSH

v Perl, Python, Ruby, CGI

2

114

16.07.2015 15:38

max18

V tomto fóre nie sú ďalšie neprečítané témy.

GET premenne

v PHP, ASP

8

365

30.04.2011 22:17

emer

V tomto fóre nie sú ďalšie neprečítané témy.

GET a ID

v PHP, ASP

6

431

13.12.2008 21:04

p360t

V tomto fóre nie sú ďalšie neprečítané témy.

GET pise bludy

v PHP, ASP

4

218

28.04.2010 15:00

jtomcik

V tomto fóre nie sú ďalšie neprečítané témy.

class get/post

v PHP, ASP

0

236

06.06.2010 18:20

Unlink

V tomto fóre nie sú ďalšie neprečítané témy.

Vista get conected

v Operačné systémy Microsoft

2

144

11.10.2010 13:49

Mego



© 2005 - 2017 PCforum, edited by JanoF