[PHP+MySQL]Bestanden includen ARGH!

Pagina: 1
Acties:

  • Tomaat
  • Registratie: November 2001
  • Laatst online: 13-05 13:50
Afbeeldingslocatie: http://62.163.151.13/~pc01/arggh.bmp

Eerst even wat info...

useronline.php
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php  
include("../include/config.php");
$timeoutseconds=600;

$timestamp=time(); 
$timeout=$timestamp-$timeoutseconds; 
mysql_connect($db_host, $db_user, $db_psw) or die (mysqL_error()); 
mysql_db_query($db_name, "INSERT INTO useronline VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')") or die(mysqL_error()); 
mysql_db_query($db_name, "DELETE FROM useronline WHERE timestamp<$timeout") or die(mysqL_error()); 
$result=mysql_db_query($db_name, "SELECT DISTINCT ip FROM useronline WHERE file='$PHP_SELF'") or die(mysql_error()); 
$user=mysql_num_rows($result); 
mysql_close(); 
?>

config.php
code:
1
2
3
4
5
6
7
8
<?PHP 

$db_host = "localhost";
$db_name = "coffee";
$db_user = "coffee"; 
$db_psw = "******"; 

?>

uptime.php
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
      
      $fd = fopen('/proc/uptime', 'r'); 
      $ar_buf = split(' ', fgets($fd, 4096)); 
      fclose( $fd ); 
      $sys_ticks    = trim($ar_buf[0]); 
      $min_tot    = $sys_ticks / 60; 
      $uur_tot    = $min_tot / 60; 
      $weken      = floor($uur_tot / 24 / 7); 
      $dagen_tot    = floor($uur_tot / 24); 
      $dagen      = floor($dagen_tot - ($weken * 7)); 
      $uur    = floor($uur_tot - ($weken * 7 * 24) - ($dagen * 24)); 
       $uur1     = floor($uur_tot - ($dagen * 24)); 
      $min    = floor($min_tot - ($dagen * 60 * 24) - ($uur1 * 60)); 
      
?> 
  <?php 
        if($weken!=0) 
        {    echo(" $weken "); 
            if($weken==1) echo("week,"); 
            if($weken>=2) echo("weken,"); 
        } 
        if($dagen!=0) 
        {    echo(" $dagen "); 
            if($dagen==1) echo("dag,"); 
            if($dagen>=2) echo("dagen,"); 
        } 
        if($uur!=0) 
        {    echo(" $uur "); 
            if($uur==1) echo("uur,"); 
            if($uur>=2) echo("uren,"); 
        } 
        if($min!=0) 
        {    echo(" $min "); 
            if($min==1) echo("minuut"); 
            if($min>=2) echo("minuten"); 
        } 
?>

body.php
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
include("include/header.php");
?>

<center>
<table class="table1" width="800">
 <tr>
  <td width="650" valign="top" align="left">
<font class="header_text"><a href="http://www.pure-coffee-power.tk" target="blank">Pure Coffee Power</a> / <a href="body.php">Home</a></font>
  </td>  
  <td width="150" valign="top" align="right">
<?php include("include/useronline.php"); ?>
<?php
if ($user==1)
{
echo "<font class=\"header_text\">$user bezoeker online</font>";
}
else {
echo "<font class=\"header_text\">$user bezoekers online.";
}
?>  
  </td>
 </tr>
</table>

ERROR!!!
code:
1
2
Warning: Failed opening 'include/config.php' for inclusion (include_path='.:/php/includes:/usr/share/php') in /home/coffee/public_html/include/useronline.php on line 2
No Database Selected

De situatie:
Ik heb dus een directory waar ik al mijn php bestanden in heb staan die ik include in de rest van de pagina. Die zijn te zien op het plaatje bovenaan in dit topic. In body.php vraag ik o.a. het bestandje useronline.php op. Met dit scriptje kan je zien hoeveel mensen er momenteel op de site zijn. Ook wordt uptime.php aangeroepen. In de directory's gastenboek en koffie_misbruik staan een aantal php pagina's die ook gebruik maken van de php bestanden in de include directory. Vanuit die directory's gaat alles goed en krijg ik dus geen error's. Maar als ik bestanden uit de include directory aanroep vanuit de root directory, dan krijg ik dus die error die hierboven staat. In die Error staat dus "No Database selected" terwijl de optie db_name toch echt in config.php staat en het vanuit de directory gastenboek en koffie_misbruik _wel_ werkt! Mijn vraag is nu dus, wat gaat er fout? Is er soms een regel, dat je het bestand useronline.php niet gebruik mag laten maken van config.php als deze vanuit de root worden aangesproken ofzo? (de root is dus /home/coffee/public_html)?? Ik snap er nu echt helemaal nix meer van :(

Verwijderd

probeer eens ./../include/ etc

Verwijderd

edit:
[fout]

  • Grum
  • Registratie: Juni 2001
  • Niet online
aan het include_path de include dir toevoegen en vooraan alles linken zonder dirnames ervoor.

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 17:38

Gerco

Professional Newbie

[off-topic]
een .BMP file in je topic plempen is niet zo netjes! Maak er een GIF of JPG van.
[/off-topic]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Tomaat
  • Registratie: November 2001
  • Laatst online: 13-05 13:50
Ik ben eruit...
Ik had dus in de map include de bestanden config.php en useronline.php staan. In de maap daaronder stond body.php. Vanuit body.php word include/useronline.php geinclude en vanuit useronline word config.php geinclude. Maaaar, omdat useronline.php en config.php in de zelfde directory staan, is dus het path naar config.php gewoon "config.php" maar voor body.php is het path "include/confiog.php" |:( Logish dat hij hem dus niet kon vinden. Wel klote, want nu kan ik nog niet 1 bestand, useronline.php, gaan gebruiken maar moet ik in gastenboek en koffie_misbruik weer aparte useronline.php bestanden neer gaan zetten, want anders klopt het apth weer niet :( ARRRGGGHHH!!!!

  • Grum
  • Registratie: Juni 2001
  • Niet online
of je leest mijn post gewoon niet he ... |:(

  • Tomaat
  • Registratie: November 2001
  • Laatst online: 13-05 13:50
WHOOHOO!!!
ff een updatje hoor!
Wat ben ik toch slim :P
Ik zet gewoon in body.php include("include/config.php"); EN include("include/useronline.php");! Dan klopt het path wel!
Het duurde even, maar jah, het is nog vroeg he ;)
Pagina: 1