php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 05-04-2005, 13:30
oeno
 Newbie
Links : Onlinestatus : oeno ist offline
Registriert seit: Jan 2004
Ort: Germany
Beiträge: 37
oeno ist zur Zeit noch ein unbeschriebenes Blatt
oeno eine Nachricht über AIM schicken
Standard index.php und dbase_add_record

Hallo Forumianer,

ich hocke an ner Kopfnuss und komm nicht weiter.

Folgendes Problem:
Ich habe als Startseite der Domain ne index.php. in dieser werden
verschiedene Daten des Aufrufs in ner dBase Datenbank gelogt:

User-IP, Hostname des Zugangsproviders, wenn Cookie gesetzt auch
der Name des Clients etc..

Es wird auch ne Flash Animation eingebunden und abgespielt und der
Stylesheet aufgerufen.

Öffne ich die Seite mit IE oder Firefox läuft alles wie gewollt, kein Thema.
Bei Netscape Navigator (Version 6) sieht die Sache anders aus. Die Seite bricht
an der Stelle, wo die Daten per 'dbase_add_record' gespeichert werden
ab. Ohne Fehlermeldung ohne alles. Ich ahb da schon Stunden dran
gebastelt, ohne Erfolg.
Meine Lösung war nun, den User_Agent abzufragen und bei
Netscape keine Speicherung vorzunehmen, dann läufts
seltsamerweise, ist aber nicht so die Musterlösung, da ich
die Daten ja für meine Statistik brauche.

Hier der Codeabschnitt, der den Fehler verursacht:
PHP-Code:
// Datenbank öffnen
 
$DBFPfad="conections.dbf";
 
$Agent=$_SERVER['HTTP_USER_AGENT'];
 
$Adr=$_SERVER['REMOTE_ADDR'];
 
$Hostgethostbyaddr($Adr);
 
$Port$_SERVER['REMOTE_PORT'];
 
$sidsession_id();
 
$Datum=date("d.m.Y");
 
$datum=explode(".",$Datum);
 if (
$_SESSION['login']!=){
    if (
is_readable($DBFPfad)) { // Abfrage ob Datenbank angelegt ist
       
if (!isset($_SESSION["reg"])){
       
$_SESSION["reg"]=1;
       
$Base dbase_open ($DBFPfad,2);
       
$num = (dbase_numrecords ($Base)) + 1;
       if (!
stristr($Agent,'Netscape')){
          
dbase_add_record ($Base, array($num,$Adr,
          
$Host,$Port,$sid,$datum[0].'.'.$datum[1].'.'.$datum[2],
          
$datum[2] ,$datum[1] ,$datum[0] ,date("l"),
          
date("H:i:s"),date("H") ,$Agent." ~ ".$name2));
       }
       
dbase_close ($Base);
       }
    }
    else {
         
$_SESSION["reg"]=1;
         
$def = array(array("ID","C",15),array("IP","C",16),
          array(
"Client DNS","C",60),   
           array(
"Port","C",8),array("Session","C",25),
             array(
"Date","C",11),array("Year","C",5), 
             array(
"Month","C",3),array("Day","C",3),
             array(
"WeekDay","C",8),array("Time","C",11),
             array(
"Hour","C",3),array("Client","C",100));
         if (!
dbase_create($DBFPfad,$def)){
            print 
"Error!";
         }
         else {
            echo 
"Datenbank angelegt<BR>";
         }
         
$Base dbase_open ($DBFPfad,2);
         
$num = (dbase_numrecords ($Base)) + 1;
         echo 
$num."</H6></TR>"// Anzahl Datensätze in Head anzeigen
         
dbase_add_record ($Base, array($num,$Adr,
                     
$Host,$Port,$sid,
                     
date("d.m.Y") ,date("Y") ,
                     
date("m") ,date("d") ,
                     
date("l") ,date("H:i:s"),
                     
date("H") ,$Agent.' ~ '.$name2));
         
dbase_close ($Base);
    }

Die nachfolgenden Seitendaten kommen, wenn ich die
Netscapesperre rausnehme in dem Browser nicht an (¿?)
warum auch immer. der Quelltext hört an der dbase_add_record einfach auf.

Habt Ihr ne Idee wie das kommen mag?

Geändert von oeno (05-04-2005 um 13:34 Uhr)
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 05-04-2005, 13:34
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: index.php und dbase_add_record

ich würde mal annehmen, dass da beim netscape irgendwas im user agent steht, welches deine query ungültig macht.

werden die eingefügten daten überhaupt irgendwo escaped/unschädlich gemacht?
kontrollausgabe UA in so einem falle, wo es "ohne fehler" abbricht?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 05-04-2005, 13:36
oeno
 Newbie
Links : Onlinestatus : oeno ist offline
Registriert seit: Jan 2004
Ort: Germany
Beiträge: 37
oeno ist zur Zeit noch ein unbeschriebenes Blatt
oeno eine Nachricht über AIM schicken
Standard

Danke für die schnelle Antwort.

Ich hab schon per echo die erzeigten Daten anzeigen lassen,
hatte keine Auswirkungen auf den Programmablauf.

EDIT:
die Ausgabe des Agents ergibt:
Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:0.9.4.1) Gecko/20020508 Netscape6/6.2.3


Geändert von oeno (05-04-2005 um 13:39 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 05-04-2005, 15:13
Schnoop
 PHP Senior
Links : Onlinestatus : Schnoop ist offline
Registriert seit: Apr 2003
Beiträge: 1.049
Schnoop ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ist es möglich das dein DB Feld wo du die Browserkennung einträgst zu kurz ist?
Mit Zitat antworten
  #5 (permalink)  
Alt 05-04-2005, 19:07
oeno
 Newbie
Links : Onlinestatus : oeno ist offline
Registriert seit: Jan 2004
Ort: Germany
Beiträge: 37
oeno ist zur Zeit noch ein unbeschriebenes Blatt
oeno eine Nachricht über AIM schicken
Standard

Das wär natürlich möglich. Als Größenangebe hab ich 60 Zeichen vorgegeben ... mal prüfen:

123456789012345678901234567890123456789012345678901234567890
Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:0.9.4.1) Gecko/20020508 Netscape6/6.2.3

ok, der String ist zu lang. Das Verwirrende ist dann aber, das da schon
ebenso lange Strings rein kamen, die dann einfach nach den 60 Zeichen
abgeschnitten wurden. Warum hier nicht? Und warum keine Fehlermeldung?
Mit Zitat antworten
  #6 (permalink)  
Alt 05-04-2005, 19:09
Schnoop
 PHP Senior
Links : Onlinestatus : Schnoop ist offline
Registriert seit: Apr 2003
Beiträge: 1.049
Schnoop ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich weiss ja nicht wie die anderen Browserkennungen aussschauen, aber vielleicht killt der die Query auf Grund des ; oder des /
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:44 Uhr.