[PHP] Warning: Division by zero in:

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Thunk
  • Registratie: Maart 2002
  • Laatst online: 11-08 18:52
Hey, ik heb de volgende code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if (IsSet($content))
{
if (file_exists(site/$content.txt)) 
{
include("site/$content.txt");
}
else
{
echo "Invalid input. Please click a link from the menu.";
}
}
else
{
include ("site/home.txt");
}
?>


Deze code staat in index.php, en moet simpel weg kijken of er een ?content=xxx achter index.php komt, en dan de $content.txt die in ./site/ staat laten zien.
Als er geen content is (mainpage dus), ./site/home.txt laten zien.

Als er geen $content is, laat ie prima home.txt zien.
Als er wel een content is, krijg ik:

Warning: Division by zero in xxx\wwwroot\mijnsite\index.php on line 28
Invalid input. Please click a link from the menu.

Ik zie niet in m'n code wat ik fout doe :S kan iemand me op weg helpen? Waarom een division by zero?

bvd..

Acties:
  • 0 Henk 'm!

  • Glashelder
  • Registratie: September 2002
  • Niet online

Glashelder

Anti Android

Zou het kunnen dat
PHP:
1
include("site/$content.txt");

dit moet zijn:
PHP:
1
include("site/" .$content.txt);


/ is een deelteken. Welke regel is regel 28?'

(hetzelfde geld voor regel 4..)


Zowieso klopt het niet. Als je wilt controleren of er "?content=xx" achter staat, dan doe je dat met $_GET.
PHP:
1
if(isset($_GET['content'])) { //enz } 



Zoiets zou het moeten worden dan:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
if(isset($_GET['content']))
    {

    if (file_exists("site/" .$content .".txt"))
        {
        include("site/" .$content .".txt");
    }

    else
        {
        echo "Invalid input. Please click a link from the menu.";

    }
}

else
    {

    include ("site/home.txt");
}

[ Voor 90% gewijzigd door Glashelder op 08-04-2004 23:57 ]

PV 4915wp op oost, 2680 wp op west, 1900 wp op zuid. pvoutput - AUX 8 kW bi bloc


Acties:
  • 0 Henk 'm!

  • Shadowman
  • Registratie: Januari 2002
  • Niet online
dual-zip schreef op 08 april 2004 @ 23:50:
[..]
PHP:
1
include("site/" .$content.txt);

[..]
Code moet overigens zijn:
PHP:
1
include("site/" . $content . ".txt");


probleem zit zo te zien in regel 4 omdat je daar vergeet om je code tussen " te zetten waardoor de / dus als een deelteken wordt gezien.

[ Voor 25% gewijzigd door Shadowman op 08-04-2004 23:57 . Reden: quote wat ingekort ]


Acties:
  • 0 Henk 'm!

  • Thunk
  • Registratie: Maart 2002
  • Laatst online: 11-08 18:52
Ja, ik ben zowiezo gewend met een oude versie van PHP te werken (anderhalf jaar geleden, gewoon de basis)..

{
include("site/$content.txt");
}

werkt gewoon prima,..

if (file_exists(site/$content.txt)) probeer ik er net in te gooien, en daar krijg ik ineens troubles mee. dat is ook tevens line 28.

Acties:
  • 0 Henk 'm!

Verwijderd

@dual-zip

Je hebt het fout. Regel 6 is goed


Hint: In regel 4, daar zit de fout.

Acties:
  • 0 Henk 'm!

  • Thunk
  • Registratie: Maart 2002
  • Laatst online: 11-08 18:52
Je had gelijk.
Omdat "/site/$content.txt" gewoon werkt bij include, ben ik ook ervan uitgegaan dat dat bij file_exist gewoon werkt.

Ik heb nu:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if (IsSet($content))
{
if (file_exists("site/" .$content .".txt")) 
{
include("site/" .$content .".txt");
}
else
{
echo "Invalid input. Please click a link from the menu.";
}
}
else
{
include ("site/home.txt");
}
?>

en werkt prima. Bedankt voor je aanwijzingen :) Zal me nog maar ff gaan verdiepen in de veranderingen in PHP van t laatste anderhalf jaar or so..

[ Voor 20% gewijzigd door Thunk op 09-04-2004 00:01 ]


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Begin hier eens :)

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • Thunk
  • Registratie: Maart 2002
  • Laatst online: 11-08 18:52
thanx, best handig die nieuwe error reporting :)
Pagina: 1