Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL]podwójne wykonanie zapytania sql
Forum PHP.pl > Forum > Przedszkole
soochy1
witam mam taki problem :

zauważyłem że zapytanie mysql_query wykonuje się dwukrotnie na serwerze ugu.pl
( a dokładniej to dwa razy dodaje się ten sam rekord do bazy po kliknieciu submit na stronie index.php ktory to submit przełacza do pliku dwa.php na ktorym sie wykonuje zapytanie)

na localhoscie na webserv działa dobrze w sensie jedno zapytanie wykonuje się jeden raz.

co może być przyczyną ?

w pliku index.php jest :

<form action="dwa.php" method="get"><br>
GOTOWE <input type="text" name="gotowe" ><br>
<input type="submit" name="koniec" value="KONIEC" > <br><br>

w pliku dwa.php jest :

$za2="INSERT INTO Persons (LastName) VALUES ('dupa')";
$wynik=mysql_query($za2);



za kazdym razem dodaje się ten rekord dwukrotnie.


na localhoscie jest ok na ugu.pl jest problem.
Gość
Ten kod nie ma prawa dodawac podwojnie chyba ze to wina serwera, moze ma jakies dziwne przekierowanie lub sie podwojnie kliknie. Taki skrypt sie zabezpiecza bo w minute mozna dodac i 1000 rekordow, zabezpiecz to np. sesja
-soochy1-
próbuję zabezpieczyć tą sesją i napotykam kolejny problem wink.gif


plan jest taki : tworze w index.php zmienna sesji o wartosci 1
po przejsciu do podstrony dodającej wpis do bazy daje ifa ktory dodaje do bazy jeśli zm sesji ma wartość 1
a po dodaniu wpisu modyfiuje zm sesji


echo wyświetla że wartość jest ustawiona na 1 w index.php
po kliknieciu submit i przejściu do strony dwa.php
echo wyświetla wartość tej zmiennej jako pusta.

co powinienem zrobić żeby to przejście było z zachowaniem zmiennej sesji utworzonej w index.php ?
freemp3
Dodać na początku session_start
soochy1
session start jest w index.php,

i tu zmienna sesji sie tworzy i wyświetla

podejrzewam że nie rozumiem pojęcia przejścia na podstronę

bo mam wrażenie że przeskakując po kliknieciu submit w formluarzu z polem action=dwa.php

przeskakuje gdzieś poza tą sesję bo wyświetlając tę zmienną już jej nie ma.
nospor
no ale dwa.php to juz zupelnie inne zadanie. Tam tez musisz wystartrowac sesje...
valkirek
Najlepiej tez do sesji nie zapisiwac stalej wartosci tylko czas po dodaniu wpisu bo co jesli ktos bedzie chcial dodac kolejny wpis za 5 minut? Juz nie doda a tak sprawdzasz czas sesji z aktualnym czasem
soochy1
Cytat(valkirek @ 24.07.2013, 14:14:13 ) *
Najlepiej tez do sesji nie zapisiwac stalej wartosci tylko czas po dodaniu wpisu bo co jesli ktos bedzie chcial dodac kolejny wpis za 5 minut? Juz nie doda a tak sprawdzasz czas sesji z aktualnym czasem


nie rozumiem, przeciez jak kliknie powrót na stronie dwa.php i wroci do idex.php czyli do formularza to zmienna sesji zie znow ustawi na 1 i mozna bedzie dodać do bazy wypisany na nowo formularz więc nie widzę problemu.


po dodaniu start sesion w obu plikach jest ok

myślałem że start sesion tworzy sesję ze zmiennymi więc wywołanie w 2 róznych plikach utworzy dwie osobne sesje z własnymi zmiennymi . widocznie nie rozumiem zasady działania tejże tajemniczej sesji.
gdzie ta sesja siedzi po jej wywołaniu ?
dlaczego trzeba ją startować dla każdego pliku .php a zadeklarowana zmienna jest jedna i ta sama dla obu plików?
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.