abonnement Unibet Coolblue Bitvavo
pi_26085949
Dan ook maar even in deel 7 plaatsen
Security website

Ik ben van plan een groote website op te zetten met beveiligde en onbeveiligde delen.
Ik wil de beveiliging gaan regelen met een sessie die bij het inloggen word gecreeerd en door te contorleren of alle files wel in het script geladen worden en niet daarbuiten, dmv define.

Of is het misschien beter om ook het ip adres te controleren met het ip adress in de db die bij het inloggen word opgeslagen.

Of een extra cookie voor de site, dit is mijn minst favorite keuze aangezien ik geen idee heb van wat ik dan in de cookie plaats en omdat ik met verschillende subdomeinen werk, dat is in het verleden tot nu toe nu helemaal lekker gegaan.

Daarnaast vroeg ik me af of het slim was aan het eind van elke pagina de db te sluiten
pi_26088914
Het is me gelukt om http:// of www. substring in een hyperlink te krijgen. Maar wanneer ik bv
http://www.test.nl.
intype, dus met een punt aan het einde, komt die ook in de hyperlink. Kan dat anders?

(antwoord jah: wat FOK doet het wel goed Bij mij komt er dus: http://www.test.nl.) Maar hoe...

Mn Code btw:
1$text = preg_replace('/\s(www\.)(\S+)/', ' <a href="http://\\1\\2" target="_blank">\\1\\2</a>', $text);
pi_26089533
tvp

ow en iedere goede / duidelijke sitre over regexp is welkom... (wil [ url] [/url] gaan vervangen enzo, de welbekende tags..)
pi_26091236
Zie mijn regexps in [PHP] voor dummies - Deel 5 .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$regexps = array(
   // http://foo.net => [url=http://foo.net]http://foo.net[/url]
   '#(?<!\[url=)(http://.*?)(?=[.,?:;()<>]*(\s|$))#i'
        => '[url=\1]\1[/url]',

   // www.foo.net => [url=www.foo.net]http://www.foo.net[/url]
   '#(?<!\[url=)(?<!http://)(www\..*?)(?=[.,?:;()<>]*(\s|$))#i'
        => '[url=http://\1]\1[/url]',

   // [url=http://foo.net]Foo[/url] => <a href="http://foo.net">Foo</a>
   '#\[url=(https?://.*?)\](.*?)\[/url\]#i'      
        => '<a href="\1">\2</a>',

   // [url=foo.net]Foo[/url] => <a href="http://foo.net">Foo</a>
   '#\[url=(.*?)\](.*?)\[/url\]#i'               
        => '<a href="http://\1">\2</a>',
);

$output = preg_replace(array_keys($regexps), array_values($regexps), $input);


De manier om http:// en www niet door elkaar te halen is het gebruik van een negative lookbehind assertion

[ Bericht 1% gewijzigd door SuperRembo op 09-04-2005 11:17:47 (be nice to the fok-parser) ]
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26091917
quote:
Op zaterdag 9 april 2005 09:50 schreef SuperRembo het volgende:
Zie mijn regexps in [PHP] voor dummies - Deel 5
Haha, dat zag FOK weer niet...
1http://forum.fok.nl/topic/669725/1/1111#25504972.
wordt wel weer met punt als hyperlink gemaakt... Misschien handig om die laatste punt weg te halen...

Dank overigens, zal ff lezen.
pi_26094009
quote:
Op zaterdag 9 april 2005 01:57 schreef mschol het volgende:
tvp

ow en iedere goede / duidelijke sitre over regexp is welkom... (wil [ url] [/url] gaan vervangen enzo, de welbekende tags..)
http://www.regular-expressions.info/
http://en.wikipedia.org/wiki/Regular_expression#External_links
  zaterdag 9 april 2005 @ 16:33:18 #8
25153 MrLunk
a journey thru cyberspace
pi_26100018
Hi digi-Fok!ers,

N00b Vraaggie misschien maar help me alsjeblieft ...

Als ik deze url intik:

1http://www.somedomain.com/link.php?link=http://www.externalsite.com


en ik wil de url die dan in $link zit geopend hebben in het bottom frame van de link.php file die er zo uitziet:

1
2
3
4
5
6
7
8
9
10
11
12
<html>
<head>
<title>PHP link.php file</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<frameset rows="93,94">
  <frame src="http://www.somedomain.com/topframe.htm">
  <frame src="$link">
</frameset>

</html>


Hoe moet ik deze code dan aanpassen om dat in PHP te laten werken ?

Wil iemand misschien de code van deze link.php zo aanpassen dat dit werkt ?
Ik heb net een uur zitten rotzooien e het wil maar niet lukken...

Ik wil dit gaan gebruiken in beoordelings tool...

Alvast vet bedankt iig !

Greetz,
Peter Lunk
pi_26100384
1
2
3
4
5
6
7
8
9
10
11
12
<html>
<head>
<title>PHP link.php file</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<frameset rows="93,94">
  <frame src="http://www.somedomain.com/topframe.htm">
  <frame src="<?=$_GET['link'];?>">
</frameset>

</html>
pi_26113017
wat is het verschil tussen
1
2
3
4
5
6
<frameset rows="93,94">
  <frame src="http://www.somedomain.com/topframe.htm">
  <frame src="<?=$_GET['link'];?>">
</frameset>

</html>


en

1
2
3
4
5
6
<frameset rows="93,94">
  <frame src="http://www.somedomain.com/topframe.htm">
  <frame src="<?echo $_GET['link'];?>">
</frameset>

</html>


?

En gelijk een tvp
pi_26113388
1<?='Hello World';?>

is wat korter dan
1<? echo 'Hello World'; ?>
quote:
echo() also has a shortcut syntax, where you can immediately follow the opening tag with an equals sign. This short syntax only works with the short_open_tag configuration setting enabled.

1I have <?=$foo?> foo.
http://nl3.php.net/manual/en/function.echo.php
  zondag 10 april 2005 @ 00:48:17 #12
25153 MrLunk
a journey thru cyberspace
pi_26113924
MrLunk
quote:
Op zaterdag 9 april 2005 16:44 schreef sylvesterrr het volgende:

[ code verwijderd ]
thank you

see how a simple example teaches so much

Greetz,
pi_26128125
quote:
http://www.hio.hen.nl/sem(...)rcolleges/Regexp.ppt
nederlandse powerpoint presentatie over reguliere expressies, kijk maar wat je er aan hebt als je het college niet hebt gehad (wat ik wel heb gehad)
  FOK!-Schrikkelbaas zondag 10 april 2005 @ 18:49:42 #14
1972 Swetsenegger
Egocentrische Narcist
pi_26128212
Een aardige regexp start
En tevens verkapte tvp uiteraard.
pi_26128525
Sv3n, kan je nog eens uitleggen waarom het gebruik van auto-increment id's niet goed zou zijn?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas zondag 10 april 2005 @ 19:06:22 #16
1972 Swetsenegger
Egocentrische Narcist
pi_26128666
quote:
Op zondag 10 april 2005 19:01 schreef SuperRembo het volgende:
Sv3n, kan je nog eens uitleggen waarom het gebruik van auto-increment id's niet goed zou zijn?
Is de vraag nog steeds niet beantwoord?
pi_26129946
quote:
Op zondag 10 april 2005 19:06 schreef Swetsenegger het volgende:

[..]

Is de vraag nog steeds niet beantwoord?
"Omdat mijn leraren het zeggen" vind ik geen antwoord
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26139763
tvp
pi_26140353
Niemand een tip voor mijn post?
pi_26150826
Het zal wel heel simpel zijn (maar daar is dit topic ook voor ), maar ik kom er ff niet op:
Ik heb een string, b.v. twee losse woorden, maar nu wil ik dat alle spaties eruit verwijderd worden, zodat alleen de woorden achter elkaar overblijven als één groot woord.
Hoe doe ik dat?
pi_26150951
1
2
3
4
5
<?
$str = 'een twee drie vier vijf zes zeven acht negen tien';
$newStr = str_replace(' ', '', $str);
echo $newStr;
?>

output: eentweedrieviervijfzeszevenachtnegentien



[ Bericht 2% gewijzigd door sylvesterrr op 11-04-2005 17:33:33 ]
  Lieve Belg maandag 11 april 2005 @ 17:14:33 #22
86282 Jump
[Belg.] Jump (de ~ (m.))
pi_26151017
ook nogeen ; achteraan die eerste commandoregel wel
Op zondag 28 oktober 2007 01:07 schreef clumsy_clown het volgende:
Jump daarentegen, is wáy minder braaf en lief dan hij lijkt
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; «shmoop|dingen» jawel, jij bent Superjump
pi_26151492
quote:
Op maandag 11 april 2005 17:14 schreef Jump het volgende:
ook nogeen ; achteraan die eerste commandoregel wel
uiteraard
pi_26151548
quote:
Op maandag 11 april 2005 17:11 schreef sylvesterrr het volgende:

[ code verwijderd ]

output: eentweedrieviervijfzeszevenachtnegentien

Shit ja, gewoon str_replace natuurlijk

Bedankt
pi_26159549
Ik wil een functie maken, wanneer ik tags($string); doe dat hij dit uitvoert op $string;

1
2
3
$search  = array ('[b]', '[/b]', '[i]', '[/i]', '[u]', '[/u]', '[ul]', '[/ul]', '[li]', '[/li]');
$replace = array ('<b>', '</b>', '<i>', '</i>', '<u>', '</u>', '<ul>', '</ul>', '<li>', '</li>');
$string = str_replace($search, $replace, $string);


Hiervoor heb ik:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?

$text = "blaat[b]boe[/b]bb";

function tags($text)
{
global $text;

$search  = array ('[b]', '[/b]', '[i]', '[/i]', '[u]', '[/u]', '[ul]', '[/ul]', '[li]', '[/li]');
$replace = array ('<b>', '</b>', '<i>', '</i>', '<u>', '</u>', '<ul>', '</ul>', '<li>', '</li>');
$text = str_replace($search, $replace, $text);
}

tags($text);

?>


Kan ik het functie niet maken zodat ik $text kan veranderen in wat ik wil.
Dus tags($bla); of tags($foo);
Want mn string is niet altijd $text ...
ne okuyon, bokmu var?
pi_26159696
Zonder global

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
php
$text
= "blaat[b]boe[/b]bb";

function
tags($arg) {
        
$search  = array ('[b]', '[/b]', '[i]', '[/i]', '[u]', '[/u]', '[ul]', '[/ul]', '[li]', '[/li]');
        
$replace = array ('<b>', '</b>', '<i>', '</i>', '<u>', '</u>', '<ul>', '</ul>', '<li>', '</li>');
        return
str_replace($search, $replace, $arg);
}

echo
tags("blaat[b]boe[/b]bb")."\n";
echo
tags("bla[i]asdasd[/i]")."\n";
?>
pi_26159713
Je hele functie opbouw is niet goed.
Dat met die global is helemaal niet nodig en al helemaaal niet netjes.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?

$message = "blaat[b]boe[/b]bb";
$blaat = "bladiebla tekststring met [b]vet[/b] gedrukte tekst";

function tags($text)
{
   $search  = array ('[b]', '[/b]', '[i]', '[/i]', '[u]', '[/u]',
 '[ul]', '[/ul]', '[li]', '[/li]');
   $replace = array ('<b>', '</b>', '<i>', '</i>', '<u>', '</u>', 
'<ul>', '</ul>', '<li>', '</li>');
   $text = str_replace($search, $replace, $text);
   return $text;
}

$message = tags($message);
//of
$blaat = tags($blaat);

?>
pi_26159752
ikke_ook thanks.

Ik werk nooit met functies, vandaar dat ik er niks van bak.
ne okuyon, bokmu var?
pi_26159781
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26159800
Moet je wel proberen saban, is namelijk heel handig. Vaak moet je meerdere keren dezelfde dingen doen, bijvoorbeeld zoals je hier doet. En dan zijn functies enorm handig
pi_26159827
JA, door de functie op te roepen met:

tags($bla) of tags($foo) of whatever.

Die global $text hoeft (geloof ik) niet. Wel een print $text toevoegen aan de function.
pi_26159845
quote:
Op maandag 11 april 2005 23:17 schreef ikke_ook het volgende:
Moet je wel proberen saban, is namelijk heel handig. Vaak moet je meerdere keren dezelfde dingen doen, bijvoorbeeld zoals je hier doet. En dan zijn functies enorm handig
Proberen, dat is wat ik ook gedaan hebt maar kwam er niet uit.
Dankzij jou/jullie, nu wel
ne okuyon, bokmu var?
pi_26159846
Eindelijk heb ik hier iemand eerder kunnen helpen dan SuperRembo
pi_26159865
prima, daar is dit topic voor he

-edit-

Einde slowchat
pi_26159889
quote:
Op maandag 11 april 2005 23:19 schreef ikke_ook het volgende:
Eindelijk heb ik hier iemand eerder kunnen helpen dan SuperRembo
Ik moest me ff inhouden
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26169425
Hoe kun je anders dan met GET (via url) een variable doorsturen wanneer je gebruik maakt van
header("location: ");
pi_26169813
Werkt setcookie();?

Dus:
1
2
setcookie("TestCookie", $value);
header("location: pagina.php";

En in pagina.php via $_cookie[TestCookie]; hem opvragen?
pi_26170025
quote:
Op dinsdag 12 april 2005 13:25 schreef the_disheaver het volgende:
Hoe kun je anders dan met GET (via url) een variable doorsturen wanneer je gebruik maakt van
header("location: ");
Je zou een variabele door kunnen sturen d.m.v. van een formuliertje met de POST methode.

In een cookie zetten zou ik niet doen, dat is alleen maar onhandig. Zet het dan gewoon in een sessie.
Dus:

1
2
$variabele = "bla";
$_SESSION['variabele'] = $variabele;

Vergeet dan niet om in de pagina session_start(); bovenaan te zetten.
pi_26170171
Tof! hij doet het

cookie werkt ook, maar aangepast naar session!
pi_26170203
quote:
Op dinsdag 12 april 2005 13:57 schreef the_disheaver het volgende:
Tof! hij doet het
quote:
cookie werkt ook, maar aangepast naar session!
Ja cookie werkt ook, maar dat is onhandig, omdat je dan voor een variabele een bestandje gaat aanmaken op de computer van de gebruiker. Is nergens voor nodig dus.
pi_26170935
Ik heb steeds output per begin letter. Dus alles wat met een a begint, alles met een b etc. Dit met de volgende sqlstring:
1
2
3
<?php
$SqlString
= "SELECT * FROM items WHERE name LIKE '$a%' AND category = 'ringtones';";
?>


Dit werk allemaal prima, maar nu zijn er ook items die beginnen met een numeriek teken. Bestaat er nou iets dat alles wat begint met een numeriek teken selecteerd? Of weet iemand een andere manier hoe ik dit aan kan pakken?

[ Bericht 32% gewijzigd door Da_Koen op 12-04-2005 14:41:07 ]
pi_26173453
hey Cookies..

daar had ik net een vraagje over..

Als ik een cookie zet om een stylesheet te kiezen:

1
2
3
<?php 
setcookie("css", $_style , time()+3600000);
?>


hoe kan ik dan dat kreng uitlezen om die stylesheet gelijk toe te passen bij een volgend bezoek ?

zelf zat ik (n00b als ik ben) te klooien met
1
2
3
<?
if (isset($_COOKIE["css"]))
 


als ... dan.. en dat dan heb ik dus niet

en als dat cookie (met die $_style) er dus niet is moet hij eigenlijk het koekje resetten (althans het klokje) en anders kijken of de stylesheet wellicht gekozen is in de URL..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
elseif ($_GET['style'] == "1") 

{$_style="style1.css";}

elseif ($_GET['style'] == "2") 

{$_style="style2.css";}

elseif ($_GET['style'] == "3") 

{$_style="style3.css";}

elseif ($_GET['style'] == "4") 

{$_style="style4.css";}

elseif ($_GET['style'] == "5") 

{$_style="style5.css";}

else 

{$_style="style.css";}
?>


wie vult het ontbrekende stukje in
sorry.. ik kan er ook niets aan doen
pi_26174652
quote:
Op dinsdag 12 april 2005 14:33 schreef Da_Koen het volgende:
Ik heb steeds output per begin letter. Dus alles wat met een a begint, alles met een b etc. Dit met de volgende sqlstring:
[ code verwijderd ]



Dit werk allemaal prima, maar nu zijn er ook items die beginnen met een numeriek teken. Bestaat er nou iets dat alles wat begint met een numeriek teken selecteerd? Of weet iemand een andere manier hoe ik dit aan kan pakken?
http://dev.mysql.com/doc/mysql/en/regexp.html

1
2
3
SELECT * 
FROM items
WHERE name REGEXP '^[0-9]'


(niet getest)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26176231
quote:
Op dinsdag 12 april 2005 16:19 schreef raarmaarwaar het volgende:
hey Cookies..

daar had ik net een vraagje over..

Als ik een cookie zet om een stylesheet te kiezen:
[ code verwijderd ]

hoe kan ik dan dat kreng uitlezen om die stylesheet gelijk toe te passen bij een volgend bezoek ?

zelf zat ik (n00b als ik ben) te klooien met
[ code verwijderd ]

als ... dan.. en dat dan heb ik dus niet

en als dat cookie (met die $_style) er dus niet is moet hij eigenlijk het koekje resetten (althans het klokje) en anders kijken of de stylesheet wellicht gekozen is in de URL..
[ code verwijderd ]

wie vult het ontbrekende stukje in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
php
if(!isset($_COOKIE['css'])) {
// cookie niet aanwezig
if(!isset($_GET['css']) or empty($_GET['css'])) {
//$_GET ook niet aanwezig
setcookie('''') //default cookie setten
}
else {
//$_GET waarde wel aanwezig
setcookie('') //cookie met $_GET waardes zetten
}//end else
}//end if
else {
// cookie was aanwezig, doe niks
}
?>


Lijkt me denk ik het simpelste.
pi_26176314
quote:
Op dinsdag 12 april 2005 16:19 schreef raarmaarwaar het volgende:
hey Cookies..

daar had ik net een vraagje over..

Als ik een cookie zet om een stylesheet te kiezen:
[ code verwijderd ]

hoe kan ik dan dat kreng uitlezen om die stylesheet gelijk toe te passen bij een volgend bezoek ?

zelf zat ik (n00b als ik ben) te klooien met
[ code verwijderd ]

als ... dan.. en dat dan heb ik dus niet

en als dat cookie (met die $_style) er dus niet is moet hij eigenlijk het koekje resetten (althans het klokje) en anders kijken of de stylesheet wellicht gekozen is in de URL..
[ code verwijderd ]

wie vult het ontbrekende stukje in
1
2
3
4
5
6
7
8
9
<?php
if (isset($_COOKIE['css'])) {
$_style = $_COOKIE['css'];

} else {
$stylenr = $_GET['style'];
$_style = "style".$stylenr.".css";
}
?>

Zoiets
pi_26179448
Ik heb een script gemaakt om smiley codes om te toveren naar de juiste link van de smileys.

Dit is mijn script:
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
39
40
41
42
43
44
<?
function smileys($text)
{

$search = "array (";
$replace = "array (";

$SQL = "SELECT smcode FROM smileys";
$query = mysql_query($SQL);

while ( $result = mysql_fetch_array ( $query ) ) {

$smcode = $result['smcode'];
$search .= "'" . $smcode . "', ";

}

$SQL = "SELECT smlink FROM smileys";
$query = mysql_query($SQL);

while ( $result = mysql_fetch_array ( $query ) ) {

$smlink = $result['smlink'];
$replace .= "'" . $smlink . "', ";

}

$search =  substr($search, 0, -2);
$search .= ")";

$replace = substr($replace, 0, -2);
$replace .= ")";

$text = str_replace($search, $replace, $text);

return $text;

}

$foo = "dit is een test :) fok";
smileys($foo)

echo $foo;
?>


Maar ik krijg gewoon dit op mijn beeld, de smiley wordt niet vervangen.
1dit is een test :) fok


Ik vermoedt dat mijn fout in de arrays zit maar ben er niet zeker van, anyone ?

/edit
En
1echo $search; 

Levert dit op
1array (':D', ':@', ':W', ':W', ':9') 
ne okuyon, bokmu var?
  dinsdag 12 april 2005 @ 20:38:51 #47
2738 Knut
Loyal Dog
pi_26179539
$foo=smileys($foo);
[20:25] [Knut] Een vrouw met een kerst fetish...
[20:26] [Knut] Niet zo letterlijk dat ik haar met baard om moet HOHOHOEN
[20:26] [Knut] maar je snapt het idee wel.
pi_26179612
Hier zitten wel heel veel rare dingen in.
Waarom zou je smileys in je database zetten?
Waarom zou je de hele code van een smiley plaatje in je database zetten?
2 query's om de codes en de plaatjes op te vragen? Je wil juist de code en 't plaatje bij elkaar houden.
De resultaten zet je in een string "array(':-)',':-(')"
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26180003
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
php
function smileys($text) {

        
$SQL = "SELECT smcode,smlink FROM smileys";
        
$query = mysql_query($SQL);

        
$search = Array();
        
$replace = Array();
        while (
$result = mysql_fetch_array($query) ) {
                
$search[] = $result['smcode'];
                
$replace[] = $result['smlink'];
        }
        return
str_replace($search, $replace, $text);
}

echo
smileys("dit is een test :) fok");
?>


zoiets?

[ Bericht 2% gewijzigd door devzero op 12-04-2005 21:06:06 (query foutje (dank je jump)) ]
pi_26180478
Dus je wil iedere keer dat je de functie smileys() een MySQL-query uitvoeren? Lijkt mij niet echt efficient.
pi_26180767
quote:
Op dinsdag 12 april 2005 21:14 schreef sylvesterrr het volgende:
Dus je wil iedere keer dat je de functie smileys() een MySQL-query uitvoeren? Lijkt mij niet echt efficient.
Ach wat maakt zo een query uit ?
Ik heb geen tientallen hits per seconde, hooguit paar per minuut.

Of ik moet het zonder database doen, maar dan moet ik steeds mijn .php bestand wijzigen.

@devzero, thanks het werkt.
ne okuyon, bokmu var?
pi_26187194
quote:
Op dinsdag 12 april 2005 21:23 schreef saban het volgende:
Ach wat maakt zo een query uit ?
Ik heb geen tientallen hits per seconde, hooguit paar per minuut.
Ach, als het sneller kan, waarom dan niet? Wie weet wat je verder nog wil doen op een pagina.
quote:
Of ik moet het zonder database doen, maar dan moet ik steeds mijn .php bestand wijzigen.
Je zult het toch ergens moeten bijhouden, en hoevaak voeg je nieuwe smileys toe Als je strtr gebruikt dan kun je het bijvoorbeeld zo doen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$smileys = Array(
        ":)" => "<img src=\"http://saban.info/smile.gif\">",
        ":{" => "<img src=\"http://saban.info/nosmile.gif\">",
        ":P" => "<img src=\"http://saban.info/tong.gif\">"
);

function doSmileys($text) {
        global $smileys;

        return strtr($text, $smileys);
}

echo doSmileys("hoi saban :). Je komt er nog wel :P");
?>
pi_26191568
Vraagje over data van mysql naar excel.
Alles lukt me, alleen 1 dingetje niet.
jaartallen moeten weergegeven worden als zijnde 99 of 04 (1999 of 2004).
04 wordt door excel gekilled naar 4
99 is wel goed
daarnaast kan het voorkomen dat de jaartallen 88-05 oid zijn (1988-2005) die worden gezien door excel als tekst.

maar alles moet als tekst gezien worden
door in een cel = 45&"" te typen zal de 45 als tekst gezien worden.
hoe zorg ik ervoor dat ik in php aangeef dat een bepaalde string als functie gezien moet worden, want hij plakt nml gewoon de string (= 45&"") in de cel en vooert hem niet uit, pas wanneer je in de cel gaat staan en op enter drukt ofzo.

De complete code waar het omgaat, check de comments die aangeven waar het stukje staat waar het om gaat:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php 

function stringsplit($the_string, $the_number) 

   $startoff_nr = 0; 
   $the_output_array = array(); 
   for($z = 1; $z < ceil(strlen($the_string)/$the_number)+1 ; $z++) 
   {     
       $startoff_nr = ($the_number*$z)-$the_number; 
       $the_output_array[] = substr($the_string, $startoff_nr, $the_number); 
   } 
   return($the_output_array); 


$query = "SELECT MAX(registeraantal) AS registeraantal FROM register" or die(mysql_error()); 
$resultaat = mysql_query($query) or die(mysql_error()); 
$rij= mysql_fetch_assoc($resultaat); 
$count="".$rij['registeraantal'].""; 
$aantal=$count; 

//knipknip
$counter=1; 
while ($counter<=$count) { 
//data goed zetten 
$j = "registerj".$counter; 
$jj = "registerjj".$counter; 
$plaats = "registerp".$counter; 
$club = "registerc".$counter; 
$order = "registerjj".$counter; 

//knipknip
$export = mysql_query($select); 
//$fields = mysql_num_fields($export); 
$counting=$counter+1; 

while($row = mysql_fetch_row($export)) { 
    $line = ''; 
    $str1 = $row[0]; 
    $str2 = $row[1]; 
    $jaar1 = stringsplit($str1, 2); 
    $jaar2 = stringsplit($str2, 2);
//
//@@@@zoals de code eerst was
//
   if ($jaar1[1] == $jaar2[1]) { 
       $date = "'".$jaar2[1].""; 
   } else { 
       $date = "'".$jaar1[1]."-".$jaar2[1].""; 
   } 
//
//@@@@zoals de codezou moeten zijn (maar door excel verkeerd wordt 'gelezen')
//
   if ($jaar1[1] == $jaar2[1]) { 
       $date = "=".$jaar2[1].""; 
   } else { 
       $date= "=".$jaar1[1]."&-&".$jaar2[1]."";
   } 
    $name = "".$row[3]." ".$row[4].""; 
    $a = array($date,$row[2],$name,$row[5],$row[6]); 
    foreach($a as $value) { 
        if ((!isset($value)) OR ($value == "")) { 
            $value = "\n"; 
        } else { 
            $value = str_replace('"', '""', $value); 
            $value = '"' . $value . '"' . "\t"; 
        } 
        $line .= $value; 
    } 
$nummer++;                                            
    $data .= '"'.$nummer.'"'."\t".trim($line)."\n"; 

$nummer=0; 
$data  = str_replace("\r","",$data); 
if ($data == "") { 
    $data= "\n(0) Records Found!\n";                          


$data = "".$data."\n\n".$done[$counting]."\n\n"; 
$counter++; 


//for ($i = 0; $i < $fields; $i++) { 
//    $header .= mysql_field_name($export, $i) . "\t"; 
//} 
$text=$done[1]; 
header("Content-type: application/x-msdownload"); 
header("Content-Disposition: attachment; filename=".date("d-m-Y")."_register.xls"); 
//filename=extraction.txt"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 
print "$text\n\n$data"; 
?> 


de xls is hier te zien:

http://achterop23.downfire.com/finished/register/extract2txt/

[ Bericht 6% gewijzigd door achterop23 op 13-04-2005 13:55:51 ]
pi_26193280
Je maakt geen Excel bestand, maar een CSV bestand. Comma Separated Values, of in dit geval eigenlijk tab gescheiden. Je moet dan ook niet verwachten dat je Excel functies kan gebruiken.
Waarom maak je niet gewoon 2 kolommen met 4-cijferige jaartallen?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26194970
omdat het juist de bedoeling is om het eruit te krijgen in 1 kolom als zijne 99-04 of 05 oid.

als laatste redmiddel kan ik altjid nog '99-'05 en '05 doen, dit werkt wel. Maar toch liever zonder die '.

niemand een oplossing?
op een engels forum had iemand een antwoord met concatenate, maar dat snap ik niet.

[ Bericht 1% gewijzigd door achterop23 op 13-04-2005 14:09:51 ]
pi_26200753
Het staat goed in de CSV file. Het wordt eigenlijk verkeerd geinterpreteerd door Excel
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26201903
quote:
Op woensdag 13 april 2005 18:04 schreef SuperRembo het volgende:
Het staat goed in de CSV file. Het wordt eigenlijk verkeerd geinterpreteerd door Excel
blame excel...
ik kan het wel laten wegschrijven als txt (csv) en dan importeren in excel en dan de betreffende kolom als zijnde text te laten zien. Dan is er niets aan de hand.
pi_26207470
Ik krijg net een mailtje van een gebruiker van mijn site, en die zegt dat ze opeens was uitgelogd.
Ik heb mijn inloggen geregeld met een cookie en een sessie.
mn session.cookie_lifetime staat op 0 (dus hij is pas weg als je je browser afsluit toch?)
maar die persoon was dus uitgelogd zonder dat ze haar browser had afgesloten. Dit kan toch eigenlijk niet dan?
pi_26212276
quote:
Op woensdag 13 april 2005 22:18 schreef ikke_ook het volgende:
Ik krijg net een mailtje van een gebruiker van mijn site, en die zegt dat ze opeens was uitgelogd.
Ik heb mijn inloggen geregeld met een cookie en een sessie.
mn session.cookie_lifetime staat op 0 (dus hij is pas weg als je je browser afsluit toch?)
maar die persoon was dus uitgelogd zonder dat ze haar browser had afgesloten. Dit kan toch eigenlijk niet dan?
Niet op een uitlog-link gedrukt?

Ik zou eerst ff wachten tot dat het vaker voor komt...
  donderdag 14 april 2005 @ 09:31:01 #60
85514 ralfie
!Yvan eht nioj
pi_26214978
ik had eigenlijk twee vraagjes:
de eerste: hoe kan ik het snelste een bepaalde regel uit een bestand editen? bijvoorbeeld ik wil alleen regel 5 editen, de enige manier die ik heb gevonden is
1
2
3
4
5
6
$filearray = file['file.txt'];
$filearray[5] = "new line";
$filewrite = fopen("file.txt","w");
foreach ($filearray as $line)
      fwrite($filewrite, $line);
fclose($filewrite);
maar deze methode is erg omslachtig aangezien ie het hele bestand moet lezen en schrijven. dit moet toch sneller kunnen?

vraag 2: stel ik heb een textarea, en daarin wil ik een heel bestand laten zien om te editen en op te slaan. zoals hieronder:
1
2
3
4
5
6
7
8
9
<form action="my.php" method="POST"><textarea name="file">
<?php
$oldfile = file[myfile.txt];
foreach ($oldfile as $line)
             echo "$line";
?>
</textarea>
<input type="submit" value="submit">
</form>
het lukt me goed om elke regel apart te laten printen, maar het terugzetten gaat natuurlijk voor geen meter, aangezien de EOL tekens niet meegaan. Alles wat ik POST opvang zou dan op een regel geprint worden en dat moet niet. Ik heb dit opgelost door aan het eind van elke regel [eol] te printen en met explode("[eol]", $string) er weer een array van te maken die ik kan wegschrijven, maar dit ziet er niet erg mooi uit. weet iemand een beter alternatief?
zo heb ik het nu dus:
1
2
3
4
5
6
7
8
9
<form action="my.php" method="POST"><textarea name="file">
<?php
$oldfile = file['myfile.txt'];
foreach ($oldfile as $line)
             echo "$line [eol]";
?>
</textarea>
<input type="submit" value="submit">
</form>

en voor het POST gedeelte:
1
2
3
4
5
6
7
8
if (isset($_POST['file'])
{
           $newfile = explode("[eol]", $_POST['file']);
           $filewrite = fopen('myfile.txt',"w");
           foreach ($filearray as $line)
          fwrite($filewrite, $line);
            fclose($filewrite);
}

het wordt mss een vrij groot bestand (je moet wat als je geen mysql heb) dus moet het eigenlijk wel zo snel mogelijk uitgevoerd kunnen worden. Iemand een idee?
pi_26219381
quote:
Op donderdag 14 april 2005 09:31 schreef ralfie het volgende:
je moet wat als je geen mysql heb
Als dat het probleem is, misschien is SQLite dan iets voor je.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26225151
Ik wil graag alle waardes uit alle cellen uit 1 kolom bij elkaar optellen zodat ik het totaal van alle cellen samen heb. Kan dit met mysql of moet ik dan gewoon een query maken om al die waardes op te halen en dan in een while loopje allemaal optellen?

En ik wil eigenlijk ook graag weten wat het meest voorkomende getal is in een bepaalde kolom, hoe kan ik dat handig doen?

[ Bericht 11% gewijzigd door ikke_ook op 14-04-2005 17:05:54 ]
pi_26227215
quote:
Op donderdag 14 april 2005 16:42 schreef ikke_ook het volgende:
Ik wil graag alle waardes uit alle cellen uit 1 kolom bij elkaar optellen zodat ik het totaal van alle cellen samen heb. Kan dit met mysql of moet ik dan gewoon een query maken om al die waardes op te halen en dan in een while loopje allemaal optellen?

En ik wil eigenlijk ook graag weten wat het meest voorkomende getal is in een bepaalde kolom, hoe kan ik dat handig doen?
Dat kan met de wiskundige functies van MySQL.
Kijk eens hier:
http://dev.mysql.com/doc/mysql/en/mathematical-functions.html
pi_26228140
quote:
Op donderdag 14 april 2005 18:00 schreef DutchBlood het volgende:

[..]

Dat kan met de wiskundige functies van MySQL.
Kijk eens hier:
http://dev.mysql.com/doc/mysql/en/mathematical-functions.html
De waarden van een colom optellen doe je met SUM(). Dat is een van de vele aggregate functions.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26235149
Dankjullie wel heren
Had ik zelf ook nog wel kunnen bedenken natuurlijk
pi_26235184
Ik vind dat random icoon van jou maar niks SuperRembo Nu kan ik je niet meer makkelijk herkennen
pi_26235659
Nieuw vraagje
Ik ben bezig met een statistieken pagina.(voor mn vogelaars pagina)
Ik heb een tabel met alle waarnemingen waarin wordt gewerkt met birdID's en een tabel met vogelnamen waarin deze birdID's terug komen.
Nu wil ik een tabel maken waarin staat hoeveel keer iedere vogel voorkomt.
Daarvoor heb ik de volgende query bedacht:
1
2
SELECT birds.nlname FROM birds RIGHT JOIN determinations ON 
birds.bid = determinations.bid

Waarmee ik alle waarnemingen terugkrijg die ik daarna (op een nog onbekende manier ) op ga tellen en in een array op wil slaan om vervolgens te printen.
Alleen ik heb het gevoel dat dit niet bijster efficient is.
Kan dat efficienter en zo ja, hoe?
pi_26236119
hmm, het volgende werkt best goed en snel eigenlijk
1
2
3
4
5
6
7
8
9
10
   $query5 = "SELECT birds.nlname FROM birds RIGHT JOIN determinations 
ON birds.bid = determinations.bid";
   $result5 = mysql_query($query5);
   while($row = mysql_fetch_assoc($result5)){
      $array[$row['nlname']]++;
   }
   asort($array);
   foreach($array as $field => $value){
      $Str = "<tr><td>".$field."</td><td width=10>".$value."</td></tr>".$Str;
   }
pi_26236202
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26236634
Dat scheelt toch 35% in tijd dank
(Bij 1500 rijen)

[ Bericht 9% gewijzigd door ikke_ook op 15-04-2005 00:01:01 ]
pi_26285090
Heeft er iemand een leuk [`quote][/quote] preg_replace ?

Dus dat er wanneer [`quote]tekst[/quote] wordt gezien, dat dat wordt replaced met;

1
2
3
4
5
6
7
8
9
10
<table border="0" cellpadding="0" cellspacing="0" width="400">
      <tr>
        <td width="50"> </td>
        <td width="350">quote:</td>
      </tr>
      <tr>
        <td width="50"> </td>
        <td width="350" bgcolor="#E7E7E7">tekst</td>
      </tr>
    </table>


Je moet die ` even wegdenken in [quote]
ne okuyon, bokmu var?
  zondag 17 april 2005 @ 15:14:03 #73
19840 Libris
Live from Singapore
pi_26297173
quote:
Op zondag 17 april 2005 15:07 schreef Masegate het volgende:
Hoi,
ik ben met een site in php bezig en ik heb een formulier. Zodra je deze verzend worden de gegevens in de database gegooid en als dat allemaal goed is gegaan krijg je een berichtje. (Het bericht is geplaatst, klik hier om terug te gaan.)

Nu zou ik alleen willen dat je ook automatisch na 2 of 3 seconden wordt teruggestuurd. Je ziet dit ook altijd op die fora zoals phpBB. Ik kon uit de broncode echter niet achterhalen hoe het nou moet. Google leverde ook vrij weinig op.
Kan iemand mij uitleggen hoe ik dit aanpak?

Alvast bedankt!
Groeten, Dennis
header ("refresh: 2; URL = index.php");
  FOK!-Schrikkelbaas zondag 17 april 2005 @ 15:24:48 #74
1972 Swetsenegger
Egocentrische Narcist
pi_26297465
quote:
Op zaterdag 16 april 2005 23:36 schreef saban het volgende:
Heeft er iemand een leuk [`quote]['/quote] preg_replace ?

Dus dat er wanneer [`quote]tekst['/quote] wordt gezien, dat dat wordt replaced met;
[ code verwijderd ]

Je moet die ` even wegdenken in [quote]
kijk even in php voor dummies 1 of 2. Daar staat een oplossing in
pi_26297815
quote:
Op zondag 17 april 2005 15:14 schreef Libris het volgende:

[..]

header ("refresh: 2; URL = index.php");
Het werkt, heel erg bedankt!
pi_26300240
Ik heb zelf een klein php scriptje geschreven om plaatjes te laden van de teletekst.nos.nl hiervoor gebruik ik hetvolgende:

zoeken.html

<form action="zoek1.php" method="post">
Teletekst nummer (666)<input type="text" name="pag"><br>
Pagina nummer (01)<input type="text" name="pag2"><br>
<input type="submit" name="versturen">
</form>

en zoek1.php

<?php

$een=$_POST["pag"];
$twee=$_POST["pag2"];
echo "<img src=\"http://teletekst.nos.nl/gif/images/$een-$twee.gif\">";

?>

alleen als hij het plaatje dus zou moeten laten zien geeft hij alleen zo'n teken dat het plaatje niet bestaat, maar het plaatje bestaat wel de url klopt gewoon. Hoe kan dit
pi_26300837
Ze controleren bij teletekst of het plaatje wel getoond wordt via een pagina op hun eigen server. Beveiliging dus
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26300898
Ik weet niet, maar als ik een html maak met: <img src="http://teletekst.nos.nl/gif/images/600-01.gif"> dan geeft hij het plaatje gewoon weer. Dat scriptje zet dezelfde code weg maar dan geeft hij het niet weer
pi_26303312
ik heb nu het volgende waarbij ik de 'leeftijd' te pakken krijg.

Echter krijg ik nog niet het aantal personen die die leeftijd heeft (dus per leeftijd een nummer van het aantal mensen met deze leeftijd)

1
2
3
4
5
6
SELECT DISTINCT (
DATE_FORMAT( FROM_DAYS( TO_DAYS( NOW( ) ) - TO_DAYS( klanten.gebdatum ) ) , '%Y' ) 
) AS leeftijd
FROM klanten
HAVING leeftijd !=0
ORDER BY leeftijd
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 17 april 2005 @ 19:42:03 #80
57095 Ninjin
Salvation
pi_26304373
quote:
Op zondag 17 april 2005 17:33 schreef timbastiaansen het volgende:
Ik weet niet, maar als ik een html maak met: <img src="http://teletekst.nos.nl/gif/images/600-01.gif"> dan geeft hij het plaatje gewoon weer. Dat scriptje zet dezelfde code weg maar dan geeft hij het niet weer
Op mijn server werkt bovenstaande perfect.
Kleuren inspireren mij enorm
  FOK!-Schrikkelbaas zondag 17 april 2005 @ 22:39:52 #81
1972 Swetsenegger
Egocentrische Narcist
pi_26309395
OO

Oe! de enge o's.
Ik hoor veel over object georienteerd programeren. Het zou je zo veel tijd en code besparen en 'libraries' aan 'usefull' code opleveren welke je in elk nieuw project weer kan gebruiken.... Nou DAT klinkt goed!

enthousiast heb ik diverse tuts over OO PHP doorgeworsteld, maar het blijft me maar ontgaan. Wanneer ik het mensen in 2 zinnen hoor uitleggen lijkt het nog het meest op de good old subroutine (gosub... kennen we hem nog?)... Maar daar heb je de functie al voor, dus het moet MEER zijn .

op phpfreakz stond een 4 pagina's uitleg over classes en objects, met als voorbeeld een auto en kleuren en het kwartje valt maar niet. Waar beter de vraag te stellen dan in het dummie topic. Is er iemand welke een en ander kan verduidelijken?
pi_26309579
quote:
Op zondag 17 april 2005 22:39 schreef Swetsenegger het volgende:
Is er iemand welke een en ander kan verduidelijken?
Nieuws: het is niets bijzonders, maar enkel een manier om code en data bij elkaar te houden en te genieten van dingen als overerving. Het grote voordeel is dus overzichtelijkheid voor de programmeur. Alle fuzz er omheen is marketing en dus voor ontwikkelaars niet ter zaken doende.
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
pi_26309665
quote:
Op zondag 17 april 2005 19:03 schreef Chandler het volgende:
Echter krijg ik nog niet het aantal personen die die leeftijd heeft (dus per leeftijd een nummer van het aantal mensen met deze leeftijd)
[ code verwijderd ]
Je moet nog een GROUP BY-clause hanteren op de leeftijd.
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
  FOK!-Schrikkelbaas zondag 17 april 2005 @ 22:49:30 #84
1972 Swetsenegger
Egocentrische Narcist
pi_26309745
quote:
Op zondag 17 april 2005 22:45 schreef rekenwonder het volgende:

[..]

Nieuws: het is niets bijzonders, maar enkel een manier om code en data bij elkaar te houden en te genieten van dingen als overerving.
De marketing fuzz was me al duidelijk
Maar het KAN dus erg makkelijk zijn. Maar zolang je het niet snapt valt er weinig te genieten .
pi_26309857
quote:
Op zondag 17 april 2005 22:49 schreef Swetsenegger het volgende:
Maar zolang je het niet snapt valt er weinig te genieten .
Ik zal maar niet vragen wat je niet snapt. Ik kan me van mezelf herinneren dat ik de overstap naar OO ook een zeer lastige vond en dat ik ook zeer moeilijk kon aangeven wat ik niet snapte. Het paradoxale was dat ook niemand mij kon uitleggen wat OO nou precies inhield. Maar ergens is het kwartje toch nog gevallen. En het heeft een beter mens van me gemaakt!

Wellicht dat collega MarkVleth er iets nuttigs over te melden heeft?

[ Bericht 0% gewijzigd door rekenwonder op 17-04-2005 23:07:49 ]
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
pi_26310001
quote:
Op zondag 17 april 2005 15:24 schreef Swetsenegger het volgende:

[..]

kijk even in php voor dummies 1 of 2. Daar staat een oplossing in
Woei dat wordt 700 berichten doorspitten.
Ik zal eens kijken
ne okuyon, bokmu var?
pi_26310234
Gevonden -> [PHP] voor dummies
maar dat is niet echt wat ik wil denk ik, moet het straks even uitproberen
ne okuyon, bokmu var?
  FOK!-Schrikkelbaas zondag 17 april 2005 @ 23:08:01 #88
1972 Swetsenegger
Egocentrische Narcist
pi_26310354
quote:
Op zondag 17 april 2005 22:52 schreef rekenwonder het volgende:

[..]

Ik zal maar niet vragen wat je niet snapt. Ik kan me van mezelf herinneren dat ik de overstap naar OO ook een zeer lastige vond en dat ik ook zeer moeilijk kon aangeven wat ik niet snapte. Het paradoxale was dat ook niemand het mij kon uitleggen wat OO nou precies inhield.
Daar loop ik dus ook tegenaan. Bij gebrek aan goede voorbeelden vermoed ik van een class en object. Zoals gezegd de phpfreakz tut door geworsteld, maar die gebruikt als voorbeeld een auto en daar heb ik niet veel mee .
quote:
Maar ergens is het kwartje toch nog gevallen. En het heeft een beter mens van me gemaakt!
Ik houdt derhalve moed!
quote:
Wellicht dat collega MarkVleth er iets nuttigs over te melden heeft?
Dat is een steek onder water
  FOK!-Schrikkelbaas zondag 17 april 2005 @ 23:10:41 #89
1972 Swetsenegger
Egocentrische Narcist
pi_26310439
quote:
Op zondag 17 april 2005 23:03 schreef saban het volgende:
Gevonden -> [PHP] voor dummies
maar dat is niet echt wat ik wil denk ik, moet het straks even uitproberen
wat die doet is ['quote] zoeken en ['/quote] en het geeft je de gelegenheid iets met de tekst ertussen te doen

Maar pak anders even ik denk het vorige deel erbij, zoek naar de briljante url parser van superRembo ['url] door ['quote] vervangen en het resultaat aanpassen
pi_26310558
quote:
Op zondag 17 april 2005 23:08 schreef Swetsenegger het volgende:
Daar loop ik dus ook tegenaan. Bij gebrek aan goede voorbeelden vermoed ik van een class en object.
Laten we als voorbeeld dan een huis nemen :-) Een class is dan de bouwtekening. Met deze bouwtekening kun je dan vele huizen (lees: objecten) bouwen. Dit bouwen noem je instantiëren.
quote:
Dat is een steek onder water
Dat klopt! Maar ik neem de steek terug. Ik geloof daadwerkelijk dat er mensen zijn die het beter kunnen uitleggen dan ik dat kan.
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
  FOK!-Schrikkelbaas zondag 17 april 2005 @ 23:28:39 #91
1972 Swetsenegger
Egocentrische Narcist
pi_26310927
quote:
Op zondag 17 april 2005 23:14 schreef rekenwonder het volgende:

[..]

Laten we als voorbeeld dan een huis nemen :-) Een class is dan de bouwtekening. Met deze bouwtekening kun je dan vele huizen (lees: objecten) bouwen. Dit bouwen noem je instantiëren.
Tot zover begrijp ik het
Klinkt nog steeds als een subroutine, maar het zij zo.
Nu....
Kan je een simpel voorbeeld van deze huizen class maken, hoe je 'm aanroept en hoe ik dan huizen kan bouwen, welke ook nog eens verschillende van elkaar zijn. Want dat kan toch? door de waarden welke ik mijn class 'in stuur' kan ik toch verschillende objecten bouwen. twee onder 1 kap, apparatement, rijtjeshuis zeg maar?.
quote:
Dat klopt! Maar ik neem de steek terug. Ik geloof daadwerkelijk dat er mensen zijn die het beter kunnen uitleggen dan ik dat kan.
Meestal laten verschillende (complete) visies het kwartje eerder vallen...

Of zal ik maar een [OO PHP] voor dummies openen omdat dit misschien een beetje te ver gaat voor dit topic?
pi_26311383
quote:
Op zondag 17 april 2005 22:39 schreef Swetsenegger het volgende:
OO

Oe! de enge o's.
Ik hoor veel over object georienteerd programeren. Het zou je zo veel tijd en code besparen en 'libraries' aan 'usefull' code opleveren welke je in elk nieuw project weer kan gebruiken.... Nou DAT klinkt goed!

enthousiast heb ik diverse tuts over OO PHP doorgeworsteld, maar het blijft me maar ontgaan. Wanneer ik het mensen in 2 zinnen hoor uitleggen lijkt het nog het meest op de good old subroutine (gosub... kennen we hem nog?)... Maar daar heb je de functie al voor, dus het moet MEER zijn .

op phpfreakz stond een 4 pagina's uitleg over classes en objects, met als voorbeeld een auto en kleuren en het kwartje valt maar niet. Waar beter de vraag te stellen dan in het dummie topic. Is er iemand welke een en ander kan verduidelijken?


suc6 dan

bij mij is het kwartje ooit gevallen, maar uiteindelijk is ie weer gaan staan
quote:
Op zondag 17 april 2005 23:28 schreef Swetsenegger het volgende:

Of zal ik maar een [OO PHP] voor dummies openen omdat dit misschien een beetje te ver gaat voor dit topic?
maak er dan een OOP php topic van...
  FOK!-Schrikkelbaas zondag 17 april 2005 @ 23:53:05 #93
1972 Swetsenegger
Egocentrische Narcist
pi_26311613
quote:
Op zondag 17 april 2005 23:44 schreef mschol het volgende:

[..]



suc6 dan

bij mij is het kwartje ooit gevallen, maar uiteindelijk is ie weer gaan staan
Ik begrijp dat je het niet begrijpt
quote:
maak er dan een OOP php topic van...
Mjah, moet ik wel mensen hebben welke een tut willen schrijven.
  maandag 18 april 2005 @ 00:11:39 #94
60743 capetonian
Gezocht:lekker wijf!
pi_26312176
quote:
Op zondag 17 april 2005 22:39 schreef Swetsenegger het volgende:
OO

op phpfreakz stond een 4 pagina's uitleg over classes en objects, met als voorbeeld een auto en kleuren ......
URL?
www.p166.com &lt;- Hobby
pers.p166.com &lt;- Personal
  maandag 18 april 2005 @ 00:12:59 #95
32768 DionysuZ
Respect my authority!
pi_26312210
quote:
Op zondag 17 april 2005 22:39 schreef Swetsenegger het volgende:
OO

Oe! de enge o's.
Ik hoor veel over object georienteerd programeren. Het zou je zo veel tijd en code besparen en 'libraries' aan 'usefull' code opleveren welke je in elk nieuw project weer kan gebruiken.... Nou DAT klinkt goed!

enthousiast heb ik diverse tuts over OO PHP doorgeworsteld, maar het blijft me maar ontgaan. Wanneer ik het mensen in 2 zinnen hoor uitleggen lijkt het nog het meest op de good old subroutine (gosub... kennen we hem nog?)... Maar daar heb je de functie al voor, dus het moet MEER zijn .

op phpfreakz stond een 4 pagina's uitleg over classes en objects, met als voorbeeld een auto en kleuren en het kwartje valt maar niet. Waar beter de vraag te stellen dan in het dummie topic. Is er iemand welke een en ander kan verduidelijken?
bedoel je iets als
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class auto {
 function auto() {
  // initialisatie
  $this->kleur = "wit";
  $this->merk = "mercedes";
 }

 function set_kleur($kleur="wit") {
  $this->kleur = $kleur;
  return 0;
 }

 function set_merk($merk="mercedes") {
  $this->merk = $merk;
  return 0;
 }
}

eerder gebruikte ik altijd gewoon een boel functies etc. Maar sinds ik dit heb ontdekt vind ik het toch wel erg fijn Gewoon een nieuwe auto aanmaken met
1
2
3
4
5
$auto1 = new auto;
$auto2 = new auto;

$auto1->set_merk("Volkswagen");
$auto1->set_kleur("rood");

En dan heb je fijn alle handige troep in 1 object hangen, zoals bij OO altijd handig is. Wist eerder niet dat dat kon met php.

Ik zit nu met een ander probleem en misschien dat iemand me daarmee kan helpen? Ik heb zeg maar 3 tabellen:

1
2
3
einz_login [id,username,accesslevel,avatar,sig]
einz_topic [id,forum_id,titel,sticky,slot,announcement]
einz_reactie [id,plaatstijd,user_id,inhoud]

en nu wil ik op een of andere manier een topiclijst genereren met De topictitel, of hij sticky is of niet, de topicstarter (degene die de eerste reactie in de topic heeft), het aantal posts in het betreffende topic en de laatste post + poster. Nu heb ik daar nog minstens N+1 queries voor nodig voor N topics, en ik wil dat natuurlijk in 1 query. Dit is mijn functie:

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
39
<?php
    
function get_topics($fid,$pag=1,$aantal=50) {
      
$topic = Array();
      
$this-&gt;Db-&gt;query("SELECT t1.id, t1.titel, t1.sticky, t1.slot, t1.announcement,
                               COUNT(DISTINCT(t2.id)) as aantal, MAX(t2.id) as max, MIN(t2.id) as min,
                               MAX(t2.plaatstijd) as maxtijd,
                               t3.username as usermin
                        FROM einz_topic as t1, einz_login as t3, einz_login as t4 JOIN einz_reactie as t2
                        ON t2.topic_id = t1.id
                        WHERE t1.forum_id="
.$fid."
                        AND t3.id = t2.nick_id
                        GROUP BY t1.id
                        ORDER BY t1.announce, t1.sticky, maxtijd DESC LIMIT "
.(($pag-1)*$aantal).",".$aantal);
      
$val2 = Array();
      while (
$val = $this-&gt;Db-&gt;newRow()) {
        
$val2[] = $val;
      }
      foreach (
$val2 as $key=&gt;$val) {
        
$t1["id"] = $val["id"];
        
$t1["titel"] = $val["titel"];
        
$t1["aantal"] = $val["aantal"];
        
$t1["maxid"] = $val["max"];
        
$t1["minid"] = $val["min"];
        
$t1["slot"] = $val["slot"];
        
$t1["sticky"] = $val["sticky"];
        
$t1["announce"] = $val["announce"];
        
$t1["starter"] = $val["usermin"];

        
$this-&gt;Db-&gt;query("SELECT einz_login.username as user,einz_reactie.plaatstijd as lasttijd, UNIX_TIMESTAMP(einz_reactie.plaatstijd) as tijd FROM einz_login,einz_reactie WHERE einz_login.id = einz_reactie.user_id AND einz_reactie.id = ".$val["max"]." LIMIT 1");
        if (
$val3 = $this-&gt;Db-&gt;newRow()) {
          
$t1["lastpost"] = $val3["tijd"];
          
$t1["lasttijd"] = $val3["lasttijd"];
          
$t1["lastuser"] = $val3["user"];
        }
        
$topic[] = $t1;
      }
      return
$topic;
    }
?>

het werkt, maar toch vind ik het geen mooie oplossing. Ik heb liever iets snellers. Daarnaast staat mijn webpagina op een server waarop ik bijv niet (SELECT * FROM tabel WHERE id IN (SELECT id FROM tabel2)) kan doen, wat het allemaal nog wat gecompliceerder maakt. Maar goed, iemand een oplossing?
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
  FOK!-Schrikkelbaas maandag 18 april 2005 @ 00:13:11 #96
1972 Swetsenegger
Egocentrische Narcist
pi_26312216
quote:
Op maandag 18 april 2005 00:11 schreef capetonian het volgende:

[..]

URL?
www.phpfreakz.nl
zoeken in artikelen
OO



Maar hierbij
http://www.phpfreakz.nl/artikelen.php?aid=99
pi_26324017
FF een vraagje, hoe veilig mijn inlog-systeem is. Het antwoord weet ik al: niet heel erg, dus de volgende vraag: hoe kan het beter)

Je logt in, en je naam_id, en wachtwoord wordt opgeslagen in een session-variable. Vervolgens wordt er een php-bestand geinclude, en in dat bestand staan variable, onderandere het wachtwoord. Wanneer de session-variable en het wachtwoord in het bestand gelijk zijn, wordt de rest van de pagina weergegeven, anders een niet-inlog fout.

Grootste lek is de bestand welke ge-include wordt. Want als je het bestand weet, en de variable-naam kun je met include() en print() het wachtwoord zomaar achterhalen.

Hoe kan het beter? Kun je bv in het .htaccess bestand enkel files van een bepaald domein toestaan om het bestand te include'n?
En kun je het wachtwoord coderen? Gevonden, met Crypt()


Dank!

[ Bericht 2% gewijzigd door the_disheaver op 18-04-2005 15:28:13 ]
  maandag 18 april 2005 @ 16:57:43 #98
32768 DionysuZ
Respect my authority!
pi_26326187
ik gebruik zelf md5 om het wachtwoord te encrypten. Bij mij staan de inlog wachtwoorden in een database, dubbel md5 gecrypt en als je inlogt krijg je een cookie met je wachtwoord enkel md5 gecrypt. Als mensen je cookie immers achterhalen hebben ze anders ook meteen je wachtwoord. En in mijn geval de hash van het wachtwoord, daarom in de db dubbel. Kan het beter?

Overigens heb ik de wachtwoorden van de database etc. in een tekst bestand gezet en in een directory gepleurd die ik met een .htaccess file met de volgende inhoud heb beveiligd
quote:
<Limit GET POST PUT DELETE>
order deny,allow
deny from all
</Limit>
ik ben niet zo'n held op beveiligingsgebied dus als iemand me kan vertellen hoe het beter kan
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_26326258
quote:
Op maandag 18 april 2005 15:23 schreef the_disheaver het volgende:
FF een vraagje, hoe veilig mijn inlog-systeem is. Het antwoord weet ik al: niet heel erg, dus de volgende vraag: hoe kan het beter)

Je logt in, en je naam_id, en wachtwoord wordt opgeslagen in een session-variable. Vervolgens wordt er een php-bestand geinclude, en in dat bestand staan variable, onderandere het wachtwoord. Wanneer de session-variable en het wachtwoord in het bestand gelijk zijn, wordt de rest van de pagina weergegeven, anders een niet-inlog fout.

Grootste lek is de bestand welke ge-include wordt. Want als je het bestand weet, en de variable-naam kun je met include() en print() het wachtwoord zomaar achterhalen.

Hoe kan het beter? Kun je bv in het .htaccess bestand enkel files van een bepaald domein toestaan om het bestand te include'n?
En kun je het wachtwoord coderen? Gevonden, met Crypt()


Dank!
Wachtwoorden kun je eventueel ook encrypten met md5(); dit is wat veiliger, omdat een md5-hash onomkeerbaar is, je kunt de passworden dus wel matchen, maar ze kunnen nooit meer teruggerekent worden.

En ik zie het probleem met het includen niet zo, als je je include bestand gewoon een .php extensie geeft krijgt degene die de filename weet in principe niks te zien, zolang je niks print in je include-bestand dus.
pi_26328586
Je moet geen wachtwoord in je cookie zetten, ook niet encrypt.

Uit een eerder topic gevist: interessant linkje over beveiliging/inloggen
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')