Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ginace dane w tablicy $_POST
Forum PHP.pl > Forum > PHP
malou
Hello! Uzywam skryptow php w polaczeniu z formularzami. Formularze przesylaja dane metoda POST. Czasami zdaza sie tak, ze akceptuje formularz, strona sie przeladowuje, ale w tablicy $_POST, ktora powinna zawierac dane z formularza nic nie ma. Innym razem wykonujac ten sam skrypt wszystko jest dobrze... tablica $_POST zawiera dane, ktore powinna zawierac. Oczywiscie w tym czasie nie dokonywalem zadnych zmian w skrypcie.
W skrocie... czasami zdaza sie tak, ze skrypt gubi dane z tablicy $_POST. Orientujecie sie czym to moze byc spowodowane?

PS. Wersja php 4.3.3 (na home.pl smile.gif)
skubekk
To jest niemożliwe. Jak coś gubi to mozliwe że przeglądarka ich niewysyła. W sieci dane sie niegubią!!
malou
Cytat
To jest niemożliwe. Jak coś gubi to mozliwe że przeglądarka ich niewysyła. W sieci dane sie niegubią!!


Tylko, ze dzieje sie to na roznych komputerach i roznych przegladarkach. Czesciej jednak jest ok... ale jednak nie zawsze sad.gif Wydaje mi sie, ze sprawdzilem wszystko.
Moze rzeczywiscie to byc po stronie klienta. Skrpyt wyglada tak, ze w jednej ramce jest formularz php... a w drugiej sa przyciski i za pomoca javascript odpalam metode submit() formularza.
Moze nie byloby to dziwne, ze cos nie dziala (w koncu moglem cos zle napisac), ale jeszcze pol miesiaca temu skrpyt dzialal dobrze sad.gif
Blaster
Najlepiej by było jakbyś zamieścił kod. Jak cos pisz na GG: 4466837 smile.gif
malou
Cytat
Najlepiej by było jakbyś zamieścił kod. Jak cos pisz na GG: 4466837 smile.gif


Racja przypdal by sie kod smile.gif

Formularz jest generowany z phpa ale nie ma sensu tego kodu tutaj zamieszczac... na poczatek definicja ramek...
[xml:1:fd6c5b8164]<frameset cols='21,*'>
<frame name='actions' src='wActions.php'>
<frame name='main' src='wMain.php'>
</frameset>[/xml:1:fd6c5b8164]

Wynik dzialania skryptu wMain.php

[xml:1:fd6c5b8164]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="Stylesheet" type="text/css" href="s_default.css">
<link rel="Stylesheet" type="text/css" href="s_main.css">
<link rel="Stylesheet" type="text/css" href="s_form.css">
<script language="JavaScript" type="text/javascript" src="default.js"></script>
<title>Formularz</title>
</head>
<body>
<form name="form" enctype="multipart/form-data" action="wMain.php?m=42&object_id=9&lang_id=1&category=sellComp&accepted=no" method="post">
<input type="hidden" name="form[keyValue]" value="9">
<input type="hidden" name="form[save]" value="">
<input type="hidden" name="form[query_string]" value="m=42&category=sellComp&lang_id=1&accepted=no&object_id=9">
<input type="hidden" name="form[lang_id]" value="1">
<input type="hidden" name="form[category]" value="sellComp">
<input type="hidden" name="form[user_id]" value="6">

<div class="header">Tytuł oferty:</div>
<div class="field"><input type="text" size="30" name="form[offerTitle]" maxlength="60" value="ble ble ble"> </div>
<div class=header>Opis:</div>
<div class=field><textarea name="form[description]">bler blbleb elb leb leb lelbe</textarea>
</form>
</body>
</html>[/xml:1:fd6c5b8164]

Wynik dzialania skruptu wActions.php

[xml:1:fd6c5b8164]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script language="JavaScript" type="text/javascript" src="js/default.js"></script>
<title>Akcje</title>
</head>
<body>
<a href="#" onclick="save('close')"><img src="images/icons/saveClose.gif" width="14" height="14" border="0" alt="Zapisz i zamknij"></a>
<a href="#" onclick="save('save')"><img src="images/icons/save.gif" width="14" height="14" border="0" alt="Zapisz"></a>
</body>
</html>[/xml:1:fd6c5b8164]

Plik default.js

[xml:1:fd6c5b8164]function save(action) {
if (action == 'close')
parent.frames['main'].document.form.elements['save'].value = 'close';
else {
parent.frames['main'].document.form.elements['save'].value = 'save';
}
parent.frames['main'].form.submit()
}[/xml:1:fd6c5b8164]

Pozniej probuje sprawdzic zawartosc talibcy post po zapisaniu formularza za pomoca php

[php:1:fd6c5b8164]<?php
print $_SERVER['REQUEST_METHOD'];

print '<pre>';
print_r($_POST);
print '</pre>';
?>[/php:1:fd6c5b8164]

Najczesciej jest dobrze, ale zdaza sie, ze sa problemy o ktorych pisalem wczesniej... tzn... tablica post jest pusta... przy czym zmienna $_SERVER['REQUEST_METHOD'] jest rowna POST.
Problem pojawil sie okolo 15 lutego (lub wtedy go odkrylem), wczesniej ten sam formularz wysylal dane bez problemu. Probowalem na wielu komputerach z roznymi wersjami przegladarek i z roznym systemem.
Wydaje sie, ze sprawdzialem wszystko... ale dalej nie wiem w czym problem sad.gif
chfast
Jak masz tę stronę na serwerze to podaj link. Kilka osób napewno na nią zajrzy i zobaczy czy dane zostały wysłane czy nie.
Moim zdaniem wina może leżeć po stronie przeglądarki w momencie samego wysłania. Przy JavaScript jest takie niebezpieczeństwo, że różne przeglądarki będą skrypt różnie wykonywać.
malou
Cytat
Jak masz tę stronę na serwerze to podaj link. Kilka osób napewno na nią zajrzy i zobaczy czy dane zostały wysłane czy nie.
Moim zdaniem wina może leżeć po stronie przeglądarki w momencie samego wysłania. Przy JavaScript jest takie niebezpieczeństwo, że różne przeglądarki będą skrypt różnie wykonywać.


Dzieki za zainteresowanie. Niestety nie moge podac, bo to panel administracyjny...a nie mam teraz czasu spreparowac wersji, ktora moge pokazac. Wczesniej zapomnialem napisac, ze polaczenie jest po SSL. Masz racje, ze javascript moze byc roznie wykonywany przez rowne przegladarki... ale przy takich samych warunkach kilka tygodni temu nie bylo problemu. Czyli mozna chyba zalozyc, ze jezeli kiedys wszystko co bylo po stronie klienta bylo takie same (tzn. wygenerowane strony z formularzem i buttonami zapisu) i dzialalo to cos musi sie dziac nie tak po stronie serwera.
chfast
Cytat
polaczenie jest po SSL

Nie mam pojęcia o SSL, ale moża coś z tym jest nie tak. Spróbuj wyłączyć SSL na próbe.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.