Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Skrypt błędnei dubluje dodanie danych do bazy SQL
oi.
post
Post #1





Grupa: Zarejestrowani
Postów: 145
Pomógł: 1
Dołączył: 12.07.2006

Ostrzeżenie: (10%)
X----


Skrypt błędnie dubluje dane. Dodaje ten sam rekord do bazy danych.
za pomocą kodu w stopce wywołuję statystyke
  1. include "statystyka.php";


kod dodawania statystyki odwiedzin do bazy SQL:
  1. <?php
  2. require_once 'funkcje.php';
  3. require_once 'config.php';
  4. $conn=mysql_connect($host,$bazalogin,$bazahaslo);
  5.  
  6. $data = date('m-d G:i');
  7. $ip = $_SERVER['REMOTE_ADDR'];
  8. $adres= $_SERVER['HTTP_REFERER'];
  9.  
  10. $sql = "INSERT INTO statystyka VALUES ('', '$data','$ip', '$adres')";
  11. or die('Nie dodano danych do statystyki ');
  12. ?>


W wyniku otrzymuję po kilka razy tę samą osobę:
  1. 66555 03-15 12:19 83.6.1... adres www
  2. 66554 03-15 12:19 83.6.1... adres www
  3. 66553 03-15 12:19 83.6.1... adres www
ilość odsłon jest nie wiarygodna. Proszę o poradę czy to wina skryptu czy hostingu? Skryp jest na kilku różnych hostingach działał poprawnie ale ostatnio wszędzie dodaje błędnie dane. Podejrzewam że to może wina przejścia usługodawcy na inny rodzaj PHP na serwerze.
Go to the top of the page
+Quote Post
Grzyw
post
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 75
Dołączył: 19.08.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


INSERT na 100% nie wrzucił Ci wielu rekordów przy jednym zapytaniu do bazy.
Problem musi leżeć po stronie SELECTa wyrzucającego te dane.
Chyba, że INSERT został wywołany kilka razy, ale nie ma to miesjca we fragmencie kodu, który podałeś.


--------------------
Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
Go to the top of the page
+Quote Post
oi.
post
Post #3





Grupa: Zarejestrowani
Postów: 145
Pomógł: 1
Dołączył: 12.07.2006

Ostrzeżenie: (10%)
X----


Dlatego też się dziwię tej sytuacji.
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




oi. Jest jeszcze jedno rozwiązanie. Nie jest to wina zapytania ale przeglądarki użytkownika. Google wypuściło w sierpniu czy wrześniu ubiegłego roku zbugowaną wersje Chrome'a, który powodował cyrki z JS-em, w tym z Analyticsem. Za każdym wejściem ze zbugowanej przeglądarki, Analytics naliczał od kilku do nawet kilkuset(!) wejść i przejść między stronami. Gdy taka osoba zaczęła chodzić po stronie to Analytics szalało, kompletnie rozwalając statystyki. Niektórzy wyłączają lub blokują aktualizację przeglądarek i stąd może się ta wersja trafić sporadycznie. Dlatego nie zwalaj wszystkiego na błędy swoje. Nie zawsze to one są winne. Kto nie wierzy w to co piszę, niech sam w google zapyta o: chrome analytics bug a sam zobaczy, że nie blefuję.

PS: Napisałem to dlatego, byś nie wierzył święcie w to co pokazuje Analytics biggrin.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@thek jaki analitics? Przecież on tu ma własne statystyki a nie żadne analitics.

oi. może najzwyklej w świecie ty te
include "statystyka.php";
robisz w kilku miejscach.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
oi.
post
Post #6





Grupa: Zarejestrowani
Postów: 145
Pomógł: 1
Dołączył: 12.07.2006

Ostrzeżenie: (10%)
X----


Ta statystyka jest tylko w stopce. Wklejam kod PHP
  1. <?php
  2. include "stat/statystyka.php";
  3. ?>

i dalej leci pozostały kod HTML stopki

Ten post edytował oi. 15.03.2011, 13:38:20
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




do pliku statystyka.php dodaj linijkę:
echo 'dupa';

Następnie odśwież stronę, podejrzyj jej źródło i zobacz ile razy masz tekst dupa. Jeśli kilka razy, znaczy że jednak includujesz to więcej niż raz.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
oi.
post
Post #8





Grupa: Zarejestrowani
Postów: 145
Pomógł: 1
Dołączył: 12.07.2006

Ostrzeżenie: (10%)
X----


Zamiast dupa dałem echo test i wyskoczył tylko 1 wyraz test. Tak więc statystyka jest tylko raz wywoływana.
Czy jest róznica jak używam include lub recuire lub recuire_once ? Może to jest powodem

Dodam jeszcze że w statystyce w polu adres mam na ogół adresy www.domena.pl/jakis-adres.php ale są także www.domena.pl/styl.css a nie powinno tego byc bo nikt nie wchodzi na moją stroną z pliku css
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 14:23