Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Skrypt błędnei dubluje dodanie danych do bazy SQL
Forum PHP.pl > Forum > Przedszkole
oi.
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.
Grzyw
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ś.
oi.
Dlatego też się dziwię tej sytuacji.
thek
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
nospor
@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.
oi.
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
nospor
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.
oi.
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
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.