Toon posts:

[php] ik kom d'r maar niet uit

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik ben weer eens met php ah prutsen, maar ut wil weer eens niet echt lukken :(

kheb nu dit:
PHP:
1
2
3
4
5
<?
if ($view == $null)print "nix"; else
if (file_exists(files/$view.txt) == $false)print "deze info is er nog niet"; 
else include "files/$view.txt";
?>

tis dus de bdoeling dat ie de inhoud vd file laat zien als die bestaat :)

maar als ie niet bestaat moet ie zeggen: deze info is er nog niet :)

maar mijn probleem is dat ie nu de hele tijd laat zien: deze info is er nog niet, ook al is de file er wel :)

waar zit de fout?

ohja, dat:
code:
1
if ($view == $null)print "nix";

is alleen om te kijken of $view gedefineerd is :)

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 13-09 21:26
en wat is $null?

  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
PHP:
1
2
3
<?
if ($view == $null)print "nix";
?>

Waarom niet gewoon :
PHP:
1
2
3
4
5
<?
if(!isset($view)) {
  echo "nix";
}
?>

Is IMHO iets netter.
Bij die file_exist() functie, probeer dit es :
PHP:
1
2
3
<?
if(file_exists("files/${view}.txt"))
?>

Dus niet $view gewoon maar met accolades {} dus ${view} :)

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 13-09 21:26
PHP:
1
2
3
4
5
<?
if ($view == $null)print "nix"; 
elseif (file_exists(files/$view.txt)) print "deze info is er nog niet"; 
else include "files/$view.txt";
?>

Verwijderd

Topicstarter
Op donderdag 29 november 2001 18:53 schreef Wesley het volgende:
en wat is $null?
$null is gwoon nix :D

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 13-09 21:26
$null = ;
lol

doe je toch gewoon

if ($view == '')

Verwijderd

Topicstarter
Op donderdag 29 november 2001 18:54 schreef Wesley het volgende:
PHP:
1
2
3
4
5
<?
if ($view == $null)print "nix"; 
elseif (file_exists(files/$view.txt)) print "deze info is er nog niet"; 
else include "files/$view.txt";
?>
werkt ook niet :(

/e hij wil bij deze gwoon de file includen alsie er niet is :(

Verwijderd

Topicstarter
maar in dat $view zit het probleem niet, dat werkt gwoon :D

Verwijderd

Hè? Wat is dit voor een raar gedoe? Waarom gebruik je niet gewoon
PHP:
1
2
3
4
<?
if (!file_exists("files/$view.txt")) print "deze info is er nog niet";
else include "files/$view.txt";
?>

? (hoewel het niet erg veilig is)

Verwijderd

je vergeet de accolades ( { en } ), dus:

if ($bla) { echo zuenzo }

edit: o was al gezegd...

  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Mag ook zonder, is alleen niet zo netjes, en ik vind het om te :r. Gewoon accolades gebruiken dus :)

Edit : maar alleen als er maar 1 regel code achter staat :)

Verwijderd

Topicstarter
Op donderdag 29 november 2001 19:04 schreef Zef het volgende:
Hè? Wat is dit voor een raar gedoe? Waarom gebruik je niet gewoon
PHP:
1
2
3
4
<?
if (!file_exists("files/$view.txt")) print "deze info is er nog niet";
else include "files/$view.txt";
?>

? (hoewel het niet erg veilig is)
:?

  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Volgens mij moet het zo :
PHP:
1
2
3
4
5
6
7
<?
if(!file_exists("files/${view}.txt")) {
  echo "deze info is er nog niet";
else {
  include "files/${view}.txt";
}
?>

Verwijderd

Topicstarter
Op donderdag 29 november 2001 19:06 schreef Anchorman het volgende:
je vergeet de accolades ( { en } ), dus:

if ($bla) { echo zuenzo }

edit: o was al gezegd...
heeft verder weinig verschil :(

Verwijderd

Op donderdag 29 november 2001 19:09 schreef Schum1 het volgende:

[..]

:?
Wat nou :?
Op donderdag 29 november 2001 19:12 schreef MisterData het volgende:
Volgens mij moet het zo :
PHP:
1
2
3
4
5
6
7
<?
if(!file_exists("files/${view}.txt")) {
  echo "deze info is er nog niet";
else {
  include "files/${view}.txt";
}
?>
Wat is nou het verschil met mijn versie? Ja, iets anders ingesprongen :z

Verwijderd

Topicstarter
Op donderdag 29 november 2001 19:12 schreef MisterData het volgende:
Volgens mij moet het zo :
PHP:
1
2
3
4
5
6
7
<?
if(!file_exists("files/${view}.txt")) {
  echo "deze info is er nog niet";
else {
  include "files/${view}.txt";
}
?>
yes!

dat werkt met wat aanpassingen :D

  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Ow :) Niet gezien :) |:(

Verwijderd

Topicstarter
kheb het uiteindelijk zo:
PHP:
1
2
3
4
5
<?
if ($view == $null)print "Created by: Schum1 ofzo"; 
elseif(!file_exists("files/${view}.txt")) {  echo "Er is nog geen info";}
else {  include "files/${view}.txt";}
?>

thx voor de hulp!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Dat is idd de goede manier, met elseif. Mara denk om je beveiliging van je bestanden !! Iedere gek kan nu een tekstbestand openen op je server !! (ik neem aan dat dat nix uitmaakt, anders moet je ff een kijkje nemen in .htacces op je server, zoek daar maar es iets over op GoT) :)

Verwijderd

Ok in het kader van "Iedereen moet het ooit leren" even mijn commentaar op dit naar mijn idee ontzettend simpele stukje code.
code:
1
if ($view == $null)

Wat denk je te bereiken met $null? Je gaat ervan uit dat $null gelijk is aan leeg toch? Waarom gebruik je dan niet gewoon
code:
1
if(!$view)

Immers, $view is "true" als hij een waarde heeft, false als hij leeg is.
code:
1
if($view == "")

Mag natuurlijk ook.
code:
1
elseif(!file_exists("files/${view}.txt"))

Waarom ${view}? Het mag wel natuurlijk, maar het lijkt me niet echt nodig. Als je twijfelt of hij een variabele wel of niet pakt, gebruik dan
code:
1
elseif(!file_exists("files/" . $view . ".txt"))

ofzo.
code:
1
{  echo "Er is nog geen info";}

Ten eerste vind ik dit erg lelijk, als je dan zo nodig accolades om je enige commando wil zetten doe het dan zo
code:
1
2
3
4
if(...)
{
   echo "Er is nog geen info";
}

Maar goed, dat hangt af van wat je zelf mooi vindt, daar zal ik niet te hard aan trekken.
code:
1
else {  include "files/${view}.txt";}

Hetzelfde als al eerder genoemd. Verder wil ik opmerken dat dit idd heel erg onveilig is. Als ik nou deze pagina met ?view=../../../../etc/passwd (oid) opvraag? Dan krijg ik keurig netjes een overzichtje met alle wachtwoorden van alle users op deze machine (nou ja, bij bewijze van dan).
En waarom laat je de haakjes hier ineens weg :?

  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Ik mag toch aannemen dat je je password file een beetje beveiligt :? (bijvoorbeeld alleen MD5 strings met de username in een lijstje). Als je je scripts dan een beetje waterdicht maakt is er nix aan de hand. Zou alleen het lieft het gebruik van .htacces aanraden :)

Verwijderd

Op donderdag 29 november 2001 19:58 schreef MisterData het volgende:
Ik mag toch aannemen dat je je password file een beetje beveiligt :? (bijvoorbeeld alleen MD5 strings met de username in een lijstje). Als je je scripts dan een beetje waterdicht maakt is er nix aan de hand.
Op donderdag 29 november 2001 19:51 schreef Zef het volgende:
(nou ja, bij bewijze van dan).
:)
Zou alleen het lieft het gebruik van .htacces aanraden :)
Helpt niks.
Pagina: 1