Avatar billede iceb1977 Nybegynder
31. marts 2004 - 22:50 Der er 25 kommentarer og
1 løsning

csg med php vars

Hej

Jeg har skiftet webhotel til csg.dk. Dog har jeg

fået nogle ret store problemer fordi den måde de kalder

php vars på ikke er den samme som på mit sidste

webhotel.

Jeg har en tæller der tæller antal online på min side.

Den vil dog ikke virke pga dette vars problem.

Håber I kan give mig råd til hvordan den kan rettes til.

LINK: http://m.iceb.dk/users.php

KODE:

<?php                                                                             

include "config.php";

$t_stamp = time();                                                                                           
$timeout = $t_stamp - $to_secs;

mysql_connect($server, $db_user, $db_pass) or die ("Useronline Database CONNECT Error");                                                                 
mysql_db_query($db, "INSERT INTO CJ_UsersOnline VALUES ('$t_stamp','$REMOTE_ADDR','$PHP_SELF')") or die("");
mysql_db_query($db, "DELETE FROM CJ_UsersOnline WHERE timestamp<$timeout") or die("");
$result = mysql_db_query($db, "SELECT DISTINCT ip FROM CJ_UsersOnline WHERE file='$PHP_SELF'") or die("");
$user = mysql_num_rows($result);                                                                 
mysql_close();                                                                                               

if ($user == 1){
    echo "<b>$user</b> Bruger På Siden";
}
else{
    echo "<b>$user</b> Brugere På Siden";
}
?>
Avatar billede swaxi Nybegynder
31. marts 2004 - 22:54 #1
$REMOTE_ADDR hedder $_SERVER['REMOTE_ADDR']
$PHP_SELF hedder $_SERVER[PHP_SELF']
$user vil jeg gætte på hedder $_REQUEST['user']
Avatar billede iceb1977 Nybegynder
31. marts 2004 - 23:01 #2
Ok så er den rettet men der er fejl i linie 9

<?php                                                                             

include "config.php";

$t_stamp = time();                                                                                           
$timeout = $t_stamp - $to_secs;

mysql_connect($server, $db_user, $db_pass) or die ("Useronline Database CONNECT Error");                                                                 
mysql_db_query($db, "INSERT INTO CJ_UsersOnline VALUES ('$t_stamp','$_SERVER['REMOTE_ADDR']
','$_SERVER[PHP_SELF']
')") or die("");
mysql_db_query($db, "DELETE FROM CJ_UsersOnline WHERE timestamp<$timeout") or die("");
$result = mysql_db_query($db, "SELECT DISTINCT ip FROM CJ_UsersOnline WHERE file='$PHP_SELF'") or die("");
$_REQUEST['user'] = mysql_num_rows($result);                                                                 
mysql_close();                                                                                               

if ($_REQUEST['user'] == 1){
    echo "<b>$_REQUEST['user']</b> Bruger På Siden";
}
else{
    echo "<b>$_REQUEST['user']</b> Brugere På Siden";
}
?>
Avatar billede iceb1977 Nybegynder
31. marts 2004 - 23:17 #3
hvad kan det skyldes?
Avatar billede detox Nybegynder
31. marts 2004 - 23:20 #4
include "config.php";

$t_stamp = time();                                                                                         
$timeout = $t_stamp - $to_secs;

mysql_connect($server, $db_user, $db_pass) or die ("Useronline Database CONNECT Error");                                                               
mysql_db_query($db, "INSERT INTO CJ_UsersOnline VALUES ('$t_stamp','".$_SERVER['REMOTE_ADDR'].
"','".$_SERVER['PHP_SELF']."')") or die("");
mysql_db_query($db, "DELETE FROM CJ_UsersOnline WHERE timestamp<$timeout") or die("");
$result = mysql_db_query($db, "SELECT DISTINCT ip FROM CJ_UsersOnline WHERE file='$PHP_SELF'") or die("");
$_REQUEST['user'] = mysql_num_rows($result);                                                               
mysql_close();                                                                                             

if ($_REQUEST['user'] == 1){
    echo "<b>".$_REQUEST['user']."</b> Bruger På Siden";
}
else{
    echo "<b>".$_REQUEST['user']."</b> Brugere På Siden";
}
Avatar billede iceb1977 Nybegynder
31. marts 2004 - 23:25 #5
Så nu er der fejl i linie 7

hvad kan det skyldes ??


<?php                                     
include "config.php";

$t_stamp = time();                                                                                         
$timeout = $t_stamp - $to_secs;

mysql_connect($server, $db_user, $db_pass) or die ("Useronline Database CONNECT Error");                                                               
mysql_db_query($db, "INSERT INTO CJ_UsersOnline VALUES ('$t_stamp','".$_SERVER['REMOTE_ADDR'].
"','".$_SERVER['PHP_SELF']."')") or die("");
mysql_db_query($db, "DELETE FROM CJ_UsersOnline WHERE timestamp<$timeout") or die("");
$result = mysql_db_query($db, "SELECT DISTINCT ip FROM CJ_UsersOnline WHERE file='$PHP_SELF'") or die("");
$_REQUEST['user'] = mysql_num_rows($result);                                                               
mysql_close();                                                                                             

if ($_REQUEST['user'] == 1){
    echo "<b>".$_REQUEST['user']."</b> Bruger På Siden";
}
else{
    echo "<b>".$_REQUEST['user']."</b> Brugere På Siden";
}

?>
Avatar billede iceb1977 Nybegynder
31. marts 2004 - 23:27 #6
kan det være min config.php fil ?

Her er den...

<?php
$server = "localhost";                // Your mySQL Server, most cases "localhost"                 
$db_user = "icebdk";            // Your mySQL Username                                       
$db_pass = " * * * * * ";        // Your mySQL Password                                       
$db = "icebdk";                    // Database Name   

$to_secs = 1;        // time to reset IP address's value in seconds, default here is 120 (2 minutes)
?>
Avatar billede detox Nybegynder
31. marts 2004 - 23:28 #7
Prøv istedet:

mysql_connect($server, $db_user, $db_pass) or die (mysql_error());
Avatar billede iceb1977 Nybegynder
31. marts 2004 - 23:31 #8
nej for nu er der ingen connect errors den tæller bare ikke (står

i 0) kan det så ikke være config.php?
Avatar billede detox Nybegynder
31. marts 2004 - 23:34 #9
Ok, så prøv at vælge database:

<?php                                   
include "config.php";

$t_stamp = time();                                                                                       
$timeout = $t_stamp - $to_secs;

mysql_connect($server, $db_user, $db_pass) or die (mysql_error());
mysql_select_db($db) or die(mysql_error());                                                           
mysql_db_query("INSERT INTO CJ_UsersOnline VALUES ('$t_stamp','".$_SERVER['REMOTE_ADDR'].
"','".$_SERVER['PHP_SELF']."')") or die (mysql_error());
mysql_db_query("DELETE FROM CJ_UsersOnline WHERE timestamp<$timeout") or die (mysql_error());
$result = mysql_db_query("SELECT DISTINCT ip FROM CJ_UsersOnline WHERE file='$PHP_SELF'") or die (mysql_error());
$_REQUEST['user'] = mysql_num_rows($result);                                                             
mysql_close();                                                                                           

if ($_REQUEST['user'] == 1){
    echo "<b>".$_REQUEST['user']."</b> Bruger På Siden";
}
else{
    echo "<b>".$_REQUEST['user']."</b> Brugere På Siden";
}
?>
Avatar billede iceb1977 Nybegynder
31. marts 2004 - 23:37 #10
Warning: Wrong parameter count for mysql_db_query() in /var/www/epoxy/web2/icebdk/docs/users.php on line 10

hvordan kan det være ?
Avatar billede iceb1977 Nybegynder
31. marts 2004 - 23:38 #11
koden som den ser ud nu :

<?php                                   
include "config.php";

$t_stamp = time();                                                                                       
$timeout = $t_stamp - $to_secs;

mysql_connect($server, $db_user, $db_pass) or die (mysql_error());
mysql_select_db($db) or die(mysql_error());                                                           
mysql_db_query("INSERT INTO CJ_UsersOnline VALUES ('$t_stamp','".$_SERVER['REMOTE_ADDR'].
"','".$_SERVER['PHP_SELF']."')") or die (mysql_error());
mysql_db_query("DELETE FROM CJ_UsersOnline WHERE timestamp<$timeout") or die (mysql_error());
$result = mysql_db_query("SELECT DISTINCT ip FROM CJ_UsersOnline WHERE file='$PHP_SELF'") or die (mysql_error());
$_REQUEST['user'] = mysql_num_rows($result);                                                             
mysql_close();                                                                                           

if ($_REQUEST['user'] == 1){
    echo "<b>".$_REQUEST['user']."</b> Bruger På Siden";
}
else{
    echo "<b>".$_REQUEST['user']."</b> Brugere På Siden";
}
?>
Avatar billede detox Nybegynder
31. marts 2004 - 23:41 #12
Hvordan ser tabellen ud?
Avatar billede detox Nybegynder
31. marts 2004 - 23:42 #13
Altså hvilke felter har du i den?
Avatar billede iceb1977 Nybegynder
01. april 2004 - 00:14 #14
Feltnavn  Datatype Attributter Nulværdi Standardværdi Ekstra Handling
  timestamp  int(15)      Nej  0               
  ip        varchar(40)  Nej                 
  FILE      varchar(100)  Nej
Avatar billede iceb1977 Nybegynder
01. april 2004 - 00:25 #15
hvad kan der være galt ?
Avatar billede detox Nybegynder
01. april 2004 - 00:35 #16
Arhh, du bruger en forældet query: mysql:db_query():

include "config.php";

$t_stamp = time();                                                                                     
$timeout = $t_stamp - $to_secs;

mysql_connect($server, $db_user, $db_pass) or die (mysql_error());
mysql_select_db($db) or die(mysql_error());                                                         
mysql_query("INSERT INTO CJ_UsersOnline VALUES ('$t_stamp','".$_SERVER['REMOTE_ADDR'].
"','".$_SERVER['PHP_SELF']."')") or die (mysql_error());
mysql_query("DELETE FROM CJ_UsersOnline WHERE timestamp<$timeout") or die (mysql_error());
$result = mysql_query("SELECT DISTINCT ip FROM CJ_UsersOnline WHERE file='$PHP_SELF'") or die (mysql_error());
$_REQUEST['user'] = mysql_num_rows($result);                                                           
mysql_close();                                                                                         

if ($_REQUEST['user'] == 1){
    echo "<b>".$_REQUEST['user']."</b> Bruger På Siden";
}
else{
    echo "<b>".$_REQUEST['user']."</b> Brugere På Siden";
}
Avatar billede iceb1977 Nybegynder
01. april 2004 - 00:58 #17
ja så er den ligesom før hvor den ikke opdaterer og der

bare står 0. Hvad kan der være galt ?
Avatar billede detox Nybegynder
01. april 2004 - 01:03 #18
$result = mysql_query("SELECT DISTINCT ip FROM CJ_UsersOnline WHERE file='$PHP_SELF'") or die (mysql_error());

rettes til:

$result = mysql_query("SELECT DISTINCT ip FROM CJ_UsersOnline WHERE file='".$_SERVER['PHP_SELF']."'") or die (mysql_error());
Avatar billede detox Nybegynder
01. april 2004 - 01:10 #19
Med: $to_secs = 1; får du kun det antal online i 1 sekund, det er måske lige lavt nok sat. Hvad med at give den et minut eller to?
Avatar billede iceb1977 Nybegynder
01. april 2004 - 01:44 #20
nej for så laver den fejl har jeg prøvet men nu virker dette script
hvad er der galt i denne nedenfor?
Der er dog EN fejl her i linie 6 i
phpreferer.php
SCRIPT:

<pre>
<?php
  $time =  date("d/m/y - H:i:s");
  echo "$time\n";
  $ip = $_SERVER['REMOTE_ADDR'] 
  $referer = $_SERVER['HTTP_REFERER']
  echo "$referer\n";
  echo "$ip\n";
  $browser = $HTTP_USER_AGENT; 

  $fp = fopen("log.html",  "a"); 
  fputs($fp, "Time: $timeIP: $ipReferer: $refererBrowser: $browser"); 
  fclose($fp); 
?>
</pre>
Avatar billede detox Nybegynder
01. april 2004 - 02:15 #21
<pre>
<?php
  $time =  date("d/m/y - H:i:s");
  echo "$time\n";
  $ip = $_SERVER['REMOTE_ADDR'];
  $referer = $_SERVER['HTTP_REFERER'];
  echo "$referer\n";
  echo "$ip\n";
  $browser = $_SERVER['HTTP_USER_AGENT'];

  $fp = fopen("log.html",  "a");
  fputs($fp, "Time: $time IP: $ip Referer: $referer Browser: $browser");
  fclose($fp);
?>
</pre>
Avatar billede detox Nybegynder
01. april 2004 - 02:17 #22
Du manglede ; i to linier.
$browser = $HTTP_USER_AGENT; // $browser = $_SERVER['HTTP_USER_AGENT'];
fputs($fp, "Time: $timeIP: $ipReferer: $refererBrowser: $browser"); //
fputs($fp, "Time: $time IP: $ip Referer: $referer Browser: $browser");
Avatar billede iceb1977 Nybegynder
01. april 2004 - 03:44 #23
ok godt så virker den også. Jeg troede det var standard med en

fuld tilladelse på alle php scripts på deres server men jeg skulle

ændre den før den ville skrive log.html

Hvad er det generelt jeg skal rette til hvad ?

Bare så jeg lige kan danne mig et billede af

hvor meget kode jeg skal rette til.
Avatar billede detox Nybegynder
01. april 2004 - 11:27 #24
I nyere versioner af php er register_globals slået fra, så du skal bruge PHP's Superglobals. Se her:
http://dk.php.net/manual/en/language.variables.predefined.php
Desuden kører mange servere under safe_mode. Se her:
http://dk.php.net/features.safe-mode
Avatar billede iceb1977 Nybegynder
01. april 2004 - 12:02 #25
ok tak for hjælpen og de 11 indlæg........ lukker nu.
Avatar billede detox Nybegynder
01. april 2004 - 12:46 #26
Velbekommen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester