Suchen
Inside Forum
Nützliche Links




 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 

Zurück   PHP Forum: phpforum.de > PHP > PHP

PHP Alles rund um PHP

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 24.04.2005, 18:08
dreamdealer7777 dreamdealer7777 ist offline
Neuer Besucher
 
Registriert seit: 24.04.2005
Beiträge: 4
Standard

Hallo!

ich habe ein Problem mit einem PHP Script für einen Online Shop:

register_globals = off

Welche Änderungen muss ich in dem Script genau machen? Ich habe das Script schon umgeschrieben ($_Get, $_Server etc.)

Hier mal die alte Version:
PHP Quellcode:
<?php

 /* globale Session ID zur Besucherkennung */
/* =============================================== */

function get_id($id)
{
global $REMOTE_ADDR, $PHP_SELF;
if ($id != "") {

include ("db_verbindung.php");

$sqlstatement="SELECT * FROM tbl_besucher WHERE kennung_benutzer='$id'";
$result=mysql_query($sqlstatement);
mysql_close($link); // datenbankverbindung schließen

$anz=mysql_num_rows($result);
if ($anz == "0")
    {
        $id=md5(uniqid(rand()));
        $DatumZ=date("z");
       
include ("db_verbindung.php");
$sqlstatement="INSERT INTO tbl_besucher (kennung_benutzer, datum_benutzer) VALUES ('$id','$DatumZ')";
$result=mysql_query($sqlstatement);
Header("Location: $PHP_SELF?kennung=$id");
mysql_close($link); // datenbankverbindung schließen
}
}

if ($id == "") {
$id=md5(uniqid(rand()));
$DatumZ=date("z");

include ("db_verbindung.php");
$sqlstatement="INSERT INTO tbl_besucher (kennung_benutzer, datum_benutzer) VALUES ('$id','$DatumZ')";
$result=mysql_query($sqlstatement);
Header("Location: $PHP_SELF?kennung=$id");
mysql_close($link); // datenbankverbindung schließen
}
return $id;
}

if ($C_ID) {
    $kennung = $C_ID;
        }
$kennung = get_id($kennung);
?>
Könnt Ihr mir genau sagen was ich wo ändern muss bei register_global = off

Damit wäre mir sehr geholfen! Danke.
Mit Zitat antworten
  #2  
Alt 24.04.2005, 18:14
Taker Taker ist offline
Neuer Besucher
 
Registriert seit: 24.04.2005
Beiträge: 24
Standard

$REMOTE_ADDR = $_SERVER[' REMOTE_ADDR']
$PHP_SELF = $_SERVER['PHP_SELF']

ist zwar nicht sehr fein, geht aber auch extract($_REQUEST,EXTR_SKIP);
Mit Zitat antworten
  #3  
Alt 24.04.2005, 18:14
supastah supastah ist offline
Engagierter Besucher
 
Registriert seit: 24.02.2005
Ort: Pulheim
Beiträge: 477
Standard

wenn register globals = off verwendest, musst du alle variablen anpassen die über die url, per post und per session, sowie die servervars übergeben werden.

bei session solltest du kein session_register mehr verwenden, sondern z.b. $_SESSION['test']=$test;
__________________
READ THAT FU***** MANUAL
Mit Zitat antworten
  #4  
Alt 24.04.2005, 18:25
dreamdealer7777 dreamdealer7777 ist offline
Neuer Besucher
 
Registriert seit: 24.04.2005
Beiträge: 4
Standard

$REMOTE_ADDR = $_SERVER[' REMOTE_ADDR']
$PHP_SELF = $_SERVER['PHP_SELF']


Das habe ich im Script geändert funzt aber immer noch nicht
Mit Zitat antworten
  #5  
Alt 24.04.2005, 18:35
Nobody Nobody ist offline
Vorbildlicher Helfer
 
Registriert seit: 03.12.2002
Beiträge: 26.390
Standard

Wo kommt $C_ID her?

Per URL: $_GET['C_ID']
Per Formular mit method="post": $_POST['C_ID']

Die Zeile

global $REMOTE_ADDR, $PHP_SELF;

ist kompletter Quatsch und kann raus.

16.14. Warum soll ich nicht SELECT * schreiben?
http://www.php-faq.de/q/q-sql-select.html

Und wenn du den Quellcode mal ordentlich einrückst, sehe ich mir den Rest auch mal an.

*** Nobody ***
Mit Zitat antworten
  #6  
Alt 26.04.2005, 21:40
dreamdealer7777 dreamdealer7777 ist offline
Neuer Besucher
 
Registriert seit: 24.04.2005
Beiträge: 4
Standard

@nobody

hier das eingerückte script.

das select * ist in diesem fall ok da keine unsinnigen spalten da sind.

<?php

/* globale Session ID zur Besucherkennung */
/* =============================================== */

function get_id($id)
{
global $REMOTE_ADDR, $PHP_SELF;
if ($id != "") {
include ("db_verbindung.php");

$sqlstatement="SELECT * FROM tbl_besucher WHERE kennung_benutzer='$id'";
$result=mysql_query($sqlstatement);
mysql_close($link); // datenbankverbindung schließen

$anz=mysql_num_rows($result);
if ($anz == "0")
{
$id=md5(uniqid(rand()));
$DatumZ=date("z");

include ("db_verbindung.php");
$sqlstatement="INSERT INTO tbl_besucher (kennung_benutzer, datum_benutzer) VALUES ('$id','$DatumZ')";
$result=mysql_query($sqlstatement);
Header("Location: $PHP_SELF?kennung=$id");
mysql_close($link); // datenbankverbindung schließen
}
}

if ($id == "") {
$id=md5(uniqid(rand()));
$DatumZ=date("z");

include ("db_verbindung.php");
$sqlstatement="INSERT INTO tbl_besucher (kennung_benutzer, datum_benutzer) VALUES ('$id','$DatumZ')";
$result=mysql_query($sqlstatement);
Header("Location: $PHP_SELF?kennung=$id");
mysql_close($link); // datenbankverbindung schließen
}
return $id;
}

if ($C_ID) {
$kennung = $C_ID;
}
$kennung = get_id($kennung);
?>


was $C_ID ist kann ich dir leider nicht genau sagen. das script läuft einwandfrei bei register_globals = ON.

Kannst du mir bitte weiterhelfen? Ich habs nochmal probiert und das notwendige mit $_Get etc. gemacht.
Mit Zitat antworten
  #7  
Alt 26.04.2005, 21:41
dreamdealer7777 dreamdealer7777 ist offline
Neuer Besucher
 
Registriert seit: 24.04.2005
Beiträge: 4
Standard

[code]<?php

/* globale Session ID zur Besucherkennung */
/* =============================================== */

function get_id($id)
{
global $REMOTE_ADDR, $PHP_SELF;
if ($id != "") {
include ("db_verbindung.php");

$sqlstatement="SELECT * FROM tbl_besucher WHERE kennung_benutzer='$id'";
$result=mysql_query($sqlstatement);
mysql_close($link); // datenbankverbindung schließen

$anz=mysql_num_rows($result);
if ($anz == "0")
{
$id=md5(uniqid(rand()));
$DatumZ=date("z");

include ("db_verbindung.php");
$sqlstatement="INSERT INTO tbl_besucher (kennung_benutzer, datum_benutzer) VALUES ('$id','$DatumZ')";
$result=mysql_query($sqlstatement);
Header("Location: $PHP_SELF?kennung=$id");
mysql_close($link); // datenbankverbindung schließen
}
}

if ($id == "") {
$id=md5(uniqid(rand()));
$DatumZ=date("z");

include ("db_verbindung.php");
$sqlstatement="INSERT INTO tbl_besucher (kennung_benutzer, datum_benutzer) VALUES ('$id','$DatumZ')";
$result=mysql_query($sqlstatement);
Header("Location: $PHP_SELF?kennung=$id");
mysql_close($link); // datenbankverbindung schließen
}
return $id;
}

if ($C_ID) {
$kennung = $C_ID;
}
$kennung = get_id($kennung);
?>
Mit Zitat antworten


Antwort

Lesezeichen

Themen-Optionen
Ansicht

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.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
script umschreiben für register_globals = off problem MaNoLiA PHP 4 21.02.2007 18:57
Problem mit register_globals und 4Imgaes Fireball22 PHP 32 21.09.2005 18:55
Problem mit "register_globals" phpAmateur PHP 4 19.12.2004 18:33
register_globals=off mous PHP 3 21.04.2003 12:55
register_globals Boller PHP 3 01.01.1970 02:00


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:06 Uhr.


Powered by vBulletin® Version 3.8.8 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC