php-resource



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

Login

 
eingeloggt bleiben || php-forumjetzt anmelden
 

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
  #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

OnPremise versus Cloud - das richtige System finden
Wir beleuchten in diesem Artikel, die Vor- und Nachteile für Cloud oder OnPremise Systemen. Und warum es definitiv Zeit wird in die Cloud zu wechseln.

09.05.2022 | julia_mjr

Warum Texterstellung mit künstlicher Intelligenz richtig gut ist
Warum Texterstellung mit künstlicher Intelligenz richtig gut istKünstliche Intelligenz ist dabei, die Welt zu erobern. Die größten Unternehmen entwickeln Systeme, die einen Text für Sie schreiben können. Und sie machen das sehr gut.

05.01.2022 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

01.07.2022 Berni | Kategorie: PHP/ Anzeigenmarkt
NewsLetter Script PHP ansehen NewsLetter Script PHP

NewsLetter Script PHP is a simple email subscriptions newsletters script written in PHP and MySQL. Admin could send news in the letters to a mailing list of subscribed visitors. All the news and subscription form could be placed into a page of your web

28.06.2022 nevenov | Kategorie: PHP/ Mail
Contact Form PHP ansehen Contact Form PHP

Each website needs a contact form - Contact Form PHP script is very easy to install on your contacts page and administer.

27.06.2022 nevenov | Kategorie: PHP/ Formular
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:38 Uhr.