FOK!forum / Digital Corner / [PHP] voor dummies - Deel 1
Swetseneggerzondag 4 juli 2004 @ 23:35
Na aanleiding van: [XHTML] Herhalende tekst in XHTML
Heb ik toch maar eens een PHP boek aangeschaft, waar ik toch al een uur in heb gelezen. En inderdaad.... include was de oplossing

Nu wat anders. Op basis van OS wil ik een andere stylesheet gebruiken. Nu wist ik al dat $HTTP_USER_AGENT deze info (meestal) heeft en ik vond een prachtig stukje code:
quote:
<link rel="stylesheet" type="text/css"
href="<?php if(strstr($HTTP_USER_AGENT, 'Gecko')) echo style-m.css";
elseif(strstr($HTTP_USER_AGENT, 'Opera')) echo "style-o.css";
else echo "style.css";?>" media="all">
Maar ja... dat is op browser, en ik heb de OS info nodig uit HTTP_USER_AGENT.
Sterker nog... ik hoef alleen te weten of er linux in de $HTTP_USER_AGENT voorkomt en zo ja wil ik een alternatieve CSS gebruiken.

Uiteraard zal ik rustig verder lezen in m'n php boek, maar als iemand een hint heeft...
sylvesterrrzondag 4 juli 2004 @ 23:42
quote:
<link rel="stylesheet" type="text/css" href="<?=(strstr($_SERVER['HTTP_USER_AGENT'], 'linux') ? 'style-linux.css' : 'style-non-linux.css';)?>">
linux gevonden in $_SERVER['HTTP_USER_AGENT'] --> style-linux.css
linux NIET gevonden in $_SERVER['HTTP_USER_AGENT'] --> style-non-linux.css
devzerozondag 4 juli 2004 @ 23:42
quote:
Op zondag 4 juli 2004 23:35 schreef Swetsenegger het volgende:
Maar ja... dat is op browser, en ik heb de OS info nodig uit HTTP_USER_AGENT.
Sterker nog... ik hoef alleen te weten of er linux in de $HTTP_USER_AGENT voorkomt en zo ja wil ik een alternatieve CSS gebruiken.
voorbeeld HTTP_USER_AGENT voor opera
quote:
"Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686) Opera 7.51 [en]"
voorbeeld HTTP_USER_AGENT voor Mozilla
quote:
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7) Gecko/20040616"
Zoeken naar de substring Linux lijkt me al voldoende dus. Alleen HTTP_USER_AGENT kan, net als referer, natuurlijk handmatig gewijzigd worden door de client
Lucillezondag 4 juli 2004 @ 23:44
Je kan de de environment variable HTTP_USER_AGENT opvragen, die geeft de volledige inhoud. De PHP versie geeft alleen de browser, maar met
getenv("HTTP_USER_AGENT") zou je alles moeten zien.
sylvesterrrzondag 4 juli 2004 @ 23:45
quote:
Op zondag 4 juli 2004 23:44 schreef Lucille het volgende:
Je kan de de environment variable HTTP_USER_AGENT opvragen, die geeft de volledige inhoud. De PHP versie geeft alleen de browser, maar met
getenv("HTTP_USER_AGENT") zou je alles moeten zien.
In mijn geval:
$_SERVER["HTTP_USER_AGENT"] = Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040614 Firefox/0.9
Swetseneggerzondag 4 juli 2004 @ 23:46
quote:
Op zondag 4 juli 2004 23:42 schreef sylvesterrr het volgende:

[..]

linux gevonden in $_SERVER['HTTP_USER_AGENT'] --> style-linux.css
linux NIET gevonden in $_SERVER['HTTP_USER_AGENT'] --> style-non-linux.css
Ah! $_SERVER als variabele (?) die zocht ik
sylvesterrrzondag 4 juli 2004 @ 23:47
quote:
Op zondag 4 juli 2004 23:46 schreef Swetsenegger het volgende:

[..]

Ah! $_SERVER als variabele (?) die zocht ik
<? header('Content-type: text/plain'); var_dump($_SERVER); ?>
Zie je meteen de inhoud van de array $_SERVER
Swetseneggerzondag 4 juli 2004 @ 23:49
quote:
Op zondag 4 juli 2004 23:47 schreef sylvesterrr het volgende:

[..]

<? header('Content-type: text/plain'); var_dump($_SERVER); ?>
Zie je meteen de inhoud van de array $_SERVER
Thanks...morgen weer eens klooien
Berkeryzondag 4 juli 2004 @ 23:55
Ik ben wel benieuwd waarom je voor Linux een ander CSS wil hebben
devzerozondag 4 juli 2004 @ 23:58
quote:
Op zondag 4 juli 2004 23:55 schreef Berkery het volgende:
Ik ben wel benieuwd waarom je voor Linux een ander CSS wil hebben
Andere fonts misschien?
Lucillemaandag 5 juli 2004 @ 00:11
quote:
Op zondag 4 juli 2004 23:58 schreef devzero het volgende:

[..]

Andere fonts misschien?
Op zich een aardig idee, maar niet altijd safe, want de fontinstallatie hangt af van de distro en zelfs van de applicatie. Zo kan een mozilla browser bij dezelfde fontaanroep een ander uiterlijk hebben dan bijvoorbeeld konquerer. En mozilla op redhat een andere dan mozilla op suse.
Berkerymaandag 5 juli 2004 @ 00:13
...en daar heb je geen andere style sheet voor nodig.
Swetseneggermaandag 5 juli 2004 @ 08:20
Inderdaad andere fonts. Gewoon standaard sans, maar 10 px sans is stukken groter dan 10px tohama. of verdana.
Swetseneggermaandag 5 juli 2004 @ 08:20
quote:
Op maandag 5 juli 2004 00:13 schreef Berkery het volgende:
...en daar heb je geen andere style sheet voor nodig.
Want...?
Lightmaandag 5 juli 2004 @ 08:24
En als ik nu wel gewoon Verdana en Tohoma fonts heb in Linux, waarom zou ik die dan niet te zien mogen krijgen op jouw website?
Swetseneggermaandag 5 juli 2004 @ 08:26
quote:
Op maandag 5 juli 2004 08:24 schreef Light het volgende:
En als ik nu wel gewoon Verdana en Tohoma fonts heb in Linux, waarom zou ik die dan niet te zien mogen krijgen op jouw website?
Die kan je wel zien. Waarom zou je die niet kunnen zien?

Het probleem is alleen de fontsize. Niet de fonts op zich
Lightmaandag 5 juli 2004 @ 08:52
quote:
Op maandag 5 juli 2004 08:26 schreef Swetsenegger het volgende:

[..]

Die kan je wel zien. Waarom zou je die niet kunnen zien?
Je wekt de indruk andere fonts te willen gebruiken voor Linux-gebruikers.
quote:
Het probleem is alleen de fontsize. Niet de fonts op zich
Ik heb niet de indruk dat fonts in Linux een andere grootte hebben dan in Windows. Op een paar uitzonderingen na, daar is het duidelijk kleiner.
Swetseneggermaandag 5 juli 2004 @ 08:55
quote:
Op maandag 5 juli 2004 08:52 schreef Light het volgende:

[..]

Je wekt de indruk andere fonts te willen gebruiken voor Linux-gebruikers.
Nee, een andere fontsize
quote:
Ik heb niet de indruk dat fonts in Linux een andere grootte hebben dan in Windows. Op een paar uitzonderingen na, daar is het duidelijk kleiner.
In wat ik zie is Sans 10px duidelijk groter dan verdana 10px.

Ik maak dus gebruik van dezelfde stylesheet, alleen met kleinere fonts.
Lightmaandag 5 juli 2004 @ 09:10
quote:
Op maandag 5 juli 2004 08:55 schreef Swetsenegger het volgende:

[..]

Nee, een andere fontsize
[..]

In wat ik zie is Sans 10px duidelijk groter dan verdana 10px.
Sans is een font family, Verdana een font van die family. Het hoeft niet hetzelfde te zijn, maar dat kan wel natuurlijk.
quote:
Ik maak dus gebruik van dezelfde stylesheet, alleen met kleinere fonts.
Tip: Je kunt ook meer dan 1 style sheet gebruiken. Dus 2 voor de fontgroottes en alles wat daarmee direct te maken heeft (al dan niet OS afhankelijk), en 1 voor de andere dingen.
Swetseneggermaandag 5 juli 2004 @ 09:19
quote:
Op maandag 5 juli 2004 09:10 schreef Light het volgende:

[..]

Sans is een font family, Verdana een font van die family. Het hoeft niet hetzelfde te zijn, maar dat kan wel natuurlijk.
[..]

Tip: Je kunt ook meer dan 1 style sheet gebruiken. Dus 2 voor de fontgroottes en alles wat daarmee direct te maken heeft (al dan niet OS afhankelijk), en 1 voor de andere dingen.
Ik ben me bewust dat ik alternatieve stylesheets kan gebruiken. Maar ik wil puur voor Linux een ander stylesheet.
QuietGuymaandag 5 juli 2004 @ 09:26
Zie http://nl.php.net/function.get-browser
Je kan het OS, etc. allemaal opvragen
Swetseneggerdinsdag 6 juli 2004 @ 21:13
strstr($_SERVER['HTTP_USER_AGENT'], 'linux')

werkt trouwens niet...

stristr wel
sylvesterrrdinsdag 6 juli 2004 @ 21:30
quote:
Op dinsdag 6 juli 2004 21:13 schreef Swetsenegger het volgende:
strstr($_SERVER['HTTP_USER_AGENT'], 'linux')

werkt trouwens niet...

stristr wel
En weet je ook al waarom?
quote:
Note: This function is case-sensitive. For case-insensitive searches, use stristr().
http://nl2.php.net/manual/en/function.strstr.php
Roonaandinsdag 6 juli 2004 @ 21:48
met onderstaande kan je alle environment variabelen uitlezen, alsmede config settings
<?php
phpinfo();
?>

QuietGuydinsdag 6 juli 2004 @ 21:51
quote:
Op maandag 5 juli 2004 09:26 schreef QuietGuy het volgende:
Zie http://nl.php.net/function.get-browser
Je kan het OS, etc. allemaal opvragen
Geeft gewoon een output als:
quote:
Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)<hr />
<b>browser_name_pattern:</b> Mozilla/4\.5.*<br />
<b>parent:</b> Netscape 4.0<br />
<b>platform:</b> Linux<br />
<b>majorver:</b> 4<br />
<b>minorver:</b> 5<br />
<b>browser:</b> Netscape<br />
<b>version:</b> 4<br />
<b>frames:</b> 1<br />
<b>tables:</b> 1<br />
<b>cookies:</b> 1<br />
<b>backgroundsounds:</b> <br />
<b>vbscript:</b> <br />
<b>javascript:</b> 1<br />
<b>javaapplets:</b> 1<br />
<b>activexcontrols:</b> <br />
<b>beta:</b> <br />
<b>crawler:</b> <br />
<b>authenticodeupdate:</b> <br />
<b>msn:</b> <br />
Swetseneggerdinsdag 6 juli 2004 @ 21:51
quote:
Op dinsdag 6 juli 2004 21:30 schreef sylvesterrr het volgende:

[..]

En weet je ook al waarom?
[..]

http://nl2.php.net/manual/en/function.strstr.php
ja... case sensitive
en ik weet ook dankzij jou code wat ? doet...

zoek 1 'iets'....
Lightdinsdag 6 juli 2004 @ 21:54
quote:
Op maandag 5 juli 2004 09:26 schreef QuietGuy het volgende:
Zie http://nl.php.net/function.get-browser
Je kan het OS, etc. allemaal opvragen
En in sommige browsers kun je ook instellen hoe ze zichzelf noemen, en of het OS al dan niet moet worden meegestuurd.
Berkerydinsdag 6 juli 2004 @ 21:55
quote:
Op maandag 5 juli 2004 08:20 schreef Swetsenegger het volgende:
Inderdaad andere fonts. Gewoon standaard sans, maar 10 px sans is stukken groter dan 10px tohama. of verdana.
"Standaard sans" kan bij elke gebruiker weer een ander font zijn. Ligt aan de instellingen.
QuietGuydinsdag 6 juli 2004 @ 21:57
quote:
Op dinsdag 6 juli 2004 21:54 schreef Light het volgende:

[..]

En in sommige browsers kun je ook instellen hoe ze zichzelf noemen, en of het OS al dan niet moet worden meegestuurd.
Helemaal betrouwbaar is het nooit, maar als men dit zelf modificeert moeten ze ook niet zeiken als ze verkeerd herkend worden
Lightdinsdag 6 juli 2004 @ 21:59
quote:
Op dinsdag 6 juli 2004 21:57 schreef QuietGuy het volgende:

[..]

Helemaal betrouwbaar is het nooit, maar als men dit zelf modificeert moeten ze ook niet zeiken als ze verkeerd herkend worden
Da's wel weer waar natuurlijk.
Swetseneggerdinsdag 6 juli 2004 @ 22:03
quote:
Op dinsdag 6 juli 2004 21:55 schreef Berkery het volgende:

[..]

"Standaard sans" kan bij elke gebruiker weer een ander font zijn. Ligt aan de instellingen.
Dat begrijp ik....
robhdinsdag 6 juli 2004 @ 22:05
Ah.

Ik probeer uit te vogelen of er ook zoiets als een destructor bestaat voor php classes..

Iemand die dat weet?
Lightdinsdag 6 juli 2004 @ 22:10
quote:
Op dinsdag 6 juli 2004 22:05 schreef robh het volgende:
Ah.

Ik probeer uit te vogelen of er ook zoiets als een destructor bestaat voor php classes..

Iemand die dat weet?
Uit de PHP documentatie:
quote:
Note: There are no destructors in PHP 3 or PHP 4. You may use register_shutdown_function() instead to simulate most effects of destructors.

Destructors are functions that are called automatically when an object is destroyed, either with unset() or by simply going out of scope. There are no destructors in PHP.
Lijkt me duidelijk.
robhdinsdag 6 juli 2004 @ 22:15
quote:
Op dinsdag 6 juli 2004 22:10 schreef Light het volgende:

Lijkt me duidelijk.
Thnx.
Swetseneggerdinsdag 6 juli 2004 @ 23:29
Cool!

Ik heb mijn eerste volledig zelf uitgevonden functionele PHP script geschreven:
quote:
<?php

$date=date('l j F Y G:i ');
setcookie('date',$date,time()+100000000);


?>
quote:
<?php

$last_visit=$_COOKIE['date'];
if ($last_visit!=''){
print ("Uw laatste bezoek was $last_visit");
}

?>
Lightdinsdag 6 juli 2004 @ 23:36
quote:
Op dinsdag 6 juli 2004 23:29 schreef Swetsenegger het volgende:
Cool!

Ik heb mijn eerste volledig zelf uitgevonden functionele PHP script geschreven:

setcookie('date',$date,time()+100000000);
En wat is dan het nut van die +100000000?
Swetseneggerdinsdag 6 juli 2004 @ 23:37
quote:
Op dinsdag 6 juli 2004 23:36 schreef Light het volgende:

[..]

En wat is dan het nut van die +100000000?
experation.

Een last visit gaat natuurlijk niet werken als het cookie expired zodra je de browser sluit
Lightdinsdag 6 juli 2004 @ 23:44
quote:
Op dinsdag 6 juli 2004 23:37 schreef Swetsenegger het volgende:

[..]

experation.

Een last visit gaat natuurlijk niet werken als het cookie expired zodra je de browser sluit
Dat klinkt wel logisch En als ze na 10.000.000 seconden nog niet terug zijn geweest dan is het ook niet zo heel verwonderlijk dat die lastvisit niet goed onthouden wordt. En daarbij, na ruim 7 jaar boeit het toch niet meer
Swetseneggerwoensdag 7 juli 2004 @ 08:42
quote:
Op dinsdag 6 juli 2004 23:44 schreef Light het volgende:

[..]

Dat klinkt wel logisch En als ze na 10.000.000 seconden nog niet terug zijn geweest dan is het ook niet zo heel verwonderlijk dat die lastvisit niet goed onthouden wordt. En daarbij, na ruim 7 jaar boeit het toch niet meer

10000000/3600=2777 uur/24=115 dagen

Hoezo 7 jaar?
Lightwoensdag 7 juli 2004 @ 09:24
quote:
Op woensdag 7 juli 2004 08:42 schreef Swetsenegger het volgende:

[..]


10000000/3600=2777 uur/24=115 dagen

Hoezo 7 jaar?
Ah. Dat is dan waarschijnlijk het resultaat geweest van het feit dat ik niet meer helemaal helder was. 2777/365,25=7 (en een beetje)
115 dagen klinkt al een stuk beter als expire tijd.
Swetseneggerwoensdag 7 juli 2004 @ 11:01
quote:
Op woensdag 7 juli 2004 09:24 schreef Light het volgende:

[..]

Ah. Dat is dan waarschijnlijk het resultaat geweest van het feit dat ik niet meer helemaal helder was. 2777/365,25=7 (en een beetje)
115 dagen klinkt al een stuk beter als expire tijd.
Gelukkig bevat een dag meer dan 1 uur
Swetseneggerwoensdag 7 juli 2004 @ 20:51
Ok, code wat geoptimaliseerd:
quote:
<?php

$_COOKIE['date'];
if ($_COOKIE['date']!=''){
print ("<p class=\"highlight2\">Uw laatste bezoek was {$_COOKIE['date']}</p>\n");
}

?>
Maar....
Blijkbaar staat er een engels OS op de server, want date stuurt engelse waarden naar mijn cookie.
En de site is Nederlands...

Dus dat levert zoiets op als "Uw laatste bezoek was Wednesday 7 July 2004 20.32"

Dus ik denk, kom ik maak gewoon een vertaalslag. Eerst dacht ik slim te zijn want ik ging er van uit dat de array $_COOKIE gewoon geindexeerd zou zijn, dus [0] de dag, [1] de datum, [2] de maand, etc.

Maar er is natuurlijk maar 1 index... [date] met de waarde Wednesday 7 July, etc.

Niet getreurt, ik dacht het dan maar anders aan te pakken. Met strstr de waarde van de dag uit lezen, en indien Monday zet ik $day=Maandag en indien Tuesday $day=Dinsdag, en zo hetzelfde voor de maand.

Uiteindelijk print ik dan "Uw laatste bezoek was $day $date $month $year $time"

Dus aan de slag gegaan:
quote:
<?php

$_COOKIE['date'];
if(stristr($_COOKIE['date'], 'monday'))
{
$day=Maandag;
}

elseif(stristr($_COOKIE['date'], 'tuesday'))
{
$day=Dinsdag;
}

elseif(stristr($_COOKIE['date'], 'wednesday'))
{
$day=Woensdag;
}

elseif(stristr($_COOKIE['date'], 'thursday'))
{
$day=Donderdag;
}

elseif(stristr($_COOKIE['date'], 'friday'))
{
$day=Vrijdag;
}

elseif(stristr($_COOKIE['date'], 'saturday'))
{
$day=Zaterdag;
}

elseif(stristr($_COOKIE['date'], 'sunday'))
{
$day=Zondag;
}

if ($_COOKIE['date']!=''){
print ("Uw laatste bezoek was $day");
}
?>
Dat werkt...
Maar nu komt de datum... en ja 7 in het engels is 7 in het nederlands.
Het enige wat ik dus moet doen is de eerste integer uit $_COOKIE['date'] filteren en toewijzen aan de variabele $date...

Maar hoe doe ik dat? Dan komt de maand, dat is weer redelijk simpel, maar vervolgens het jaar en de tijd....

hint... anybody?
Swetseneggerwoensdag 7 juli 2004 @ 20:55
en kan iemand de titel aanpassen naar [PHP] voor dummies
sylvesterrrwoensdag 7 juli 2004 @ 20:57
<? setlocale(LC_ALL, 'nl_NL'); ?>
Staat de datum in je cookie opgeslagen als "Wednesday 7 July 2004 20.32" ? Dan is strtotime de juiste functie die je nodig hebt.
keeperwoensdag 7 juli 2004 @ 21:00
Van http://nl.php.net/date
quote:
Om data te formatteren in andere talen dan engels, moet je de setlocale() en strftime() functies gebruiken.
Swetseneggerwoensdag 7 juli 2004 @ 21:01
quote:
Op woensdag 7 juli 2004 20:57 schreef sylvesterrr het volgende:
<? setlocale(LC_ALL, 'nl_NL'); ?>
Wat doet dit?
quote:
Staat de datum in je cookie opgeslagen als "Wednesday 7 July 2004 20.32" ? Dan is strtotime de juiste functie die je nodig hebt.
even lezen.
sylvesterrrwoensdag 7 juli 2004 @ 21:06
Met strtotime() kun je "Wednesday 7 July 2004 20.32" omzetten naar een unix-timestamp. Zo'n unix-timestamp kun je weer formatten met date().
quote:
Wat doet dit?
http://nl2.php.net/manual/en/function.setlocale.php
Swetseneggerwoensdag 7 juli 2004 @ 21:30
quote:
<?php
setlocale(LC_ALL, 'nl_NL');
$date=strftime("%A %d %B %Y, %H:%M");
setcookie('date',$date,time()+100000000);


?>
"Uw laatste bezoek was Wednesday 07 July 2004, 21:29 "

Wat de neuk.....

-edit-

gevonden

http://www.codebase.nl/index.php/command/viewcode/id/188
quote:
Niet zo pessimistisch, Windows 2000 kan nog wel wat hoor. wink Het volgende geeft op Windows 2000 hetzelfde resultaat als wat ik hierboven schreef:

setlocale(LC_ALL, 'dutch');
Blijkbaar is het een windows server....
QuietGuydonderdag 8 juli 2004 @ 14:38
quote:
Op woensdag 7 juli 2004 20:55 schreef Swetsenegger het volgende:
en kan iemand de titel aanpassen naar [PHP] voor dummies
Murrayvrijdag 9 juli 2004 @ 13:15
Is er ook een php equivalent voor de HTML Base tag?

Ik heb al m'n bestanden in /map staan, alleen één staat er in / .
Links kun je dan in html weer werkend krijgen met <base href="map/" />, alleen zijn m'n includes nu verneukt..

Is dat op te lossen?
SwiffMeistervrijdag 9 juli 2004 @ 13:17
quote:
Op zondag 4 juli 2004 23:35 schreef Swetsenegger het volgende:
Na aanleiding van: [XHTML] Herhalende tekst in XHTML
Heb ik toch maar eens een PHP boek aangeschaft, waar ik toch al een uur in heb gelezen. En inderdaad.... include was de oplossing

Nu wat anders. Op basis van OS wil ik een andere stylesheet gebruiken. Nu wist ik al dat $HTTP_USER_AGENT deze info (meestal) heeft en ik vond een prachtig stukje code:
[..]

Maar ja... dat is op browser, en ik heb de OS info nodig uit HTTP_USER_AGENT.
Sterker nog... ik hoef alleen te weten of er linux in de $HTTP_USER_AGENT voorkomt en zo ja wil ik een alternatieve CSS gebruiken.

Uiteraard zal ik rustig verder lezen in m'n php boek, maar als iemand een hint heeft...
Ik heb een fantastische hint voor je:
post dit op tweakers die wete alles over dit probleem
sylvesterrrvrijdag 9 juli 2004 @ 14:59
quote:
Op vrijdag 9 juli 2004 13:17 schreef SwiffMeister het volgende:

[..]

Ik heb een fantastische hint voor je:
post dit op tweakers die wete alles over dit probleem
*hint* lees de reacties ook even door *hint*
Murrayvrijdag 9 juli 2004 @ 17:21
quote:
Op vrijdag 9 juli 2004 13:15 schreef Murray het volgende:
Is er ook een php equivalent voor de HTML Base tag?

Ik heb al m'n bestanden in /map staan, alleen één staat er in / .
Links kun je dan in html weer werkend krijgen met <base href="map/" />, alleen zijn m'n includes nu verneukt..

Is dat op te lossen?
sylvesterrrvrijdag 9 juli 2004 @ 17:42
quote:
Op vrijdag 9 juli 2004 17:21 schreef Murray het volgende:

[..]
http://nl2.php.net/manual/en/function.ini-set.php
include_path
Swetseneggerzaterdag 10 juli 2004 @ 11:31
quote:
Op vrijdag 9 juli 2004 13:17 schreef SwiffMeister het volgende:

[..]

Ik heb een fantastische hint voor je:
post dit op tweakers die wete alles over dit probleem
Er zitten zat zeer getalenteerde PHP'ers op fok. En die zijn in de regel relaxter met n00bs (mits ze de juiste vragen stellen) dan op GoT.
Lightzaterdag 10 juli 2004 @ 12:28
quote:
Op vrijdag 9 juli 2004 13:15 schreef Murray het volgende:
Is er ook een php equivalent voor de HTML Base tag?

Ik heb al m'n bestanden in /map staan, alleen één staat er in / .
Links kun je dan in html weer werkend krijgen met <base href="map/" />, alleen zijn m'n includes nu verneukt..

Is dat op te lossen?
Bedoel je zoiets?
Murrayzaterdag 10 juli 2004 @ 13:17
quote:
Op zaterdag 10 juli 2004 12:28 schreef Light het volgende:

[..]

Bedoel je zoiets?
Misschien...

Het lukt me namelijk nog niet.

Goed ik heb 3 mappen:
test/
test/map1/
test/map2/

In map1 staat home.php:

<?php
include("../map2/blaat.txt");
?>

in map2 staat blaat.txt:

het werkt....

Zie: http://members.lycos.nl/elevation81/test/map1/home.php

alleen nu wil in home.php in test/ zetten..
Wat vul ik dan in bij include path? ***
Ik heb nu het volgende in test/home.php:

<?php
ini_set("include_path", "./map1");
include("../map2/blaat.txt");
?>

Maar dat werkt niet:

http://members.lycos.nl/elevation81/test/home.php

*** include("../map2/blaat.txt"); veranderen naar include("map2/blaat.txt"); wil ik niet want in de bestanden die ik include gebruik ik ook weer include's.. die dan dus niet werken.
Swetseneggerzaterdag 10 juli 2004 @ 18:20
Nou....
Ik ben wel redelijk trots op mezelf... Verleden week zondag een php boek gekocht en nu heb ik toch een leuk gastenboek/response systeem in elkaar geknutseld

www.123swets.com/response.php
Swetseneggerzaterdag 10 juli 2004 @ 23:42
En nu kan ik al quoten ook

Binnenkort is het beter als replique...
Ik heb dus mijn response system ook maar vast een naam gegeven... TjapTjoy™
© 2004 Swetsenegger
devzerozondag 11 juli 2004 @ 00:03
quote:
Op zaterdag 10 juli 2004 23:42 schreef Swetsenegger het volgende:
En nu kan ik al quoten ook

Binnenkort is het beter als replique...
Ik heb dus mijn response system ook maar vast een naam gegeven... TjapTjoy™
© 2004 Swetsenegger
Yes Dan zal ik het domain fok?.nl snel aanvragen of is tjapfok.nl beter? Gouden bergen, the sky is the limit
Swetseneggerzondag 11 juli 2004 @ 00:09
quote:
Op zondag 11 juli 2004 00:03 schreef devzero het volgende:

[..]

[afbeelding]Yes Dan zal ik het domain fok?.nl snel aanvragen of is tjapfok.nl beter? Gouden bergen, the sky is the limit


Mjah, voor iemand die een week geleden niets van php afwist vind ik het toch best redelijk
fotoloogzondag 11 juli 2004 @ 00:11
quote:
Op zondag 11 juli 2004 00:09 schreef Swetsenegger het volgende:

[..]



Mjah, voor iemand die een week geleden niets van php afwist vind ik het toch best redelijk
Welk boek is het Swets,en heb je evt een isbn nr?
M'n zoon heeft het ook te pakken!
devzerozondag 11 juli 2004 @ 00:14
quote:
Op zondag 11 juli 2004 00:09 schreef Swetsenegger het volgende:

[..]



Mjah, voor iemand die een week geleden niets van php afwist vind ik het toch best redelijk
Het ziet er goed uit. Ik heb ook nog steeds het voornemen om php een beetje door te spitten, maar ben nooit verder gekomen dan de basics (aan de andere kant, het lijkt wel veel op perl wat ik wel kan).
Swetseneggerzondag 11 juli 2004 @ 00:15
quote:
Op zondag 11 juli 2004 00:11 schreef fotoloog het volgende:

[..]

Welk boek is het Swets,en heb je evt een isbn nr?
M'n zoon heeft het ook te pakken!
Snel op weg - PHP voor het world wide web
Auteur is Larry Ulman. ISBN: 90-430-0901-6

Het is een duidelijk boek, met veel voorbeelden maar niet goedkoop.
Maar ik moet er wel bij zeggen dat ik vroegah redelijk in Basic en Assembly heb zitten rommelen. Als je geen enkele programmeer ervaring hebt, wordt het wel lastig denk ik
Swetseneggerzondag 11 juli 2004 @ 00:17
quote:
Op zondag 11 juli 2004 00:14 schreef devzero het volgende:

[..]

Het ziet er goed uit. Ik heb ook nog steeds het voornemen om php een beetje door te spitten, maar ben nooit verder gekomen dan de basics (aan de andere kant, het lijkt wel veel op perl wat ik wel kan).
Als je redelijk wat programmeer ervaring hebt, je niet vreemd opkijkt van if (then) else. Je een variabele van een constante weet te onderscheiden en bij integer niet denkt aan een oprecht mens, is het een appeltje-eitje...

De basics dan

-edit- het is de syntax welke het moeilijk maakt.
fotoloogzondag 11 juli 2004 @ 00:18
quote:
Op zondag 11 juli 2004 00:15 schreef Swetsenegger het volgende:

[..]

Snel op weg - PHP voor het world wide web
Auteur is Larry Ulman. ISBN: 90-430-0901-6

Het is een duidelijk boek, met veel voorbeelden maar niet goedkoop.
Maar ik moet er wel bij zeggen dat ik vroegah redelijk in Basic en Assembly heb zitten rommelen. Als je geen enkele programmeer ervaring hebt, wordt het wel lastig denk ik
Die kleine is redelijk slim(2 vwo)
Dank je !
devzerozondag 11 juli 2004 @ 00:25
quote:
Op zondag 11 juli 2004 00:17 schreef Swetsenegger het volgende:
De basics dan
Wat ik vervelend aan php vind, is dat je je variabelen niet hoeft te declareren. Type-foutjes in je variabele namen (en die wil je juist duidelijk houden ala $bezoekers_gemiddelde) worden dan uiterst moeilijk op te sporen.

(vanuit unix shell)

shell> php
<?php
$variable = 10;
echo $variabele*2;
?>
0


[ Bericht 1% gewijzigd door devzero op 11-07-2004 00:26:54 (kromme zin verbeterd) ]
sylvesterrrzondag 11 juli 2004 @ 09:26
quote:
Op zondag 11 juli 2004 00:25 schreef devzero het volgende:

[..]

<?php
$variable = 10;
echo $variabele*2;
?>
Output:
quote:
Notice: Undefined variable: variabele in d:\server\www\test.php on line 3
0
I love error_reporting(E_ALL)

[ Bericht 9% gewijzigd door sylvesterrr op 11-07-2004 09:50:05 ]
Swetseneggerzondag 11 juli 2004 @ 09:30
Wat Sylvester zegt. En daarnaast... lekker makkelijk juist!...

Gewoon $naam= value.
Het is allemaal zo logisch... het lijkt wel MSX-Basic
devzerozondag 11 juli 2004 @ 10:07
quote:
Op zondag 11 juli 2004 09:26 schreef sylvesterrr het volgende:
I love error_reporting(E_ALL)
Bingo, die zocht ik
quote:
Op zondag 11 juli 2004 09:30 schreef Swetsenegger het volgende:
Gewoon $naam= value.
Persoonlijk vind ik dat een lelijke constructie. Dan nog maar liever ${naam}
Swetseneggerzondag 11 juli 2004 @ 10:42
quote:
Op zondag 11 juli 2004 10:07 schreef devzero het volgende:

[..]

Bingo, die zocht ik
Moeten foutmeldingen wel aan staan in de php.ini
Anders voeg je voor de error reporting het volgende toe:

ini_set(display_errors',1);
Swetseneggerzondag 11 juli 2004 @ 10:49
Toch ff hulp nodig.
Met str_replace kan ik bepaalde waarden veranderen. bv :quote vervang je door wat anders.

Maar nu wil ik een string van/tot iets vervangen. Ik weet de van, en de tot, maar niet wat er tussen staat (bv ik wil :quote blablabla :/quote vervangen door [..])

Hoe doe ik dat?
sylvesterrrzondag 11 juli 2004 @ 10:49
quote:
Op zondag 11 juli 2004 10:42 schreef Swetsenegger het volgende:

[..]

Moeten foutmeldingen wel aan staan in de php.ini
Anders voeg je voor de error reporting het volgende toe:

ini_set('display_errors',1);
sylvesterrrzondag 11 juli 2004 @ 10:51
quote:
Op zondag 11 juli 2004 10:49 schreef Swetsenegger het volgende:
Toc ff hulp nodig.
Met str_replace kan ik bepaalde waarden veranderen. bv :quote vervang je door wat anders.

Maar nu wil ik een string van/tot iets vervangen. Ik weet de van, en de tot, maar niet wat er tussen staat (bv ik wil :quote blablabla :/quote vervangen door [..])

Hoe doe ik dat?
http://nl2.php.net/manual/en/function.preg-replace.php
http://nl2.php.net/manual/en/function.ereg-replace.php

Tip: download SMF/PHPBB/IPB ofzo, zodat je even kan afkijken.
Roonaanzondag 11 juli 2004 @ 10:51
quote:
Op zondag 11 juli 2004 10:49 schreef Swetsenegger het volgende:
Toch ff hulp nodig.
Met str_replace kan ik bepaalde waarden veranderen. bv :quote vervang je door wat anders.

Maar nu wil ik een string van/tot iets vervangen. Ik weet de van, en de tot, maar niet wat er tussen staat (bv ik wil :quote blablabla :/quote vervangen door [..])

Hoe doe ik dat?
$str = substr($str, 0, $van).$replace.substr($str, $tot);
quote:
Performance gericht scripten is tegenwoordig geen onderdeel van de opleiding meer?

sylvesterrrzondag 11 juli 2004 @ 10:54
quote:
Op zondag 11 juli 2004 10:51 schreef Roönaän het volgende:
[..]

Performance gericht scripten is tegenwoordig geen onderdeel van de opleiding meer?

1. Welke opleiding?
2. Eerlijk gezegd vind ik jouw methode niet om aan te zien.
Roonaanzondag 11 juli 2004 @ 10:57
quote:
Op zondag 11 juli 2004 10:54 schreef sylvesterrr het volgende:

[..]

1. Welke opleiding?
2. Eerlijk gezegd vind ik jouw methode niet om aan te zien.
1. Zelfstudie. Tegenwoordig wil men niet meer goed scripten, alleen maar werkend.
2. Want? 2x strpos + die regel is gewoon sneller dan het opstarten van je regexp engine. Daarnaast levert het regexpen vaak een onduidelijkheid in je code op als je het later wilt teruglezen. Je kan in één oogopslag zien wat er gebeurt bij de substr.$t.substr methode, wat je bij het regexpen altijd een moment nadenken kost en een secure check of je misschien niet vergeten bent een \ een quote of een ^ bent vergeten te lezen waardoor de betekenis 100% anders is dan je eerst had gedacht.
Swetseneggerzondag 11 juli 2004 @ 10:58
quote:
Op zondag 11 juli 2004 10:51 schreef Roönaän het volgende:

[..]

$str = substr($str, 0, $van).$replace.substr($str, $tot);
ff kijken of ik het begrijp...

ik heb....
$quote_invoer=$row['invoer'];
Maar daar kan dus al een [.quote]blabla[./quote] in staan.
Ik wil dus quotes in quotes vermijden, net als hier op fok.

Dus het wordt dan

$quote_invoer=substr($quote_invoer,0,[.quote]).$weetnietwathiermoet($quote_invoer,[./quote]);

Roonaanzondag 11 juli 2004 @ 11:01
quote:
Op zondag 11 juli 2004 10:58 schreef Swetsenegger het volgende:

[..]

ff kijken of ik het begrijp...

ik heb....
$quote_invoer=$row['invoer'];
Maar daar kan dus al een [.quote]blabla[./quote] in staan.
Ik wil dus quotes in quotes vermijden, net als hier op fok.

Dus het wordt dan

$quote_invoer=substr($quote_invoer,0,[.quote]).$weetnietwathiermoet($quote_invoer,[./quote]);



$quote_start = strpos($quote_invoer, '[.quote]');
$quote_einde = strpos($quote_invoer, '[./quote]', $quote_start);
if($quote_start !== false && $quote_einde !== false)
$quote_invoer = substr($quote_invoer, 0, $quote_start).'[..]'.substr($quote_invoer, $quote_einde);
sylvesterrrzondag 11 juli 2004 @ 11:07
quote:
Op zondag 11 juli 2004 10:57 schreef Roönaän het volgende:

[..]

1. Zelfstudie. Tegenwoordig wil men niet meer goed scripten, alleen maar werkend.
quote:
2. Want? 2x strpos + die regel is gewoon sneller dan het opstarten van je regexp engine.
Weegt dat op tegen de onduidelijkheid van 2x strpos + die regel?
quote:
Daarnaast levert het regexpen vaak een onduidelijkheid in je code op als je het later wilt teruglezen.
Eén woord: documenteren
quote:
Je kan in één oogopslag zien wat er gebeurt bij de substr.$t.substr methode, wat je bij het regexpen altijd een moment nadenken kost
Als je lang genoeg met regexps bezig bent, kun je je regexp best makkelijk herkennen.
quote:
en een secure check of je misschien niet vergeten bent een \ een quote of een ^ bent vergeten te lezen waardoor de betekenis 100% anders is dan je eerst had gedacht.
Met alle respect hoor, maar is dat niet de schuld van de scripter zelf?
Swetseneggerzondag 11 juli 2004 @ 11:19
quote:
Op zondag 11 juli 2004 11:01 schreef Roönaän het volgende:

[..]



$quote_start = strpos($quote_invoer, '[.quote]');
$quote_einde = strpos($quote_invoer, '[./quote]', $quote_start);
if($quote_start !== false && $quote_einde !== false)
$quote_invoer = substr($quote_invoer, 0, $quote_start).'[..]'.substr($quote_invoer, $quote_einde);
Even ontleden, want gewoon copy paste is niet voldoende....

Ok,
variabele quote_start wordt dan [.quote]
quote_einde wordt.... [./quote]... maar wat doet die $quote_start daar
als quote_start niet gelijk is aan 'false EN "e_einde niet gelijk is aan 'false'... dan wordt
quote_invoer gelijk aan quote_invoer vanaf positie 0 t/m positie quote_start + [..] + quote_invoer vanaf quote _einde...
sylvesterrrzondag 11 juli 2004 @ 11:22
-laat maar-
Swetseneggerzondag 11 juli 2004 @ 11:24
quote:
Op zondag 11 juli 2004 11:22 schreef sylvesterrr het volgende:
-laat maar-
jou oplossing ziet er simpeler uit. Alleen weet ik dus niet wat er tussen de [.quote] en [./quote] staat...
Roonaanzondag 11 juli 2004 @ 11:25
quote:
Op zondag 11 juli 2004 11:19 schreef Swetsenegger het volgende:

[..]

Even ontleden, want gewoon copy paste is niet voldoende....

Ok,
variabele quote_start wordt dan [.quote]
quote_einde wordt.... [./quote]... maar wat doet die $quote_start daar
StrPos is de php versie van de java methode string.indexOf. De eerste param, is de haystack, de tweede de needle. De derde ($quote_start) geeft aan vanaf welke index er gezocht mag worden.

Als er bijvoorbeeld [./quote]
quote:
[./quote] zou staan, dan zou je zonder die derde param de eerste [./quote] krijgen waardoor later je replace gedeelte krom loopt (je eindindex is lager dan je beginindex). Als je die derde param toevoegt kijkt die alleen naar het stuk na [.quote] en vind die dus de goede, tweede, [./quote]

[quote]
als quote_start niet gelijk is aan 'false EN "e_einde niet gelijk is aan 'false'... dan wordt
quote_invoer gelijk aan quote_invoer vanaf positie 0 t/m positie quote_start + [..] + quote_invoer vanaf quote _einde...
Jups. StrPos geeft false terug als een substring niet gevonden wordt. Als je dit niet eerst test, gebeuren er mogelijk rare dingen (omdat false bij casting naar een int gelijk wordt gezet aan 0 geloof ik)
Swetseneggerzondag 11 juli 2004 @ 11:47
quote:
Op zondag 11 juli 2004 11:25 schreef Roönaän het volgende:

[..]

StrPos is de php versie van de java methode string.indexOf. De eerste param, is de haystack, de tweede de needle. De derde ($quote_start) geeft aan vanaf welke index er gezocht mag worden.
aha, ok

dus $quote_einde = strpos($quote_invoer, '[./quote]', $quote_start); zegt

zoek in quote_invoer naar [.quote] vanaf de waarde van quote_start

quote_start = quote_invoer VANAF [.quote]
quote_einde=quote_invoer VANAF [./quote]

$quote_invoer = substr($quote_invoer, 0, $quote_start).'[..]'.substr($quote_invoer, $quote_einde);

quote_invoer = quote_invoer vanaf 0 tot (en met?)[.quote]+[..]+[./quote] tot het einde....

Maar volgens mij levert dit:

[.quote]Op 11-07 zei Swets bladiebla[.quote][..][./quote][./quote]


en niet

[.quote]Op 11-07 zei Swets bladiebla[..][./quote]
Swetseneggerzondag 11 juli 2004 @ 12:02
quote:
Op zondag 11 juli 2004 11:47 schreef Swetsenegger het volgende:


Maar volgens mij levert dit:

[.quote]Op 11-07 zei Swets bladiebla[.quote][..][./quote][./quote]


en niet

[.quote]Op 11-07 zei Swets bladiebla[..][./quote]
Hmz, niet helemaal:

[.quote]Op zondag 11 juli 2004, 12:00 schreef test het volgende:
[..][./quote]

[./quote]
Lightzondag 11 juli 2004 @ 12:03
quote:
Op zondag 11 juli 2004 11:25 schreef Roönaän het volgende:

Als er bijvoorbeeld [./quote]
[./quote] zou staan, dan zou je zonder die derde param de eerste [./quote] krijgen waardoor later je replace gedeelte krom loopt (je eindindex is lager dan je beginindex). Als je die derde param toevoegt kijkt die alleen naar het stuk na [.quote] en vind die dus de goede, tweede, [./quote]
Maar hoe zit dat dan als je een tekst hebt met [.quote] en dan nog een keer [.quote], dan gevolgd door een [./quote] en om alles af te sluiten weer een [./quote]? En om het leuker te maken kun je ook nog meerdere quotes neerzetten natuurlijk.
quote:
Jups. StrPos geeft false terug als een substring niet gevonden wordt. Als je dit niet eerst test, gebeuren er mogelijk rare dingen (omdat false bij casting naar een int gelijk wordt gezet aan 0 geloof ik)
0 == "" == false, da's allemaal waar. Maar 0 === "" is false. En 0 === false en "" === false ook.
Swetseneggerzondag 11 juli 2004 @ 12:07
quote:
Op zondag 11 juli 2004 12:03 schreef Light het volgende:

[..]

Maar hoe zit dat dan als je een tekst hebt met [.quote] en dan nog een keer [.quote], dan gevolgd door een [./quote] en om alles af te sluiten weer een [./quote]? En om het leuker te maken kun je ook nog meerdere quotes neerzetten natuurlijk.
[..]

0 == "" == false, da's allemaal waar. Maar 0 === "" is false. En 0 === false en "" === false ook.
Mjah, in principe voorkom ik nu dat er nooit meer dan 2 keer een [.quote] en [./quote] in de tabel komt te staan.

Als mensen handmatig TTC (das mijn variant van UBB codes ) gaan toevoegen, gaat het uieraard mis.
Wanneer iemand gewoon 'quote' klikt en zijn aanvulling erbij zet niet.

Behalve dan dat ik met roonaans code een [./quote] extra overhou....
Lightzondag 11 juli 2004 @ 12:14
quote:
Op zondag 11 juli 2004 12:07 schreef Swetsenegger het volgende:

[..]

Mjah, in principe voorkom ik nu dat er nooit meer dan 2 keer een [.quote] en [./quote] in de tabel komt te staan.

Als mensen handmatig TTC (das mijn variant van UBB codes ) gaan toevoegen, gaat het uieraard mis.
Wanneer iemand gewoon 'quote' klikt en zijn aanvulling erbij zet niet.
Tja, je weet natuurlijk nooit wat mensen invoeren
quote:
Behalve dan dat ik met roonaans code een [./quote] extra overhou....
$quote_invoer = substr($quote_invoer, 0, $quote_start).'[..]'.substr($quote_invoer, $quote_einde+8); Dan begin je niet meer op de plek van die [./quote] met je tweede substring, maar 8 plaatsen verder. Dan zou je precies die [./quote] gehad moete hebben.
Swetseneggerzondag 11 juli 2004 @ 12:17
quote:
Op zondag 11 juli 2004 12:14 schreef Light het volgende:

[..]

Tja, je weet natuurlijk nooit wat mensen invoeren
[..]

$quote_invoer = substr($quote_invoer, 0, $quote_start).'[..]'.substr($quote_invoer, $quote_einde+8); Dan begin je niet meer op de plek van die [./quote] met je tweede substring, maar 8 plaatsen verder. Dan zou je precies die [./quote] gehad moete hebben.
OE, die is mooier dan mijn verzonnen oplossing:
$quote_invoer=str_replace('[/quote]','',$quote_invoer);

(ik zie dat je al rekening hebt gehouden met de punt )
Swetseneggerzondag 11 juli 2004 @ 12:20
Alleen begrijp ik niet dat quote_start WEL goed gaat (en niet tot en met [.quote]) en quote_einde niet
sylvesterrrzondag 11 juli 2004 @ 12:24
quote:
Op zondag 11 juli 2004 12:20 schreef Swetsenegger het volgende:
Alleen begrijp ik niet dat quote_start WEL goed gaat (en niet tot en met [.quote]) en quote_einde niet
strpos geeft de positie van het begin van die string.
Swetseneggerzondag 11 juli 2004 @ 12:34
quote:
Op zondag 11 juli 2004 12:24 schreef sylvesterrr het volgende:

[..]

strpos geeft de positie van het begin van die string.
ja, maar in geval van quote_start toch ook tot en met [.quote]?
Dat begrijp ik tenminste uit de beschrijving op php.net
Lightzondag 11 juli 2004 @ 13:00
quote:
Op zondag 11 juli 2004 12:34 schreef Swetsenegger het volgende:

[..]

ja, maar in geval van quote_start toch ook tot en met [.quote]?
Dat begrijp ik tenminste uit de beschrijving op php.net
quote_start geeft aan waar de [.quote] begint. Maar quote_start wordt als lengte gebruikt in substr. En omdat we altijd bij nul beginnen te tellen klopt het weer precies. Quote_start geeft dus niet alleen aan waar [.quote] begint maar ook hoeveel tekens er voor [.quote] staan, en dat gebruik je
Swetseneggerzondag 11 juli 2004 @ 13:10
quote:
Op zondag 11 juli 2004 13:00 schreef Light het volgende:

[..]

quote_start geeft aan waar de [.quote] begint. Maar quote_start wordt als lengte gebruikt in substr. En omdat we altijd bij nul beginnen te tellen klopt het weer precies. Quote_start geeft dus niet alleen aan waar [.quote] begint maar ook hoeveel tekens er voor [.quote] staan, en dat gebruik je
Yep, ik zie het nu.

Weer een hoop geleerd vandaag
Swetseneggermaandag 12 juli 2004 @ 13:41
Nog een vraag.
In mijn reactie systeem/gastenboek gaat alles met een POST naar dezelfde php. (Dus het formulier in 'response.php' submit de invoer naar 'response.php' waar het dan verwerkt wordt.

Dit heet het nadeel dat wanneer ik een f5 doe ik het prachtige pop-upje krijg:
Deze pagina kan niet worden vernieuwd zonder opnieuw de gegevens te verzenden...

Klik je dan op retry wordt de submit twee keer gepost. Dat wil ik voorkomen.
Nu heb ik al slim helemaal onderaan in het script alle relevante variabelen ge- unset, maar daar trekt de browser zich niets van aan.

Hoe dan?
Roonaanmaandag 12 juli 2004 @ 13:44
Na het verzenden gewoon meteen redirecten.

header('Location: index.php');
Swetseneggermaandag 12 juli 2004 @ 13:45
quote:
Op maandag 12 juli 2004 13:44 schreef Roönaän het volgende:
Na het verzenden gewoon meteen redirecten.

header('Location: index.php');
eh... snap ik niet.
Wat redirect ik? Ik wil die mensen wel op die pagina houden
Roonaanmaandag 12 juli 2004 @ 13:49
quote:
Op maandag 12 juli 2004 13:45 schreef Swetsenegger het volgende:

[..]

eh... snap ik niet.
Wat redirect ik? Ik wil die mensen wel op die pagina houden
Ah okee.

Het idee is dat je via die header() functie tegen de browser zegt dat die naar een andere locatie gaat.

Evn denken. Jij wil dat die op dezelfde pagina blijft (response.php) maar dat hij als het waren het POST gebeuren vergeet.

Als je dan header('Location: response.php') doet, dan ontvangt de browser dit, die vervolgens response.php opnieuw van de server inleest als GET request:

Browser -> Server: POST response.php?bericht=....enz
Server->Browser: Header:Location: response.php
Browser -> Server GET response.php
Als iemand dan F5 doet is de laatst geladen pagina die GET response.php en ben je dus van het POST verhaal af.

/brakke uitleg.
Swetseneggermaandag 12 juli 2004 @ 14:00
quote:
Op maandag 12 juli 2004 13:49 schreef Roönaän het volgende:

[..]

Ah okee.

Het idee is dat je via die header() functie tegen de browser zegt dat die naar een andere locatie gaat.

Evn denken. Jij wil dat die op dezelfde pagina blijft (response.php) maar dat hij als het waren het POST gebeuren vergeet.

Als je dan header('Location: response.php') doet, dan ontvangt de browser dit, die vervolgens response.php opnieuw van de server inleest als GET request:

Browser -> Server: POST response.php?bericht=....enz
Server->Browser: Header:Location: response.php
Browser -> Server GET response.php
Als iemand dan F5 doet is de laatst geladen pagina die GET response.php en ben je dus van het POST verhaal af.

/brakke uitleg.
Ik snappum wel... ff testen, want dit zou precies zijn wat ik nodig heb
Swetseneggermaandag 12 juli 2004 @ 14:26
Hmz, header werkt alleen voor alle HTML? Dus alleen zo...:

<?php
header("location: blabla");
?>

<html>
<head>

.......
</html>
Swetseneggermaandag 12 juli 2004 @ 16:07
Iemand een idee hoe ik voorkom dat ik met F5 twee maal hetzelfde bericht plaats?
Ali Salamimaandag 12 juli 2004 @ 16:22
Controle of hetzelfde al in de db staat van die user, binnen een bepaalde tijdsperiode
mscholmaandag 12 juli 2004 @ 16:32
quote:
Op maandag 12 juli 2004 14:26 schreef Swetsenegger het volgende:
Hmz, header werkt alleen voor alle HTML? Dus alleen zo...:

<?php
header("location: blabla");
?>

<html>
<head>

.......
</html>
er mag voor een header helemaal geen output zijn wil je dat wel gebruik dan include()
mscholmaandag 12 juli 2004 @ 16:33
quote:
Op maandag 12 juli 2004 16:22 schreef Ali Salami het volgende:
Controle of hetzelfde al in de db staat van die user, binnen een bepaalde tijdsperiode
waarom met een tijdsperiode??
das niet nodig...
Roonaanmaandag 12 juli 2004 @ 16:35
quote:
Op maandag 12 juli 2004 14:26 schreef Swetsenegger het volgende:
Hmz, header werkt alleen voor alle HTML? Dus alleen zo...:
Dit is op te lossen door output_buffering te gebruiken. Dan wordt alle output opgeslagen en laat je die aan het einde pas doorsturen naar de browser. Zo kan je je header info altijd plaatsen:
<?php
ob_start(); //starten output buffering
?>

<html>
<head>

.......
</html>
<?php
header("location: blabla");
ob_end_flush();// output buffering stoppen en alles doorsturen naar de client.
?>

Output buffering heeft een aantal basis functies die je het meest zult gebruiken als je het gaat gebruiken ooit:

ob_start(); starten
ob_end_flush(); stoppen en doorgeven naar client
ob_end_clean(); stoppen en wegdonderen
ob_get_contents(); inhoud van de huidige buffer opvragen (String)
Ali Salamimaandag 12 juli 2004 @ 16:42
quote:
Op maandag 12 juli 2004 16:33 schreef mschol het volgende:

[..]

waarom met een tijdsperiode??
das niet nodig...
M.i. wel. Ten eerste omdat je heus wel dubbele berichten mag plaatsen. Zou mooi zijn als ik een post in januari plaats en dat ik, wanneer ik in februari weer eenzelfde post plaats, de meldign krijg dat ik een dubbel bericht plaats.

Daarnaast vergroot het de snelheid van de query ook.
Lord_Of_Darknessmaandag 12 juli 2004 @ 22:18
gewoon als je reply.php opent sessie starten, waneer je post verwijderd hij die sessie, ram je op F5 dan bestaat die sessie dus niet meer, dus moet je eerst weer naar de oude pagina...
simpel truukje
Swetseneggermaandag 12 juli 2004 @ 23:24
quote:
Op maandag 12 juli 2004 22:18 schreef Lord_Of_Darkness het volgende:
gewoon als je reply.php opent sessie starten, waneer je post verwijderd hij die sessie, ram je op F5 dan bestaat die sessie dus niet meer, dus moet je eerst weer naar de oude pagina...
simpel truukje
Die had ik ook al ergens gelezen inderdaad. Daar ga ik nog mee aan de slag, want de kans op een dubbelpost is redelijk beperkt.

Vandaag heb ik eerst een preview optie ingebouwd
Nkjezdinsdag 13 juli 2004 @ 00:19
tvp
(moet PHP leren )
Swetseneggerdinsdag 13 juli 2004 @ 15:15
quote:
Op zondag 11 juli 2004 11:01 schreef Roönaän het volgende:

[..]



$quote_start = strpos($quote_invoer, '[.quote]');
$quote_einde = strpos($quote_invoer, '[./quote]', $quote_start);
if($quote_start !== false && $quote_einde !== false)
$quote_invoer = substr($quote_invoer, 0, $quote_start).'[..]'.substr($quote_invoer, $quote_einde);
Met deze extra regel:
while(stristr($quote_invoer,'[quote]')){

Werkt het prima
Roonaandinsdag 13 juli 2004 @ 15:34
moet je er wel een escape uit de loop bij maken
if($quote_start !== false && $quote_einde !== false)
$quote_invoer = substr($quote_invoer, 0, $quote_start).'[..]'.substr($quote_invoer, $quote_einde);
else { break;}

vor als er [.quote][/.quote][.quote] staat
Swetseneggerdinsdag 13 juli 2004 @ 15:37
quote:
Op dinsdag 13 juli 2004 15:34 schreef Roönaän het volgende:
moet je er wel een escape uit de loop bij maken
if($quote_start !== false && $quote_einde !== false)
$quote_invoer = substr($quote_invoer, 0, $quote_start).'[..]'.substr($quote_invoer, $quote_einde);
else { break;}

vor als er [.quote][/.quote][.quote] staat
Hmz, ja voor een 'halve' quote zeg maar.....
Inderdaad wel verstandig.
Swetseneggerwoensdag 14 juli 2004 @ 10:26
Even een snel vraagje.

Voordat ik hem zelf schrijf, bestaat er een PHP functie welke een URL uit een string vist waar naast de URL nog meer info instaat?

Op php.net zie ik het niet zo snel. parse_url, maar dat is volgens mij bedoelt voor een string waar ALLEEN een url instaat?
ToBewoensdag 14 juli 2004 @ 10:31
=edit=

keek niet goed
uniekjewoensdag 14 juli 2004 @ 10:37
Kijk eens op www.regexlib.com voor een passende regular expression voor URLs... misschien dat je die kunt gebruiken...
Roonaanwoensdag 14 juli 2004 @ 10:41
quote:
Op woensdag 14 juli 2004 10:26 schreef Swetsenegger het volgende:
Even een snel vraagje.

Voordat ik hem zelf schrijf, bestaat er een PHP functie welke een URL uit een string vist waar naast de URL nog meer info instaat?

Op php.net zie ik het niet zo snel. parse_url, maar dat is volgens mij bedoelt voor een string waar ALLEEN een url instaat?
Hoe vind het onderscheid tussen url en info plaats? Neem aan een spatie of iets dergelijks?
Swetseneggerwoensdag 14 juli 2004 @ 10:48
quote:
Op woensdag 14 juli 2004 10:41 schreef Roönaän het volgende:

[..]

Hoe vind het onderscheid tussen url en info plaats? Neem aan een spatie of iets dergelijks?
Ik heb nu dit en dat werkt:
quote:
$url_start = strpos($invoer, 'www');
$url_einde = strpos($invoer, ' ', $url_start);
if($url_start !== false && $url_einde !== false){
$url = substr($invoer, $url_start, $url_einde);
$invoer=str_replace($url,'<a href="http://'.$url.'" rel="external">'.$url.'</a>',$invoer);
print("$invoer");}
tenminste... zolang er maar 1 url in de string staat.
Voor een tweede moet ik denk ik gaan werken met een for lus en dan de waarde in een array zetten.... maar dat heb ik nog niet helemaal door, dus dat wordt zoeken

-edit- en uiteraard moet ik nog wat verzinnen voor mailto (op basis van de @ en dan negatief tot de spatie en positief tot de spatie) en heel misschien probeer ik ook url's als forum.fok.nl op te vangen. hoewel dat lastig wordt.

Ow ja, het werkt ook niet wanneer je een url invoert en op submit ramt... want dan ontbreekt de spatie na de .com of .nl of .org

[ Bericht 9% gewijzigd door Swetsenegger op 14-07-2004 10:54:02 ]
Roonaanwoensdag 14 juli 2004 @ 10:54
Voorstel doet:

Je maakt een tweede variabele uitvoer, waar je het reeds verwerkte gedeelte in opslaat.

$uitvoer = ''; //in het begin is de uitvoer leeg

while(($url_start = strpos($invoer, 'www')) !== false) //loopen zolang er www staat.
{
$url_einde = strpos($invoer, ' ', $url_start);
if($url_start !== false && $url_einde !== false)
{
$url = substr($invoer, $url_start, $url_einde);
$uitvoer .= substr($invoer, 0, $url_start).'<a href="http://'.$url.'" rel="external">'.$url.'</a>';
$invoer = substr($invoer, $url_einde);
}
elseif($url_start !== false) //url aan het einde van de invoer
{
$uitvoer .= '<a href="http://'.$url.'" rel="external">'.$url.'</a>';
$invoer = '';
}
else
break;
}
$invoer = $uitvoer.$invoer; //restje eraan vast plakken.

Maar een reguliere expressie is denk ik makkelijker, omdat je dan ook alle ftp en http die mogelijk al wel geplaatst zijn ook te pakken krijgt.
Da_Koenwoensdag 14 juli 2004 @ 10:56
Ik denk dat je dat het beste kunt doen met http://nl.php.net/manual/en/function.preg-match.php , maar dan moet je wel de regular expressions snappen, wat mij nog niet helemaal gelukt is......
Swetseneggerwoensdag 14 juli 2004 @ 11:00
quote:
Op woensdag 14 juli 2004 10:54 schreef Roönaän het volgende:
Voorstel doet:

Je maakt een tweede variabele uitvoer, waar je het reeds verwerkte gedeelte in opslaat.

$uitvoer = ''; //in het begin is de uitvoer leeg

while(($url_start = strpos($invoer, 'www')) !== false) //loopen zolang er www staat.
{
$url_einde = strpos($invoer, ' ', $url_start);
if($url_start !== false && $url_einde !== false)
{
$url = substr($invoer, $url_start, $url_einde);
$uitvoer .= substr($invoer, 0, $url_start).'<a href="http://'.$url.'" rel="external">'.$url.'</a>';
$invoer = substr($invoer, $url_einde);
}
elseif($url_start !== false) //url aan het einde van de invoer
{
$uitvoer .= '<a href="http://'.$url.'" rel="external">'.$url.'</a>';
$invoer = '';
}
else
break;
}
$invoer = $uitvoer.$invoer; //restje eraan vast plakken.

Maar een reguliere expressie is denk ik makkelijker, omdat je dan ook alle ftp en http die mogelijk al wel geplaatst zijn ook te pakken krijgt.
Zo ff beter bekijken, maar wat je feitelijk voorstelt is de $invoer strippen op url's en stukje bij beetje aangepast voor urls plakken in $uitvoer.... Uiteindelijk is $invoer leeg en $uitvoer gevuld.

dus
quote:
$invoer=
Hoi, kijk ook eens op www.123swets.com geweldig mooie site.

wordt

$uitvoer=
Hoi, kijk ook eens op <a href="www.123swets.com" rel="external">www.123swets.com</a> geweldig mooie site.
sylvesterrrwoensdag 14 juli 2004 @ 11:01
quote:
Op woensdag 14 juli 2004 10:54 schreef Roönaän het volgende:
Voorstel doet:

Je maakt een tweede variabele uitvoer, waar je het reeds verwerkte gedeelte in opslaat.

$uitvoer = ''; //in het begin is de uitvoer leeg

while(($url_start = strpos($invoer, 'www')) !== false) //loopen zolang er www staat.
{
$url_einde = strpos($invoer, ' ', $url_start);
if($url_start !== false && $url_einde !== false)
{
$url = substr($invoer, $url_start, $url_einde);
$uitvoer .= substr($invoer, 0, $url_start).'<a href="http://'.$url.'" rel="external">'.$url.'</a>';
$invoer = substr($invoer, $url_einde);
}
elseif($url_start !== false) //url aan het einde van de invoer
{
$uitvoer .= '<a href="http://'.$url.'" rel="external">'.$url.'</a>';
$invoer = '';
}
else
break;
}
$invoer = $uitvoer.$invoer; //restje eraan vast plakken.
Vind jij dit overzichtelijk?
quote:
Maar een reguliere expressie is denk ik makkelijker,
Zeker weten.
Swetseneggerwoensdag 14 juli 2004 @ 11:02
quote:
Op woensdag 14 juli 2004 10:56 schreef Da_Koen het volgende:
Ik denk dat je dat het beste kunt doen met http://nl.php.net/manual/en/function.preg-match.php , maar dan moet je wel de regular expressions snappen, wat mij nog niet helemaal gelukt is......
Ja dat begrijp ik ook nog niet erg

"zich verdiepen gaat"
Roonaanwoensdag 14 juli 2004 @ 11:03
Dat was toch ook de bedoeling?

Maar inderdaad je gaat aan $invoer knabbelen en elk hapje eindigt op een url. Voor de smaak kauw je even extra op die url met een pepermuntje erbij voordat je hem doorslikt. Aan het eind houd je óf een url over, of nog een kruimeltje.

De uitvoer is dan de invoer met de extra pepermuntjes.
Swetseneggerwoensdag 14 juli 2004 @ 11:06
quote:
Op woensdag 14 juli 2004 11:03 schreef Roönaän het volgende:
Dat was toch ook de bedoeling?

Maar inderdaad je gaat aan $invoer knabbelen en elk hapje eindigt op een url. Voor de smaak kauw je even extra op die url met een pepermuntje erbij voordat je hem doorslikt. Aan het eind houd je óf een url over, of nog een kruimeltje.

De uitvoer is dan de invoer met de extra pepermuntjes.
Ja precies
Maar ik zal eens kijken naar regular expressions, want dat lijkt me in dit geval makkelijker. En anders is jouw optie perfect.
Swetseneggerwoensdag 14 juli 2004 @ 12:33
RegExp hulp gezocht

Ik heb nu:
quote:
$preg_test = preg_replace("/(www*(.*?)[ ])[nr]*(.?)/is",'<a href="http://\1" rel="external">\1</a> ',$invoer);
print("<div class=\"response\">$preg_test</div>");
Dit geeft als output
quote:
<div class="response">laten we <a href="http://www.sitecom.com " rel="external">www.sitecom.com </a> r eens uit vissen.</div>
Ok, die extra spatie in de href snap ik... maar waar is de 'e' van 'er' gebleven

Enne... dit werkt maar 1 keer... Dus twee url's in de tekst levert maar 1 href op
Waar ga ik de mist in?
Swetseneggerwoensdag 14 juli 2004 @ 13:24
Dit werkt al met meerdere url's
quote:
$preg_test = preg_replace("/(www*(.*?)\s)/i",'<a href="http://\1" rel="external">\1</a> ',$invoer);
print("<div class=\"response\">$preg_test</div>");
Nu die laatste spatie er nog uit...
Swetseneggerwoensdag 14 juli 2004 @ 13:39
En dit is 'm!

$preg_test = preg_replace("/(www*(.*?))\s/i",'<a href="http://\1" rel="external">\1</a> ',$invoer);
print("<div class=\"response\">$preg_test</div>");

Ik zal ff (proberen) uit te leggen wat het doet...

We zoeken van www TOT EN MET de eerste whitespace en er mag alles tussenstaan. Case-insensitive:
("/(www*(.*?))\s/i",

van deze zoekactie BEWAREN we vanaf www TOT de eerste whitespace:
("/(www*(.*?))\s/i",

*trots*
Roonaanwoensdag 14 juli 2004 @ 13:57
en wat gebeurt er met de mogelijk voorafgaande http:// als mensen die intypen?
Swetseneggerwoensdag 14 juli 2004 @ 14:15
quote:
Op woensdag 14 juli 2004 13:57 schreef Roönaän het volgende:
en wat gebeurt er met de mogelijk voorafgaande http:// als mensen die intypen?
Geen moer
Dat moet ik nog rechttrekken.
Nog een probleempje. Ik verwacht een spatie na de url. Wanneer die er niet staat....
Dus bij deze zin:

Nu worden alle adressen goed omgezet, zowel www.fok.nl als www.123swets.com
gebeurt er dus niets met www.123swets.com

Ik kan verdorie alleen geen 'OR's gebruiken in reguliere expressies. anders liet ik OF naar een \s OF naar een $ (einde string) kijken. Dat krijg ik alleen nog gezeik wanneer iemand netjes het voorbeeld zinnetje eindigt met een .

En HIER werkt dat wel... hoe doet die Breuls dat verdomme
Roonaanwoensdag 14 juli 2004 @ 14:39
Waarom kan je geen or's gebruiken dan?

(\s|$)
Swetseneggerwoensdag 14 juli 2004 @ 14:59
quote:
Op woensdag 14 juli 2004 14:39 schreef Roönaän het volgende:
Waarom kan je geen or's gebruiken dan?

(\s|$)
Dat ga je niet menen

is | gewoon or?
*vloekt zachtjes binnensmonds* ff testen
Swetseneggerwoensdag 14 juli 2004 @ 15:03
Dat werkt!!!! mail heb ik ook al... nu alleen nog wanneer iemand de regel met een punt afsluit. en het lullige is... punten komen vaker voor in url's
Swetseneggerwoensdag 14 juli 2004 @ 15:15
Ik wilde alleen een simpel gastenboekje op mijn site... Leek me een leuk project om PHP te leren.
Ondertussen begint het wel een geil stukje software te worden:

Posten, preview van je post, quoten, www en mail wordt automatisch omgezet naar http en mailto hrefs, smiley's, ik als beheerder kan WEL html tags gebruiken anderen niet, controle op lege invoer, waarschuwing bij verkeerd gebruik van [.quote]....

Ik raak een beetje door features heen
Roonaanwoensdag 14 juli 2004 @ 15:58
Emailnotificatie?
xml/rss stream voor je newsreader
Swetseneggerwoensdag 14 juli 2004 @ 16:01
quote:
Op woensdag 14 juli 2004 15:58 schreef Roönaän het volgende:
Emailnotificatie?
xml/rss stream voor je newsreader
Ik krijg al een mail wanneer iemand een bericht post. Die was ik vergeten
Misschien een sorteer optie.
woutabestwoensdag 14 juli 2004 @ 17:28
Oke dan ga ik nu ff mijn dummie-kwaliteiten op het php-gebied demonstreren:
Waarom pakt mijn computer de extensie .php niet? Hij ziet hem als ongeldig.
Swetseneggerwoensdag 14 juli 2004 @ 17:34
quote:
Op woensdag 14 juli 2004 17:28 schreef woutabest het volgende:
Oke dan ga ik nu ff mijn dummie-kwaliteiten op het php-gebied demonstreren:
Waarom pakt mijn computer de extensie .php niet? Hij ziet hem als ongeldig.
Als je op internet een .php pagina bekijkt, of wanneer je thuis op je eigen PC een php pagina wilt bekijken welke je zelf gemaakt hebt?
woutabestwoensdag 14 juli 2004 @ 17:39
die ik zelf net gemaakt heb (tutorial start, 1 echootje )
Swetseneggerwoensdag 14 juli 2004 @ 17:45
quote:
Op woensdag 14 juli 2004 17:39 schreef woutabest het volgende:
die ik zelf net gemaakt heb (tutorial start, 1 echootje )
Die moet je wel bekijken in je PHP directory.

Wat heb je nodig. Op je PC moet PHP draaien. PHP is niet normaal HTML welke je in je browser kunt openen. Normaal gesproken wanneer je op internet een php pagina opent heeft de server deze door de php parser getrokken, alle PHP code uitgevoerd en het resultaat is dan HTML welke naar jouw browser gestuurt wordt.

Wanneer je dus thuis het resultaat wilt bekijken moet je eerst php installeren.
Er zijn diverse simpele all-in-one pakketen met PHP, apache en mysql. Ik zelf heb foxserv gedownload. http://www.foxserv.net/portal.php

Die installeer je. Op je PC heb je dan een directory 'foxserv' en daarin een folder 'www' Plaats je php pagina in die ww folder, dus bv C:/foxserv/www/mijnpagina/index.php

Deze kan je nu in de browser bekijken door http://localhost/mijnpagina/index.php te tikken.
mscholwoensdag 14 juli 2004 @ 17:46
quote:
Op woensdag 14 juli 2004 17:39 schreef woutabest het volgende:
die ik zelf net gemaakt heb (tutorial start, 1 echootje )
als je em wilt bewerken moet je em eff openen met notepad
wil je de output zien moet je even het bestandje benaderen vanaf je php server (bijvoorbeeld apache met php module)
woutabestwoensdag 14 juli 2004 @ 17:48
quote:
Op woensdag 14 juli 2004 17:45 schreef Swetsenegger het volgende:

[..]

blabla
ik ga het proberen
woutabestwoensdag 14 juli 2004 @ 18:28
werkt!!!
Swetseneggerwoensdag 14 juli 2004 @ 19:45
Nog wat vreemds, gecko browser laten de geparste HTML niet goed zien. klik ik rechts en dan reload, WEL. met mijn html is dus niets mis. Iemand een idee waar het aan ligt?

[ Bericht 0% gewijzigd door Swetsenegger op 14-07-2004 20:02:50 ]
robhwoensdag 14 juli 2004 @ 20:58
quote:
Op woensdag 14 juli 2004 19:45 schreef Swetsenegger het volgende:
Nog wat vreemds, gecko browser laten de geparste HTML niet goed zien. klik ik rechts en dan reload, WEL. met mijn html is dus niets mis. Iemand een idee waar het aan ligt?
Laat je html eens valideren op http://validator.w3.org/
robhwoensdag 14 juli 2004 @ 20:59
Oh, iemand bekend met een bug in mozilla die <li> items buiten de tabel laat vallen? Het staat erg stom namelijk en ik moet een alternatief hebben.
Swetseneggerwoensdag 14 juli 2004 @ 21:14
quote:
Op woensdag 14 juli 2004 20:58 schreef robh het volgende:

[..]

Laat je html eens valideren op http://validator.w3.org/
XHTML1.1 strict validated. Zoals gezegd, mijn html is prima
Swetseneggerwoensdag 14 juli 2004 @ 21:59
Hoe unset ik een cookie?
robhwoensdag 14 juli 2004 @ 22:03
Lege cookie sturen
Swetseneggerwoensdag 14 juli 2004 @ 22:15
quote:
Op woensdag 14 juli 2004 22:03 schreef robh het volgende:
Lege cookie sturen
Ik vond 'm net op php.net
Dubbel post probleem is ook opgelost nu.
Swetseneggerdonderdag 15 juli 2004 @ 14:28
quote:
Op woensdag 14 juli 2004 16:01 schreef Swetsenegger het volgende:


Misschien een sorteer optie.
Roonaandonderdag 15 juli 2004 @ 14:29
heb je al paginering erin? Dat op elke page er noem eens wat, 10, items komen en als er meer items zijn dat je dan naar de volgende page moet?
Swetseneggerdonderdag 15 juli 2004 @ 14:57
quote:
Op donderdag 15 juli 2004 14:29 schreef Roönaän het volgende:
heb je al paginering erin? Dat op elke page er noem eens wat, 10, items komen en als er meer items zijn dat je dan naar de volgende page moet?
LOL, ik ben al blij als er ooit 10 willekeurig reacties van ECHTE bezoekers komen te staan. Maar ik kan het er wel in bakken natuurlijk
Swetseneggerdonderdag 15 juli 2004 @ 14:58
Ik ben blij dat ik overal commentaar bij gezet hebt, want ondertussen is het een php van 16K
Swetseneggerdonderdag 15 juli 2004 @ 17:48
Iemand trouwens een tip voor een goede php editor (text geen wysiwyg). In notepad wordt het wat onoverzichtelijk...
mscholdonderdag 15 juli 2004 @ 17:51
quote:
Op donderdag 15 juli 2004 17:48 schreef Swetsenegger het volgende:
Iemand trouwens een tip voor een goede php editor (text geen wysiwyg). In notepad wordt het wat onoverzichtelijk...
dreamweaver

crimson editor
phpedit oid
Swetseneggerdonderdag 15 juli 2004 @ 17:59
vergat ik 'freeware' erbij te roepen?

Roonaandonderdag 15 juli 2004 @ 18:01
Grimson geloof ik is gratis. Maar alles met syntax highlighting en regelnummering is prima eik. UltraEdit is helaas niet gratis maar wmb wel fijn om mee te scripten.
Swetseneggerdonderdag 15 juli 2004 @ 18:47
quote:
Op donderdag 15 juli 2004 18:01 schreef Roönaän het volgende:
Maar alles met syntax highlighting en regelnummering is prima eik.
Precies, maar welke zijn dat?
keeperdonderdag 15 juli 2004 @ 18:54
quote:
Op donderdag 15 juli 2004 18:47 schreef Swetsenegger het volgende:

[..]

Precies, maar welke zijn dat?
http://www.editpadpro.com/editpadlite.html
ToBedonderdag 15 juli 2004 @ 19:02
Ik gebruik zelf Win Syntax, freeware en erg snel en simpel

http://www.winsyntax.com/
Swetseneggerdonderdag 15 juli 2004 @ 19:23
quote:
Op donderdag 15 juli 2004 19:02 schreef ToBe het volgende:
Ik gebruik zelf Win Syntax, freeware en erg snel en simpel

http://www.winsyntax.com/
Precies wat ik zocht
Da_Koendonderdag 15 juli 2004 @ 19:39
Ik vind notepad van XP toch nog altijd het lekkerst werken.....
Swetseneggerdonderdag 15 juli 2004 @ 19:48
quote:
Op donderdag 15 juli 2004 19:39 schreef Da_Koen het volgende:
Ik vind notepad van XP toch nog altijd het lekkerst werken.....
Ik heb tot nu toe ook alleen in notepad gewerkt, maar bij een php van 589 regels (inc HTML) is syntax highlighting en regelnummers toch wel verdomd prettig
Da_Koendonderdag 15 juli 2004 @ 19:50
quote:
Op donderdag 15 juli 2004 19:48 schreef Swetsenegger het volgende:

[..]

Ik heb tot nu toe ook alleen in notepad gewerkt, maar bij een php van 589 regels (inc HTML) is syntax highlighting en regelnummers toch wel verdomd prettig
Regelnummers heb je ook bij notepad! Beeld -> statusbalk, dat is wel handig idd
Swetseneggerdonderdag 15 juli 2004 @ 19:56
quote:
Op donderdag 15 juli 2004 19:50 schreef Da_Koen het volgende:

[..]

Regelnummers heb je ook bij notepad! Beeld -> statusbalk, dat is wel handig idd
die is greyed out bij mij
mscholdonderdag 15 juli 2004 @ 20:29
quote:
Op donderdag 15 juli 2004 19:56 schreef Swetsenegger het volgende:

[..]

die is greyed out bij mij
* mschol kijkt er eff naar..

hey bij mij ook
woutabestdonderdag 15 juli 2004 @ 21:01
quote:
Op donderdag 15 juli 2004 19:56 schreef Swetsenegger het volgende:

[..]

die is greyed out bij mij
greyed watte?
Roonaandonderdag 15 juli 2004 @ 21:02
quote:
Op donderdag 15 juli 2004 21:01 schreef woutabest het volgende:

[..]

greyed watte?
disabled. :S
Swetseneggerdonderdag 15 juli 2004 @ 21:08
GEK word ik ervan....
quote:
$invoer = preg_replace("/(www*.*?)(\s|$|\[)/i",'<a href="http://\1" rel="external">\1</a> ',$invoer);
Mooi en prachtig

www.123swets.com wordt netjes een linkje
'www.swets.com test' wordt www.swets.com ook netjes een linkje en de spatie tussen de com en test blijft gewoon bestaan.

'www.swets.com[' wordt www.swets.com als link... zonder de [. Waar blijft die????
Dat probleem had ik eerst ook met de spatie.
Big deal zou je denken, maar [.quote]www.123swets.com[./quote] geeft door het in cyberspace verdwijnen van de blokhaak hele rare taferelen

[ Bericht 0% gewijzigd door Swetsenegger op 15-07-2004 21:15:46 ]
Lightdonderdag 15 juli 2004 @ 21:27
$invoer = preg_replace("/(www*.*?)(\s|$|\[)/i",'<a href="http://\1" rel="external">\1</a>\2',$invoer);

En dit kan ook wel eens helpen
Swetseneggerdonderdag 15 juli 2004 @ 21:27
reguliere expressies zijn voor iedereen moeilijk begrijp ik?
Swetseneggerdonderdag 15 juli 2004 @ 21:28
quote:
Op donderdag 15 juli 2004 21:27 schreef Light het volgende:
$invoer = preg_replace("/(www*.*?)(\s|$|\[)/i",'<a href="http://\1" rel="external">\1</a>\2',$invoer);

En dit kan ook wel eens helpen
met die link ben ik aan deze regexp gekomen

hmz ff proberen
Lightdonderdag 15 juli 2004 @ 21:33
Hij kan nog beter, bedenk ik me

$invoer = preg_replace("/(www\..*)(\s|$|\[)/Ui",'<a href="http://\1" rel="external">\1</a>\2',$invoer);

Dan nemen we alles dat begint met www. (let op die punt) tot aan de eerste spatie, $-teken of blokhaak openen.
Swetseneggerdonderdag 15 juli 2004 @ 21:33
quote:
Op donderdag 15 juli 2004 21:27 schreef Light het volgende:
$invoer = preg_replace("/(www*.*?)(\s|$|\[)/i",'<a href="http://\1" rel="external">\1</a>\2',$invoer);
Swetseneggerdonderdag 15 juli 2004 @ 21:37
quote:
Op donderdag 15 juli 2004 21:33 schreef Light het volgende:
Hij kan nog beter, bedenk ik me

$invoer = preg_replace("/(www\..*)(\s|$|\[)/Ui",'<a href="http://\1" rel="external">\1</a>\2',$invoer);

Dan nemen we alles dat begint met www. (let op die punt) tot aan de eerste spatie, $-teken of blokhaak openen.
In hoeverre is dat anders van wat ik doe? Het is wat.... duidelijker.
-edit- hmz in mijn geval zou www123swets.com ook een link worden in jouw geval niet
Wat doet die U ook alweer?

-edit-

This modifier inverts the "greediness" of the quantifiers so that they are not greedy by default, but become greedy if followed by "?". It is not compatible with Perl. It can also be set by a (?U) modifier setting within the pattern.

wtf?

[ Bericht 12% gewijzigd door Swetsenegger op 15-07-2004 21:47:13 ]
Swetseneggerdonderdag 15 juli 2004 @ 21:45
Overigens dom dat ik de \2 vergat. uiteraard is de \1 niet hetzelfde als de \2 (waar ik vanuit ging)
Swetseneggerdonderdag 15 juli 2004 @ 21:49
Light, hoe lang PHP jij al?

Nog verbeter tips voor deze:
quote:
$invoer = preg_replace("/([a-z0-9._-]*@.*?)(\s|$|\[)/i",'<a href="mailto:\1">\1</a>\2',$invoer);
Ik zit nog met twee probleempjes mbt de regexp's.
Wat als er ge-eindigt wordt op een punt (www.123swets.com.) en mbt ftp als er user:inlog@ftp.naam.com wordt gepost wordt wordt dat e-mail (een van de redenen waarom ik ftp er nog niet in gezet heb
Lightdonderdag 15 juli 2004 @ 21:54
quote:
Op donderdag 15 juli 2004 21:37 schreef Swetsenegger het volgende:

[..]

In hoeverre is dat anders van wat ik doe? Het is wat.... duidelijker.
Wat doet die U ook alweer?

-edit-

This modifier inverts the "greediness" of the quantifiers so that they are not greedy by default, but become greedy if followed by "?". It is not compatible with Perl. It can also be set by a (?U) modifier setting within the pattern.

wtf?
Die U maakt de expressie ungreedy. Standaard is een expressie greedy, dwz hij werkt volgens het principe "pakken wat je pakken kan". En dat merk je vooral bij die *. Als die ungreedy is dan pakt het sterretje tot het eerste teken dat de rest van de expressie accepteeert.

Voorbeeld: Als je [.b]1[./b]2[.b]3[./b] greedy gaat verwerken dan krijg je het hele stuk "1[./b]2[.b]3" bold. Bij ungreedy worden alleen de 1 en de 3 bold gegeven, zoals de bedoeling is.

En het verschil tussen www*.* en www\..* is eigenlijk heel logisch. De eerste pakt ww, gevolgd door 0 of meer w's, gevolgd door nul of meer willekeurige tekens. De tweede pakt www, gevolgd door een punt (vandaar die \.), gevolgd door 0 of meer willekeurige tekens. En ww.123swets.com is geen geldige url, die hoef je ook niet als zodanig te parsen. wwww.123swets.com ook niet. Maar www*.* vindt ze allebei prima
Lightdonderdag 15 juli 2004 @ 21:57
quote:
Op donderdag 15 juli 2004 21:49 schreef Swetsenegger het volgende:
Light, hoe lang PHP jij al?
Ik heb enige ervaring
En reguliere expressies zijn leuk om mee te spelen
Lightdonderdag 15 juli 2004 @ 22:01
Trouwens, aan die url parser kan nog wel het een en ander verbeterd worden. Maar ik stoe eerst even met dat mailadres ding
Swetseneggerdonderdag 15 juli 2004 @ 22:04
quote:
Op donderdag 15 juli 2004 21:54 schreef Light het volgende:

[..]

Die U maakt de expressie ungreedy. Standaard is een expressie greedy, dwz hij werkt volgens het principe "pakken wat je pakken kan". En dat merk je vooral bij die *. Als die ungreedy is dan pakt het sterretje tot het eerste teken dat de rest van de expressie accepteeert.

Voorbeeld: Als je [.b]1[./b]2[.b]3[./b] greedy gaat verwerken dan krijg je het hele stuk "1[./b]2[.b]3" bold. Bij ungreedy worden alleen de 1 en de 3 bold gegeven, zoals de bedoeling is.
dit ga ik nog even langzaam lezen.
quote:
En het verschil tussen www*.* en www\..* is eigenlijk heel logisch. De eerste pakt ww, gevolgd door 0 of meer w's, gevolgd door nul of meer willekeurige tekens. De tweede pakt www, gevolgd door een punt (vandaar die \.), gevolgd door 0 of meer willekeurige tekens. En ww.123swets.com is geen geldige url, die hoef je ook niet als zodanig te parsen. wwww.123swets.com ook niet. Maar www*.* vindt ze allebei prima
Ja, ik had ff verder nagedacht en begreep het al Beter inderdaad.
[/quote]
Swetseneggerdonderdag 15 juli 2004 @ 22:04
quote:
Op donderdag 15 juli 2004 22:01 schreef Light het volgende:
Trouwens, aan die url parser kan nog wel het een en ander verbeterd worden. Maar ik stoe eerst even met dat mailadres ding
Ik heb dit nu
$uitvoer = preg_replace("/(www\..*)(\s|$|\[|\]|<|>|!|\?|&|\*|\(|\)|\")/Ui",'<a href="http://\1" rel="external">\1</a>\2',$uitvoer);
Swetseneggerdonderdag 15 juli 2004 @ 22:06
quote:
Op donderdag 15 juli 2004 21:57 schreef Light het volgende:

[..]

Ik heb enige ervaring
En reguliere expressies zijn leuk om mee te spelen
Ik vond al dat ik aardig ver gekomen was
Maar het is inderdaad erg leuk, maar je moet wel je kop erbij houden. Anders krijg je hele vreemde resultaten
Roonaandonderdag 15 juli 2004 @ 22:14
quote:
Op donderdag 15 juli 2004 22:04 schreef Swetsenegger het volgende:

[..]

Ik heb dit nu
$uitvoer = preg_replace("/(www\..*)(\s|$|\[|\]|<|>|!|\?|&|\*|\(|\)|\")/Ui",'<a href="http://\1" rel="external">\1</a>\2',$uitvoer);
Kan je onderhand dat laatste stuk niet veranderen in een expressie die zegt:
totdat ik een andere karakter tegenkom dan wat wel mag

Voor ereg-replace zou dat laatste stuk ([^A-Za-z0-9~.\\/]* ) zijn maar ik weet niet wat de pregversie daarvan is.
Swetseneggerdonderdag 15 juli 2004 @ 22:17
quote:
Op donderdag 15 juli 2004 22:14 schreef Roönaän het volgende:

[..]

Kan je onderhand dat laatste stuk niet veranderen in een expressie die zegt:
totdat ik een andere karakter tegenkom dan wat wel mag
*denkt*
Volgens mij niet.
Het gaat namelijk niet om wat wel of niet zou mogen, ik anticipeer op wat er redelijkerwijs na een url komt wat er geen onderdeel meer vanuit maakt
quote:
Voor ereg-replace zou dat laatste stuk ([^A-Za-z0-9~.\\/] zijn maar ik weet niet wat de pregversie daarvan is.
*mompelt* wat was het verschil ook alweer
Swetseneggerdonderdag 15 juli 2004 @ 22:27
*test*

www.milonic.co.uk

-edit-

Ik dacht ff dat replique hetzelfde deed als wat ik van plan was mbt het punt probleem. Namelijk niet meer dan 1 punt na de www. toestaan

want www.123swets.com. wordt geen url.

*denkt* co.uk als geldig toegevoegd?

www.gemtek.com.tw dan?

-edit-

hmz....Breuls is een betere PHP'er dan mij
Lightdonderdag 15 juli 2004 @ 22:28
Is dit wat?

$invoer = preg_replace("/([A-Za-z0-9._-]+@[-A-Za-z0-9]+(\.[-A-Za-z0-9]+)*)/i",'<a href="mailto:\1">\1</a>',$invoer);
Swetseneggerdonderdag 15 juli 2004 @ 22:32
quote:
Op donderdag 15 juli 2004 22:28 schreef Light het volgende:
Is dit wat?

$invoer = preg_replace("/([A-Za-z0-9._-]+@[-A-Za-z0-9]+(\.[-A-Za-z0-9]+)*)/i",'<a href="mailto:\1">\1</a>',$invoer);
voor de apestaart 1 maal de normale karakters plus . - en _ dan een apestaart dan weer alle normale karakters 1 of meer keer en een puntplus alle normale karakters nog 1 keer

wat doet jeroen@123swets.com09 in dit geval?
mscholdonderdag 15 juli 2004 @ 22:34
quote:
Op donderdag 15 juli 2004 21:57 schreef Light het volgende:

[..]

Ik heb enige ervaring
En reguliere expressies zijn leuk om mee te spelen
LEUK?!?!

ik heb een hekel aan die dingen (maar denk dat het komt omdat ik die engelse uitleg niet snap..)

heb jij toevallifg een goede nederlandse uitleg over rexexp in php???
Swetseneggerdonderdag 15 juli 2004 @ 22:36
quote:
Op donderdag 15 juli 2004 22:34 schreef mschol het volgende:

[..]

LEUK?!?!

ik heb een hekel aan die dingen (maar denk dat het komt omdat ik die engelse uitleg niet snap..)

heb jij toevallifg een goede nederlandse uitleg over rexexp in php???
Het is wel hoofdpijn code ja
Maar wel krachtig!
Lightdonderdag 15 juli 2004 @ 22:41
quote:
Op donderdag 15 juli 2004 22:14 schreef Roönaän het volgende:

Voor ereg-replace zou dat laatste stuk ([^A-Za-z0-9~.\\/]* ) zijn maar ik weet niet wat de pregversie daarvan is.
Op een vergelijkbare manier

$invoer = preg_replace("/(www\.[A-Za-z0-9.\/\~]+)/i",'<a href="http://\1" rel="external">\1</a>',$invoer);

Maar ik ga hier dus uit van tekens die wel mogen.
Lightdonderdag 15 juli 2004 @ 22:47
quote:
Op donderdag 15 juli 2004 22:32 schreef Swetsenegger het volgende:

[..]

voor de apestaart 1 maal de normale karakters plus . - en _ dan een apestaart dan weer alle normale karakters 1 of meer keer en een puntplus alle normale karakters nog 1 keer
En een + betekent ten minste 1 maal, zoals een * ten minste 0 maal betekent. Dus na de apestaart staat ten minste een letter, cijfer of -, dan ten minste 1 keer een punt gevolgd door weer een letter/cijfer/-
quote:
wat doet jeroen@123swets.com09 in dit geval?
Dat wordt dan ook vertaald naar een mailadres. Inclusief die 09, dus een werkend adres wordt het niet.

[ Bericht 5% gewijzigd door Light op 15-07-2004 22:53:26 (quote gefixt) ]
Lightdonderdag 15 juli 2004 @ 22:51
quote:
Op donderdag 15 juli 2004 22:34 schreef mschol het volgende:

heb jij toevallifg een goede nederlandse uitleg over rexexp in php???
Nee, ik moet me ook zien te redden met de engelse.
Swetseneggerdonderdag 15 juli 2004 @ 22:52
quote:
Op donderdag 15 juli 2004 22:47 schreef Light het volgende:

]Dat wordt dan ook vertaald naar een mailadres. Inclusief die 09, dus een werkend adres wordt het niet.
Dat doet mijn code ook bedenk ik me nu.

Tis ondertussen te laat voor diepzinnige regexp overpeinzingen
Bedankt voor je hulp!

-edit- maar als je na die punt na de apestaart de cijfercombo weglaat klopt het wel
Lightdonderdag 15 juli 2004 @ 22:55
quote:
Op donderdag 15 juli 2004 22:52 schreef Swetsenegger het volgende:

[..]

Dat doet mijn code ook bedenk ik me nu.
Deze niet:
$invoer = preg_replace("/([A-Za-z0-9._-]+@[-A-Za-z0-9]+(\.[-A-Za-z0-9]+)*\.[A-Za-z]{2,4})/i",'<a href="mailto:\1">\1</a>',$invoer);
quote:
Tis ondertussen te laat voor diepzinnige regexp overpeinzingen
Bedankt voor je hulp!
Graag gedaan
Swetseneggerdonderdag 15 juli 2004 @ 22:57
quote:
Op donderdag 15 juli 2004 22:55 schreef Light het volgende:

[..]

Deze niet:
$invoer = preg_replace("/([A-Za-z0-9._-]+@[-A-Za-z0-9]+(\.[-A-Za-z0-9]+)*\.[A-Za-z]{2,4})/i",'<a href="mailto:\1">\1</a>',$invoer);
oe... dat vetgedrukte ontgaat me nu ff...
Morgen
Lightdonderdag 15 juli 2004 @ 22:57
quote:
Op donderdag 15 juli 2004 22:52 schreef Swetsenegger het volgende:

-edit- maar als je na die punt na de apestaart de cijfercombo weglaat klopt het wel
Dan zou het misgaan als er na de apestaart iets staat als mail.123swets.com
Swetseneggerdonderdag 15 juli 2004 @ 23:03
$invoer = preg_replace("/(www\.[A-Za-z0-9._-\/~]\.[A-Za-z]+)/i",'<a href="http://\1" rel="external">\1</a>\1',$invoer);

Volgens mij pak ik hier alles mee tot en met .co.uk en .com.tw enzo...

toch?
Lightdonderdag 15 juli 2004 @ 23:06
quote:
Op donderdag 15 juli 2004 22:57 schreef Swetsenegger het volgende:

[..]

oe... dat vetgedrukte ontgaat me nu ff...
Morgen
Daarmee dwing je af dat er na de laatste punt in het mail adres 2 t/m 4 letters volgen. Geen cijfers of andere vreemde tekens, alleen letters. Da's dus voor het top level domain, als .nl, .com of .info.
Lightdonderdag 15 juli 2004 @ 23:08
quote:
Op donderdag 15 juli 2004 23:03 schreef Swetsenegger het volgende:
$invoer = preg_replace("/(www\.[A-Za-z0-9._-\/~]\.[A-Za-z]+)/i",'<a href="http://\1" rel="external">\1</a>\1',$invoer);

Volgens mij pak ik hier alles mee tot en met .co.uk en .com.tw enzo...

toch?
Maar www.123swets.com/test gaat nog wel mis.
Swetseneggerdonderdag 15 juli 2004 @ 23:13
quote:
Op donderdag 15 juli 2004 23:08 schreef Light het volgende:

[..]

Maar www.123swets.com/test gaat nog wel mis.
Ja ik zie het
Ik ga er nog eens diep over nadenken
Volgens mij kan je nooit alles afvangen. Op welke manier dan ook. Met de laatste regel welke ik nu gebruik gaat het alleen mis wanneer mensen ieen punt achter de url zetten of vreemde tekens als % en ^.

De tekens welke je mag verwachten heb ik wel afgevangen
Lightdonderdag 15 juli 2004 @ 23:27
quote:
Op donderdag 15 juli 2004 23:13 schreef Swetsenegger het volgende:

[..]

Ja ik zie het
Ik ga er nog eens diep over nadenken
Volgens mij kan je nooit alles afvangen. Op welke manier dan ook. Met de laatste regel welke ik nu gebruik gaat het alleen mis wanneer mensen ieen punt achter de url zetten of vreemde tekens als % en ^.

De tekens welke je mag verwachten heb ik wel afgevangen
Voor de ingewikkeldere dingen kunnen mensen vast ook een url-tag gebruiken. En wat dat betreft hoef je niet alles af te vangen op een gewoon www. adres. En als je het zo bekijkt is

$invoer = preg_replace("/(www(\.[-A-Za-z0-9]+)+\.[A-Za-z]{2,4}(\/\~?[-A-Za-z0-9\.\/?%&=#]?)/i",'<a href="http://\1" rel="external">\1</a>',$invoer);

waarschijnlijk ook wat overdreven compleet
Swetseneggervrijdag 16 juli 2004 @ 08:54
quote:
Op donderdag 15 juli 2004 23:27 schreef Light het volgende:


$invoer = preg_replace("/(www(\.[-A-Za-z0-9]+)+\.[A-Za-z]{2,4}(\/\~?[-A-Za-z0-9\.\/?%&=#]* )?)/i",'<a href="http://\1" rel="external">\1</a>',$invoer);
LOL, dit is ongeveer de regexp welke ik zat te bedenken in mijn hoofd:

www. daarna alle karakters een punt dan com info co org , dus 2 tot 4 karakters en geen cijfers dan eventueel een slash, tilde en wederom alle karakters dan eventueel een punt en max 4 letters had ik in mijn hoofd.
Lightvrijdag 16 juli 2004 @ 09:23
Als je nu ook nog een [.url] [./url] tag gaat inbouwen krijg je wel leuke effecten.
En webadressen mogen ook beginnen met http:// (of https://) om het nog ingewikkelder te maken.
Roonaanvrijdag 16 juli 2004 @ 09:49
t64e<?php

$regexp = '(((http|ftp|https|gopher)://)?([a-z]+)\.([a-zA-Z0-9]+)(\.([a-z]+)){1,2}([/\\][a-zA-Z0-9]*)';
$regrep = '<a href="\\1">\\1</a>';

$text = 'Dit is een test voor website urls. Midden in een zin moet www.reuters.com goed geparsed worden, en ook www.reuters.co.uk met meerdere punten moet ook goed doorkomen. Url\'s met meerdere niveau\'s zoals www.fok.nl/nieuws of www.fok.nl/nieuws/ moeten eigenlijk stiekum ook rond komen. Op het einde van een zin moet het ook goedkomen met www.fokforum.nl. En niet te vergeten http://forum.fok.nl/templates/foksilver/i/logo.jpg';

echo ereg_replace($regexp, $regrep, $text);
?>

Alleen ik krijg dan problemen met http://forum.fok.nl/templates/foksilver/i/logo.jpg die stopt dan bij de punt zeg maar en de jpg niet meepakt. Als ik echter
$regexp = "(((http|ftp|https|gopher)://)?([a-z]+)\.([a-zA-Z0-9]+)(\.([a-z]+)){1,2}([/\\][^ \t\n\r$]*)";
gebruik, dan gaat dat wel goed, maar weet je weer niet zeker of dat alle extremiteiten dan wel in orde zijn omdat je vrij veel accepteerd op het eind.

Valt me op trouwens dat www.fok.nl/nieuws/ niet gepakt wordt... en www.fok.nl/nieuws ook niet. terwijl die lange op het einde in replique wel goed gaat. hmmmm....
Swetseneggervrijdag 16 juli 2004 @ 11:16
quote:
Op vrijdag 16 juli 2004 09:49 schreef Roönaän het volgende:
t64e<?php

$regexp = '(((http|ftp|https|gopher)://)?([a-z]+)\.([a-zA-Z0-9]+)(\.([a-z]+)){1,2}([/\\][a-zA-Z0-9]*)';
$regrep = '<a href="\\1">\\1</a>';

$text = 'Dit is een test voor website urls. Midden in een zin moet www.reuters.com goed geparsed worden, en ook www.reuters.co.uk met meerdere punten moet ook goed doorkomen. Url\'s met meerdere niveau\'s zoals www.fok.nl/nieuws of www.fok.nl/nieuws/ moeten eigenlijk stiekum ook rond komen. Op het einde van een zin moet het ook goedkomen met www.fokforum.nl. En niet te vergeten http://forum.fok.nl/templates/foksilver/i/logo.jpg';

echo ereg_replace($regexp, $regrep, $text);
?>

Alleen ik krijg dan problemen met http://forum.fok.nl/templates/foksilver/i/logo.jpg die stopt dan bij de punt zeg maar en de jpg niet meepakt. Als ik echter
$regexp = "(((http|ftp|https|gopher)://)?([a-z]+)\.([a-zA-Z0-9]+)(\.([a-z]+)){1,2}([/\\][^ \t\n\r$]*)";
gebruik, dan gaat dat wel goed, maar weet je weer niet zeker of dat alle extremiteiten dan wel in orde zijn omdat je vrij veel accepteerd op het eind.

Valt me op trouwens dat www.fok.nl/nieuws/ niet gepakt wordt... en www.fok.nl/nieuws ook niet. terwijl die lange op het einde in replique wel goed gaat. hmmmm....
Volgens mij gaan we nu een beetje voorbij aan de topictitel
overigens denk ik dat www.fok.nl/nieuws alleen goed gaat wanneer gevolgd door een punt en daarna minimaal 2 karakters

www.fok.nl/nieuws.ph

Ja dus

Volgens mij lijkt Breuls url parser verdomd veel op een van die laatste van ons

[ Bericht 5% gewijzigd door Swetsenegger op 16-07-2004 11:21:58 ]
Swetseneggervrijdag 16 juli 2004 @ 11:17
quote:
Op vrijdag 16 juli 2004 09:23 schreef Light het volgende:
Als je nu ook nog een [.url] [./url] tag gaat inbouwen krijg je wel leuke effecten.
En webadressen mogen ook beginnen met http:// (of https://) om het nog ingewikkelder te maken.
mjah, hij negeert de http:// gewoon en zet de www erachter wel netjes naar een url. Niets aan de hand dus
Roonaanvrijdag 16 juli 2004 @ 12:06
quote:
Op vrijdag 16 juli 2004 11:17 schreef Swetsenegger het volgende:

[..]

mjah, hij negeert de http:// gewoon en zet de www erachter wel netjes naar een url. Niets aan de hand dus
Je kan er toch een eenvoudige (((http|https|ftp)://)?) tussenplakken aan het begin? Dan heb je dat ook afgevangen.
Swetseneggervrijdag 16 juli 2004 @ 12:58
quote:
Op vrijdag 16 juli 2004 12:06 schreef Roönaän het volgende:

[..]

Je kan er toch een eenvoudige (((http|https|ftp)://)?) tussenplakken aan het begin? Dan heb je dat ook afgevangen.


Van het weekend wel eens kritisch naar de url parser kijken.
mscholvrijdag 16 juli 2004 @ 13:07
quote:
Op donderdag 15 juli 2004 22:36 schreef Swetsenegger het volgende:

[..]

Het is wel hoofdpijn code ja
Maar wel krachtig!
tis idd krachtrig maar als ik geen duidelijke nl uitleg van iedere mogelijkheid (dus wat ^ en $ etc betekenen) heb dan schiet ik er zelf weinig mee op..
maar ik nog wel eff googlen
Swetseneggervrijdag 16 juli 2004 @ 13:41
quote:
Op vrijdag 16 juli 2004 13:07 schreef mschol het volgende:

[..]

tis idd krachtrig maar als ik geen duidelijke nl uitleg van iedere mogelijkheid (dus wat ^ en $ etc betekenen) heb dan schiet ik er zelf weinig mee op..
maar ik nog wel eff googlen
^ begin string
$ einde string

http://www.phphulp.nl/php/tutorials/2/29
http://www.phphulp.nl/php/tutorials/2/134
Swetseneggervrijdag 16 juli 2004 @ 14:15
<?
# Regular Expressions:

"^Ik" // geeft aan dat een string moet beginnen met "Ik"

"en jij$" // geeft aan dat de string moet eindigen op "en jij"

"^Ik en jij$" // hier moet de string beginnen met "Ik en jij" maar er ook op eindigen, alleen "Ik en jij" is dus correct

"ik" // geeft aan dat een string de waarde "ik" moet bevatten


"ab*" // geeft aan dat na de a een aantal b's moeten komen (dit kunnen er ook nul zijn) bv. "a" (dan zijn er 0 b's) "ab", "abb", "abbb" enz

"ab+" // is vrijwel hetzelfde alleen mag b geen nul keer voorkomen dus "ab", "abb", "abbb" enz

"ab?" // geeft aan dat b nul of 1 keer mag voorkomen


"ab{2}" // geeft aan dat de a gevolgt wordt door exact 2 b's dus "abb"

"ab{2,}" // geeft aan dat de a gevolgt wordt door minimaal 2 b's "abb", "abbb" enz

"ab{1,3}" // geeft aan dat a gevolgt wordt door 1, 2 of 3 b's dus "ab", "abb" of "abbb"


"a(bc)*" // de haakjes geven aan dat het om dat hele stuk gaat dus bc komt nul of meer keer voor: "a", "abc", "abcbc" enz

"a(bc){1,3}" // geeft aan dat bc 1 tot 3 keer voor moet komen "abc", "abcbc" of "abcbcbc"


"hoi|dag" // geeft aan dat een string hallo of dag moet bevatten

"(hoi|dag)ik" // geeft aan dat er voor ik hoi of dag moet staan

"(ab|bc)*d" // geeft aan dat d voorafgegaan moet worden door ab of bc


"[a-d]" // geeft aan dat een string de kleine letters a tot en met d moet bevatten

"[a-zA-Z]" // betekent alle kleine a-z en alle hoofd A-Z

"[0-9]" // geeft een string aan met cijfers 0-9

"[a-zA-Z0-9]" // combineert de twee hierboven


"." // met een punt kunnen we één teken defineren

"a.[0-9]" // de waarde a wordt gevolgt door een willekeurig teken en een getal tussen 0-9

"^.{5}$" // houdt in dat de string 5 willekeurige tekens bevat

note : als je het bv dollarteken los van de expressie wil gebruiken doe je dat zo "\$" (binnen de [ ] niet daar is een $ gewoon een $)

"[^a-d]$" // geeft aan dat een string niet eindigt op de letters a-d

"^[^A-Z]\.$" // geeft aan dat een string niet met een hoofdletter begint maar wel op een punt eindigt
?>
Lightvrijdag 16 juli 2004 @ 18:18
quote:
Op vrijdag 16 juli 2004 12:06 schreef Roönaän het volgende:

[..]

Je kan er toch een eenvoudige (((http|https|ftp)://)?) tussenplakken aan het begin? Dan heb je dat ook afgevangen.
(((https?|ftp):\/\/)?) is korter. Dat protocol moet natuurlijk ook in de uiteindelijke link komen, maar da's niet zo'n probleem. Als er geen protocol gekozen is moet er ook een link gemaakt worden, en dan wel met http:// als protocol. Da's lastiger.
Swetseneggervrijdag 16 juli 2004 @ 20:09
Tja, nou ik ben wel aardig door m'n features heen. Ik zal de code nog wel wat optimaliseren, maar het is wel 'af' nu. Wat zal ik nu eens gaan doen
mscholvrijdag 16 juli 2004 @ 21:16
quote:
Op vrijdag 16 juli 2004 20:09 schreef Swetsenegger het volgende:
Tja, nou ik ben wel aardig door m'n features heen. Ik zal de code nog wel wat optimaliseren, maar het is wel 'af' nu. Wat zal ik nu eens gaan doen
een CMS bouwen ???
Swetseneggervrijdag 16 juli 2004 @ 21:57
quote:
Op vrijdag 16 juli 2004 21:16 schreef mschol het volgende:

[..]

een CMS bouwen ???
Ja, dat idee had ik al
Swetseneggerzaterdag 17 juli 2004 @ 18:54
Wat doe ik fout?
Welke naam ik ook intik, ik kom steeds weer op login.php...
quote:
if(isset($_POST['submit'])){


if(($_POST['username']=='testnaam') AND ($_POST['password']=='testpass')){

session_start();
$_SESSION['username']='testnaam';
$_SESSION['password']='testpass';
header("Location: onderhoud.php");
ob_end_flush();

}else{
header("Location: login.php");
ob_end_flush();}
sylvesterrrzaterdag 17 juli 2004 @ 19:01
quote:
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if($_POST['username'] == 'testnaam' && $_POST['password'] == 'testpass') {
session_start();
$_SESSION['username'] = 'testnaam'];
$_SESSION['password'] = 'testpass';
header('Location: onderhoud.php');
}
else {
header('Location: login.php');
}
}
is wat netter.

maar ehh...je weet zeker dat die invoervelden ook echt bestaan in dat formulier?
Swetseneggerzaterdag 17 juli 2004 @ 19:04
quote:
Op zaterdag 17 juli 2004 19:01 schreef sylvesterrr het volgende:

[..]

is wat netter.

maar ehh...je weet zeker dat die invoervelden ook echt bestaan in dat formulier?
Ja...

volledige php:
quote:
<?php

if(isset($_POST['logout'])){

session_start();
unset($_SESSION);
session_destroy();
header("Location: login.php");
ob_end_flush();}// output buffering stoppen en alles doorsturen naar de client.


if(isset($_POST['submit'])){


if(($_POST['username']=='testnaam') AND ($_POST['password']=='testpass')){

session_start();
$_SESSION['username']='testnaam';
$_SESSION['password']='testpass';
header("Location: onderhoud.php");
ob_end_flush();// output buffering stoppen en alles doorsturen naar de client.


}else{
header("Location: login.php");
ob_end_flush();}// output buffering stoppen en alles doorsturen naar de client.


}
else{

print('<form action="login.php" method="post">
<p class="highlight2">Username:</p>
<input type="text" name="username" size="20" />
<p class="highlight2">Password:</p>
<input type="text" name"password" size="20" />
<input type="submit" name="submit" value="Log in" />
<input type="submit" name="logout" value="Log out" />
</form>');
}


?>
sylvesterrrzaterdag 17 juli 2004 @ 19:09
<input type="text" name"password" size="20" />
--> <input type="text" name="password" size="20" />



var_dump($_POST) levert het volgende op:
quote:
array(2) { ["username"]=> string(8) "testnaam" ["submit"]=> string(6) "Log in" }
$_POST['password'] bestaat dus niet eens.
Swetseneggerzaterdag 17 juli 2004 @ 19:34
Swetseneggerzaterdag 17 juli 2004 @ 19:51
Volgens mij zie ik weer wat over het hoofd... op onderhoud.php staat nu deze toevoeging
quote:
<?php
ob_start(); //starten output buffering

if(($_SESSION['username']!='testnaam') AND ($_SESSION['password']!='testpass')){
header("Location: login.php");
exit();
ob_end_flush();}// output buffering stoppen en alles doorsturen naar de client.

?>
En ik kom alleen op login.php terecht
Swetseneggerzaterdag 17 juli 2004 @ 20:14
AAAARGH,

session_start()

sylvesterrrzaterdag 17 juli 2004 @ 20:21
quote:
Op zaterdag 17 juli 2004 20:14 schreef Swetsenegger het volgende:
AAAARGH,

session_start()

Voortaan wat beter slapen he.
Lightzaterdag 17 juli 2004 @ 20:33
quote:
Op zaterdag 17 juli 2004 19:09 schreef sylvesterrr het volgende:
--> <input type="text" name="password" size="20" />
Ik zou dan gaan voor:
<input type="password" name="password" size="20" />
sylvesterrrzaterdag 17 juli 2004 @ 21:29
quote:
Op zaterdag 17 juli 2004 20:33 schreef Light het volgende:

[..]

Ik zou dan gaan voor:
<input type="password" name="password" size="20" />
Inderdaad, maar daar ging het niet om. Hij wilde weten waarom het niet werkte.
Swetseneggerzondag 18 juli 2004 @ 00:17
quote:
Op zaterdag 17 juli 2004 20:33 schreef Light het volgende:

[..]

Ik zou dan gaan voor:
<input type="password" name="password" size="20" />
Dat had ik al aangepast, maar om te zien of je geen tikfouten in je password maakt...
Lightzondag 18 juli 2004 @ 00:46
quote:
Op zondag 18 juli 2004 00:17 schreef Swetsenegger het volgende:

[..]

Dat had ik al aangepast, maar om te zien of je geen tikfouten in je password maakt...
Om te zien of je je wachtwoord wel kunt tikken is type="text" wel handig, da's waar
Swetseneggermaandag 19 juli 2004 @ 12:31
quote:
Op donderdag 15 juli 2004 19:23 schreef Swetsenegger het volgende:

[..]

Precies wat ik zocht
Wat trouwens wel erg lekker is bij winsyntax dat hij de corresponderende { en } aangeeft!
sylvesterrrmaandag 19 juli 2004 @ 12:48
quote:
Op maandag 19 juli 2004 12:31 schreef Swetsenegger het volgende:

[..]

Wat trouwens wel erg lekker is bij winsyntax dat hij de corresponderende { en } aangeeft!

Nu is dat wel handig ja.


Nu is dat ook wel handig, maar niet noodzakelijk.

[ Bericht 3% gewijzigd door sylvesterrr op 19-07-2004 12:55:43 ]
Swetseneggermaandag 19 juli 2004 @ 14:56
quote:
Op maandag 19 juli 2004 12:48 schreef sylvesterrr het volgende:

[..]

[afbeelding]
Nu is dat wel handig ja.

[afbeelding]
Nu is dat ook wel handig, maar niet noodzakelijk.
In beide gevallen heb ik me de tering gezocht
(Ja, ik maak gebruik van inspringingen)
slindenaumaandag 19 juli 2004 @ 15:31
Daarom vind ik dat je inspringen goed moet leren, en niet zoals sylvesterrr doet, want dan zie je nog niet welke accolades bij elkaar horen.
Zo doe ik het altijd:


Dit is maar een voorbeeldje, hier kan je snel zien welke accolade bij welke statement hoort .
Swetseneggermaandag 19 juli 2004 @ 16:39
quote:
Op maandag 19 juli 2004 15:31 schreef slindenau het volgende:
Daarom vind ik dat je inspringen goed moet leren, en niet zoals sylvesterrr doet, want dan zie je nog niet welke accolades bij elkaar horen.
Zo doe ik het altijd:
[afbeelding]

Dit is maar een voorbeeldje, hier kan je snel zien welke accolade bij welke statement hoort .
Ja zo strak doe ik het niet
sylvesterrrmaandag 19 juli 2004 @ 16:41
quote:
Op maandag 19 juli 2004 15:31 schreef slindenau het volgende:
Daarom vind ik dat je inspringen goed moet leren, en niet zoals sylvesterrr doet, want dan zie je nog niet welke accolades bij elkaar horen.
He, het inspringen doen we op dezelfde manier, maar het plaatsen van de accolades blijkbaar niet. Ik moet toegeven dat jouw manier wel wat duidelijker is. Ik zal proberen mezelf aan te leren zo te scripten.
mscholmaandag 19 juli 2004 @ 17:23
quote:
Op maandag 19 juli 2004 16:41 schreef sylvesterrr het volgende:

[..]

He, het inspringen doen we op dezelfde manier, maar het plaatsen van de accolades blijkbaar niet. Ik moet toegeven dat jouw manier wel wat duidelijker is. Ik zal proberen mezelf aan te leren zo te scripten.
op die laatste manier deed ik het al standaard terwijl mij verteld werdt dat je juist de andere moest gebruiken..
Swetseneggerwoensdag 21 juli 2004 @ 22:32
Is er ergens een site waar de snelheid per PHP functie te vinden is? In millesec of in clockcycli ofzo?
slindenauwoensdag 21 juli 2004 @ 22:47
quote:
Op woensdag 21 juli 2004 22:32 schreef Swetsenegger het volgende:
Is er ergens een site waar de snelheid per PHP functie te vinden is? In millesec of in clockcycli ofzo?
Hehe, je kan snelheid gewoon testen door de tijd op te nemen aan het begin en aan het eind, dat een keer of 100.000 te doen, en dan het gemiddelde te nemen.

Snelheid opnemen kan zo:
quote:
for($i=0; $i<100000;$i++)
{
list($usec, $sec) = explode(" ", microtime());
$begin = ((float)$usec + (float)$sec);
//begin je functie

//eind je functie
list($usec, $sec) = explode(" ", microtime());
$eind = ((float)$usec + (float)$sec);
$parsetime[]=$eind-$begin;
}

echo "De gemiddelde parsetime: ".(array_sum($parsetime)/count($parsetime));
Swetseneggerwoensdag 21 juli 2004 @ 22:50
quote:
Op woensdag 21 juli 2004 22:47 schreef slindenau het volgende:

[..]

Hehe, je kan snelheid gewoon testen door de tijd op te nemen aan het begin en aan het eind, dat een keer of 100.000 te doen, en dan het gemiddelde te nemen.

Snelheid opnemen kan zo:
[..]
Mjah, dat doe ik al. Maar ik wil eigenlijk gewoon per functie de tijd weten. In zo'n geval kan je dus simpel uitrekenen of twee keer een str_replace plus een substr_count sneller is als een preg_replace
slindenauwoensdag 21 juli 2004 @ 22:58
quote:
Op woensdag 21 juli 2004 22:50 schreef Swetsenegger het volgende:

[..]

Mjah, dat doe ik al. Maar ik wil eigenlijk gewoon per functie de tijd weten. In zo'n geval kan je dus simpel uitrekenen of twee keer een str_replace plus een substr_count sneller is als een preg_replace
Die lijsten zullen niet bestaan, omdat de snelheid afhangt van de snelheid van de server .
Het hangt dus af van de snelheid van de processor en het geheugen van de server.
Swetseneggerwoensdag 21 juli 2004 @ 23:02
quote:
Op woensdag 21 juli 2004 22:58 schreef slindenau het volgende:

[..]

Die lijsten zullen niet bestaan, omdat de snelheid afhangt van de snelheid van de server .
Het hangt dus af van de snelheid van de processor en het geheugen van de server.
Dan kan je het toch in cycli aangeven ipv in harde waardes. bij een snelle server zal een cyclus sneller voorbij zijn.

Maar dan weet je nog steeds dat een functie van 2 cycli sneller is dan een functie van 3 cycli.
Roonaandonderdag 22 juli 2004 @ 09:30
Je kan beiden toch 1000 keer uitvoeren

$time[0];
1000x preg
$time[1]
1000x strpos
$time[2]
1000x preg
$time[3];
1000x strpos
$time[4]

echo "<br/>preg: ".($time[1] - $time[0] + $time[3] - $time[2]);
echo "<br/>strr: ".($time[2] - $time[1] + $time[4] - $time[3]);
Swetseneggerdonderdag 22 juli 2004 @ 11:00
quote:
Op donderdag 22 juli 2004 09:30 schreef Roönaän het volgende:
Je kan beiden toch 1000 keer uitvoeren

$time[0];
1000x preg
$time[1]
1000x strpos
$time[2]
1000x preg
$time[3];
1000x strpos
$time[4]

echo "<br/>preg: ".($time[1] - $time[0] + $time[3] - $time[2]);
echo "<br/>strr: ".($time[2] - $time[1] + $time[4] - $time[3]);
Mjah, dat is toch een gezeur? Om optimaal te coden zou het gewoon makkelijk zijn wanneer er per functie de tijd beschikbaar was. Maar dat bestaat dus niet
Roonaandonderdag 22 juli 2004 @ 11:08
Hoe wil je in hemelsnaam de cycle's van een preg bepalen dan? Die is toch sterk afhankelijk van de lengte van zowel string als regexp?

strpos is over te zeggen dat (wanneer optimaal geprogrammeerd) deze single-pass zou moeten kunnen zijn. Dat haal je denk ik met preg niet.

str_replace zal ook single-pass kunnen denk ik? het is toch een soort strpos.
substr is ook singlepass.
slindenaudonderdag 22 juli 2004 @ 13:30
Het komt er gewoon op neer dat je toch moet gaan benchmarken .
Swetseneggerdinsdag 27 juli 2004 @ 22:44
Nog een duidelijke uitleg voor regex:

http://www.phpfreakz.nl/artikelen.php?aid=8
Swetseneggerzondag 1 augustus 2004 @ 21:06
Ik ben wat simpele statistieken aan het maken: Hits en unieke bezoekers.
Bij elke hit op elke pagina sla ik het ip, de pagina waar de hit op plaats vind en DATE op in een tabel.

Hits is natuurlijk eenvoudig:
quote:
$query='SELECT * FROM stats WHERE pagina="/index.php"';
$result=mysql_query($query);
$index_hits=mysql_num_rows($result);
Voor unieke bezoekers heb ik nu dit
quote:
$query='SELECT DISTINCT ip_address FROM stats WHERE pagina="/index.php"';
$result=mysql_query($query);
$index_visitor=mysql_num_rows($result);
Maar... ik wil hier een tijd aanvast hangen. Bv hits van hetzelfde IP gelden opdezelfde dag als 1 unieke bezoeker, maar de volgende dag moet ik 'm natuurlijk weer gewoon meetellen....

Hoe prop ik dat in m'n query?
Ali Salamizondag 1 augustus 2004 @ 21:14
-herstel, deze klopte niet, ik denk even verder -
Swetseneggerzondag 1 augustus 2004 @ 21:16
quote:
Op zondag 1 augustus 2004 21:14 schreef Ali Salami het volgende:
SELECT date,count(ip) FROM ip_address ORDER BY date DESC

zoiets
Zoiets of ditissum?

Wat doet die count?
Swetseneggerzondag 1 augustus 2004 @ 21:23
Feitelijk moet ik dus distinct IP EN distinct date....

-edit-
Nee van het distinct IP moet ik distinct date
Ali Salamizondag 1 augustus 2004 @ 21:32
SELECT date, count(DISTINCT ip) FROM ip_address` GROUP BY date

Die was het
Swetseneggerzondag 1 augustus 2004 @ 21:33
quote:
Op zondag 1 augustus 2004 21:32 schreef Ali Salami het volgende:
SELECT date, count(DISTINCT ip) FROM ip_address` GROUP BY date

Die was het
En het resultaat hiervan is bv '6'?
En wat doet die count nu? Dat is toch vervanging voor mysql_num_rows?
Ali Salamizondag 1 augustus 2004 @ 21:34
Per datum weergegeven

datum - aantal verschillende ip's
datum2 - aantal verschillende ip's

etc
Ali Salamizondag 1 augustus 2004 @ 21:38
count telt het aantal rows binnen de waarde die je opgeeft. In mijn eerste querie telde hij het aantal ip's binnen die datum, maar het moesten verschillende ip's zijn, wat je dus weer oplost met die DISTINCT.

Op deze manier kun je in de querie dus iets ten opzichte van een andere waarde tellen. Dat is dus wat anders dan mysql_num_rows, waarin je het uiteindelijke aantal rijen dat hij teruggeeft telt (in dit geval zou je dat brengen op het aantal verschillende dagen dat erin staan. Kun je weer gebruiken voor het gemiddeld aantal unieke bezoekers er dag )
Swetseneggerzondag 1 augustus 2004 @ 21:40
quote:
Op zondag 1 augustus 2004 21:34 schreef Ali Salami het volgende:
Per datum weergegeven

datum - aantal verschillende ip's
datum2 - aantal verschillende ip's

etc
Ja dat dacht ik al, maar dat zoek ik dus niet.

In de tabel staat bv

IP-adres
1 - vandaag
1 - vandaag
2 - vandaag
3 - vandaag
4 - vandaag
4 - morgen
1 - morgen

Dit geeft NU 4 unieke bezoekers, terwijl het er 6 zouden moeten zijn

de twee maal 1- vandaag telt 1 keer, maar de 1- morgen telt wel als uniek, hetzelfde voor 4
Ali Salamizondag 1 augustus 2004 @ 21:44
Wat de querie doet is
vandaag - 4
morgen - 2

In de while-lus zorg je er vervolgens voor dat de tweede kolom weer wordt opgeteld bij elkaar, dan krijg je dus 6
Roonaanzondag 1 augustus 2004 @ 21:54
misschien
select distinct concat(ip, date), ip, date from ip_address
of
select concat(ip,date) as ipdate, ip, date from ip_address group by ipdate
Lightzondag 1 augustus 2004 @ 22:21
select ip, datum from ip_address group by datum, ip
Swetseneggerzondag 1 augustus 2004 @ 22:39
Thanks voor de hulp, maar ik kom er nog niet jongens.

Dit schrijf ik naar de tabel:
quote:
$query="INSERT INTO stats
(stats_id,ip_address,pagina,datum_geplaatst)
VALUES(0,'$ip_stats','$pagina', NOW())";
ip_address bevat dus zoiets als 80.163.249.138 (per hit)
pagina bevat bv /index.php
datum_geplaatst bevat bv 2004-08-01

Nu wil ik dus alle IP's welke hetzelfde zijn EN binnen dezelfde dag vallen per pagina als 1 tellen.


Oe, is dit hem dan?
quote:
$query='SELECT ip_address, datum_geplaatst FROM stats WHERE pagina="/index.php" GROUP BY datum_geplaatst, ip_address';
$result=mysql_query($query);
$index_visitor=mysql_num_rows($result);
Ik zal het morgen pas weten
Ali Salamizondag 1 augustus 2004 @ 22:56
Ik snap eik niet waarom je niet met die van mij uit de voeten kan. Punt is wel dat je daarbij in een php-handeling nog wat moet optellen, maar ik ken zo geen query waarmee dat wel lukt.

Wil je voor elke pagina, dus bv index.php:
quote:
dag 1 - 2 hits
dag 2 - 3 hits
waarbij elke hit voor een uniek ipadres telt, dan kun je mijn query gebruiken, vermeerderd uiteraard met het 'WHERE pagina='-statement. Dan heb je het aantal unieke hits per dag, die je dmbv een while-loop kunt laten zien. Dat is wat ik nog steeds denk dat je wilt eik. Ik had alleen de query site-breed, dus zonder dat je naar een specifieke pagina gaat kijken.

Even kort dus nog:
tabelinhoud:
quote:
IP - DAG - PAGINA
1 - 2004-01-01 - index.php
2 - 2004-01-01 - index.php
2 - 2004-01-01 - index.php
2 - 2004-01-01 - index.php
1 - 2004-01-02 - index.php
2 - 2004-01-02 - index.php
3 - 2004-01-02 - index.php
3 - 2004-01-02 - index.php
Je hebt ip 3 verschillende ip adressen, die je met een COUNT(distinct ip) kunt tellen. Je wilt echter per dag, wat je kunt doen met mijn query van een aantal posts terug. Wil je dan ook nog het totaal aantal unieke hits van al die dagen dan zul je moeten doen:
quote:
while(list($dag,$ip)==mysql_fetch_array($result))
{
$dagtotaal=$dagtotaal+$ip;
}
en dan output en eventuele extra's
quote:
$aantal_dagen=mysql_num_rows($result);
$gem=$dagtotaal/$aantal_dagen

print $dagtotaal;
print $gem;

In de query van je hier net boven hoef je overigens geen GROUP BY te gebruiken aangezien je geen zaken als count, sum etc gebruikt..

Wat ik bij dergelijke queries overigens meestal doe is direct uitproberen in phpmyadmin. Je ziet dan meteen of de query fout is, kunt hem meteen weer testen etc..

[ Bericht 22% gewijzigd door Ali Salami op 01-08-2004 23:07:03 ]
Swetseneggerzondag 1 augustus 2004 @ 22:59
quote:
Op zondag 1 augustus 2004 22:56 schreef Ali Salami het volgende:
Ik snap eik niet waarom je niet met die van mij uit de voeten kan. Punt is wel dat je daarbij in een php-handeling nog wat moet optellen, maar ik ken zo geen query waarmee dat wel lukt.

Wil je voor elke pagina, dus bv index.php:
[..]

waarbij elke hit voor een uniek ipadres telt, dan kun je mijn query gebruiken, vermeerderd uiteraard met het 'WHERE pagina='-statement. Dan heb je het aantal unieke hits per dag, die je dmbv een while-loop kunt laten zien. Dat is wat ik nog steeds denk dat je wilt eik. Ik had alleen de query site-breed, dus zonder dat je naar een specifieke pagina gaat kijken.

In de query van je hier net boven hoef je overigens geen GROUP BY te gebruiken aangezien je geen zaken als count, sum etc gebruikt..

Wat ik bij dergelijke queries overigens meestal doe is direct uitproberen in phpmyadmin. Je ziet dan meteen of de query fout is, kunt hem meteen weer testen etc..
Ik was alleen op zoek naar totalen, maar per dag is natuurlijk ook wel weer geil.

Morgen verder kloten
Ali Salamizondag 1 augustus 2004 @ 23:12
Ik heb nog wat bij de vorige post gezet wbt de while_loop waarmee je die totalen verkrijgt etc
Toch zijn die totalen niet echt duidelijk. Als je zoals jij stelt het aantal unieke bezoekers telt per dag, en daarvan totalen maakt, dan tel je dus ook dubbele ip's. En daarmee zeker dubbele bezoekers. Maargoed, gemiddeld aantal unieke bezoekers per dag kun je dus wel weer berekenen
Swetseneggermaandag 2 augustus 2004 @ 08:37
quote:
Op zondag 1 augustus 2004 23:12 schreef Ali Salami het volgende:
Ik heb nog wat bij de vorige post gezet wbt de while_loop waarmee je die totalen verkrijgt etc
Toch zijn die totalen niet echt duidelijk. Als je zoals jij stelt het aantal unieke bezoekers telt per dag, en daarvan totalen maakt, dan tel je dus ook dubbele ip's. En daarmee zeker dubbele bezoekers. Maargoed, gemiddeld aantal unieke bezoekers per dag kun je dus wel weer berekenen
Dat klopt ja. wanneer je per pagina unieke IP's telt, dan is het totaal van de pagina's anders dan website wide.
Geldt niet voor hits
Swetseneggerdinsdag 24 augustus 2004 @ 21:17
Waar ga ik de fout in?

Ik heb deze query:
"SELECT * FROM database WHERE ID=".$waarde." ORDER BY ID LIMIT ". ($waarde+10) ." DESC"

En die geeft de volgende foutmelding:

You have an error in your SQL syntax near 'DESC' at line 1 query SELECT * FROM database WHERE id=0 ORDER BY id LIMIT 10 DESC

De waardes lid en limit zijn goed, maar blijkbaar is query niet goed.
Lightdinsdag 24 augustus 2004 @ 21:28
DESC hoort bij de ORDER BY. Als je het voor LIMIT zet zou het wel moeten werken.
Swetseneggerdinsdag 24 augustus 2004 @ 21:29
"SELECT * FROM database WHERE ID=".$waarde." ORDER BY ID DESC LIMIT ". ($waarde+10) ."

dus?
Swetseneggerdinsdag 24 augustus 2004 @ 21:31
Hmz, geen foutmelding alleen krijg ik geen data.

De bedoeling is dus VANAF ID waarde tot en met waarde+10
Swetseneggerdinsdag 24 augustus 2004 @ 21:34
Ik heb het al gevonden. Ik dacht dat Mysql autoincrement ID start bij 0, maar dat blijkt 1 te zijn

-edit- niet dus, want nu pakt ie ALLEEN ID 1 en niet 1 t/m 10
Lightdinsdag 24 augustus 2004 @ 21:40
Is dit dan wat je zoekt?

"SELECT * FROM database WHERE ID>=".$waarde." ORDER BY ID LIMIT 0,10
mscholdinsdag 24 augustus 2004 @ 21:45
quote:
Op dinsdag 24 augustus 2004 21:40 schreef Light het volgende:
Is dit dan wat je zoekt?

"SELECT * FROM database WHERE ID>=".$waarde." ORDER BY ID LIMIT 0,10
moet het dan niet:

"SELECT * FROM database WHERE ID>=".$waarde." ORDER BY ID LIMIT ".$waarde.",10"

zijn??
Swetseneggerdinsdag 24 augustus 2004 @ 21:47
Ja, ik had 'm al gevonden. Een groter dan teken doet wonderen
Thanks!
Lightdinsdag 24 augustus 2004 @ 21:59
quote:
Op dinsdag 24 augustus 2004 21:45 schreef mschol het volgende:

[..]

moet het dan niet:

"SELECT * FROM database WHERE ID>=".$waarde." ORDER BY ID LIMIT ".$waarde.",10"

zijn??
Nee

"SELECT * FROM database WHERE ID>=".$waarde." ORDER BY ID LIMIT 0, 10"
en
"SELECT * FROM database ORDER BY ID LIMIT ".$waarde.",10"

leveren dezelfde uitvoer op. Tenminste, als alle ID's bestaan. En waarschijnlijk levert de eerste een beter resultaat op en is hij ook sneller. Als niet alle ID's bestaan dan levert de eerste nog steeds 10 resultaten vanaf het gevraagde ID, de tweede levert 10 resultaten vanaf $waarde rijen. Als $waarde == 100 en van de eerste 100 ID's zijn er 10 alweer verwijderd dan krijg je resultaten vanaf ID 110.
Swetseneggerdinsdag 24 augustus 2004 @ 22:05
quote:
Op dinsdag 24 augustus 2004 21:59 schreef Light het volgende:

[..]

Nee

"SELECT * FROM database WHERE ID>=".$waarde." ORDER BY ID LIMIT 0, 10"
en
"SELECT * FROM database ORDER BY ID LIMIT ".$waarde.",10"

leveren dezelfde uitvoer op. Tenminste, als alle ID's bestaan. En waarschijnlijk levert de eerste een beter resultaat op en is hij ook sneller. Als niet alle ID's bestaan dan levert de eerste nog steeds 10 resultaten vanaf het gevraagde ID, de tweede levert 10 resultaten vanaf $waarde rijen. Als $waarde == 100 en van de eerste 100 ID's zijn er 10 alweer verwijderd dan krijg je resultaten vanaf ID 110.
Dat laatste is wel de bedoeling.

Het is als volgt.
In mijn gastenboek wil ik simpelweg max 10 reacties per pagina laten zien.
Indien er meer dan 10 reacties zijn krijg je onderaan de mogelijkheid om naar pagina 2 te gaan.

Ik geef dus een offset mee van pagina nummer plus 10 (met gedelete ID's heb ik dus een probleempje)

Maar het wordt nog leuker. Ik heb een sorteringsmogelijkheid.
Laatste eerst tonen of eerste eerst tonen

Dus met deze query kom ik er niet, ja met ASC niet met DESC. Dus ik ben nog wat kunst en vliegwerk aan het uithalen. Dat gaat wel lukken maar gedelete ID's heb ik even geen oplossing voor.
Swetseneggerdinsdag 24 augustus 2004 @ 22:30
DESC en ASC probleem is opgelost

Ik doe het volgende:

Ik tel het totaal aantal records in de database (is aantal reacties) Dat deel ik door tien en het getal wat daar uitkomt rond ik af naar het eerst volgende hele getal Dat zijn het aantal pagina's die ik krijg.

Die urls print ik met een while lus:
quote:
$result=mysql_query('SELECT COUNT(id) AS aantal FROM database');
$row = mysql_fetch_assoc($result);
$total_reactions=$row['aantal'];

$total_pages=ceil("$total_reactions"/10);
$page_number=0;

while($total_pages){
$total_pages--;
$page_number++;
$page_offset_asc=($page_number*10)-9;
$page_offset_desc=$total_reactions-(($page_number-1)*10);

print('<a href="pagina.php?sort='.$sort.'&pageup='.$page_offset_asc.'&pagedown='.$page_offset_desc.'">'.$page_number.'</a> ');
}
En mijn querys worden dan
quote:
if(!empty($_GET['pageup'])){
$offset_asc=($_GET['pageup']);
}else{
$offset_asc=1;
}

if(!empty($_GET['pagedown'])){
$offset_desc=($_GET['pageup']);
}else{
$offset_desc=$total_reactions;
}

if(!empty($_GET['sort'])){

if(($_GET['sort'])=='down'){

$arrow='../image/down.gif';
$sort='up';
$query='SELECT * FROM database WHERE id>='.$offset_asc.' ORDER BY id ASC LIMIT 10';

}elseif(($_GET['sort'])=='up'){


$arrow='../image/up.gif';
$sort='down';
$query='SELECT * FROM database WHERE id<='.$offset_desc.' ORDER BY id DESC LIMIT 10';}
en dan nog wat geneuzel....

Dit werkt perfect.... mits er geen ID's gedelete zijn. Want het totaal aantal reacties is bv 25, maar door gedellete ID's is het hoogste ID 27...

Die zie ik met bovenstaande methode dus nooit op beeld
_-rally-_woensdag 25 augustus 2004 @ 08:01
quote:
Op dinsdag 24 augustus 2004 22:30 schreef Swetsenegger het volgende:
Dit werkt perfect.... mits er geen ID's gedelete zijn. Want het totaal aantal reacties is bv 25, maar door gedellete ID's is het hoogste ID 27...

Die zie ik met bovenstaande methode dus nooit op beeld
Waarom wil je gedelete ID's zien ?
Swetseneggerwoensdag 25 augustus 2004 @ 08:42
quote:
Op woensdag 25 augustus 2004 08:01 schreef _-rally-_ het volgende:

[..]

Waarom wil je gedelete ID's zien ?
Ik wil geen gedelete ID's zien. Ik wil de aanwezige ID's zien.

Stel je voor ik heb 28 reacties. Maar mijn hoogtse ID is 32 (dus 4 gedelete ID's)
Met DESC zie ik op de eerste page van ID 32 t/m 20 (daar zitten dus 2 gedelete ID's tussen. Maar zijn wel de eerste 10 records).

Op pagina 2 begin ik nu nietmet 19, maar met 22 (want ik trek per pagina simpelweg 10 van het hoogste ID af)

Pagina 2 loopt dan van 22 tm 11 (dus wederom 1 gedelete ID

Pagina 3 start op 12 (ipv 10) en loopt tot ID 3...
ID 2 en 1 welke niet gedelete zijn zie ik dus niet

Dat komt doordat de offset (simpelweg uitgaan van hoogste ID en daar er 10 vanaf trekken per pagina) Er van uit gaat dat ale ID's er zijn.


Ik zie dus netjes 10 reacties per pagina, maar ik begin niet per pagina met het opvolgende ID omdat er ID's gedelete zijn. Sommige reacties staan dus zowel op pagina 1 als 2 of zowel 2 als 3 waardoor er in totaal 30 reacties worden getoont, maar NIET alle 28 van het totaal (door de dubbele presentatie)

Moeilijk verhaal, maar ik hoop dat iemand het snapt
_-rally-_woensdag 25 augustus 2004 @ 10:48
quote:
Op woensdag 25 augustus 2004 08:42 schreef Swetsenegger het volgende:

[..]

Ik wil geen gedelete ID's zien. Ik wil de aanwezige ID's zien.

Stel je voor ik heb 28 reacties. Maar mijn hoogtse ID is 32 (dus 4 gedelete ID's)
Met DESC zie ik op de eerste page van ID 32 t/m 20 (daar zitten dus 2 gedelete ID's tussen. Maar zijn wel de eerste 10 records).

Op pagina 2 begin ik nu nietmet 19, maar met 22 (want ik trek per pagina simpelweg 10 van het hoogste ID af)

Bij het maken van je link moet je dan één keer door je hele tabel heen lopen, in stappen van 10..
Waarom doe je dat ? Waarom niet als je op pag 1 32 - 20 hebt, de query voor pag. 2: where id <20 ?

[ Bericht 7% gewijzigd door _-rally-_ op 25-08-2004 10:57:45 ]
Swetseneggerwoensdag 25 augustus 2004 @ 11:19
quote:
Op woensdag 25 augustus 2004 10:48 schreef _-rally-_ het volgende:

[..]

Waarom doe je dat ? Waarom niet als je op pag 1 32 - 20 hebt, de query voor pag. 2: where id <20 ?
Daar heb ik uiteraard aan gedacht, maar dan moet ik dus op pagina 1 onthouden waar ik geindigd ben en daar bij pag 2 mee beginnen. Maar als ik nu direkt van pag 1 naar pag 3 ga? Dan moet ik niet beginnen bij 20..... En ik weet op dat moment niet waar pag 2 eindigt.

-edit-

ter aanvulling, de GET info wordt dus gesubmit naar dezelfde pagina he. Dus de page response.php draait bij de eerste keer opstarten de query vanaf hoogste ID, limit 10. en ik genereer op die pagina de urls naar eventueel page 2, 3 , 4 enz.
Wanener ik die URL aanklik ga ik na response.php met de GET info voor de offset.
_-rally-_woensdag 25 augustus 2004 @ 11:32
quote:
Op woensdag 25 augustus 2004 11:19 schreef Swetsenegger het volgende:

[..]

Daar heb ik uiteraard aan gedacht, maar dan moet ik dus op pagina 1 onthouden waar ik geindigd ben en daar bij pag 2 mee beginnen. Maar als ik nu direkt van pag 1 naar pag 3 ga? Dan moet ik niet beginnen bij 20..... En ik weet op dat moment niet waar pag 2 eindigt.
Dus moet je of elke keer de hele tabel doorlopen op je links te bouwen, of een hulptabel bijhouden met begin en eind van elke pagina.
response.php draait bij de eerste keer opstarten de query vanaf hoogste ID, limit 10. en ik genereer op die pagina de urls naar eventueel page 2, 3 , 4 enz.
Wanener ik die URL aanklik ga ik na response.php met de GET info voor de offset.
[/quote]
Swetseneggerwoensdag 25 augustus 2004 @ 11:34
quote:
Op woensdag 25 augustus 2004 11:32 schreef _-rally-_ het volgende:

[..]

Dus moet je of elke keer de hele tabel doorlopen op je links te bouwen, of een hulptabel bijhouden met begin en eind van elke pagina.
response.php draait bij de eerste keer opstarten de query vanaf hoogste ID, limit 10. en ik genereer op die pagina de urls naar eventueel page 2, 3 , 4 enz.
Wanener ik die URL aanklik ga ik na response.php met de GET info voor de offset.
Ja dat idee had ik ook al. Maar dan schiet het zijn doel enigzins voorbij. Door die extra queries wordt het dan eerder trager dan sneller door minder reacties per scherm.

Wanneer ik een previous/next gebruik is het eenvoudiger. (maar minder gelikt)
Lightwoensdag 25 augustus 2004 @ 11:49
Dan moet het dus iets worden als
$query='SELECT * FROM database ORDER BY id ASC LIMIT '. (($pagina - 1) * $perpagina).','.$perpagina;

$perpagina is dus het aantal reacties dat op een pagina moet verschijnen. En $pagina het paginanummer van de te tonen pagina, 1 voor de eerste pagina.
Swetseneggerwoensdag 25 augustus 2004 @ 11:57
quote:
Op woensdag 25 augustus 2004 11:49 schreef Light het volgende:
Dan moet het dus iets worden als
$query='SELECT * FROM database ORDER BY id ASC LIMIT '. (($pagina - 1) * $perpagina).','.$perpagina;

$perpagina is dus het aantal reacties dat op een pagina moet verschijnen. En $pagina het paginanummer van de te tonen pagina, 1 voor de eerste pagina.
*kijkt*

Snappum ff niet.
wat is die twee 'perpagina'?

(MySQL heb ik nog wat moeite mee. Ik heb nog geen goed boek en die online manual is niet echt duidelijk)

-edit- wacht even, maar dit is toch hetzelfde als ik nu doe?
Die variable perpagina is gewoon 10.
quote:
$page_offset_desc=$top_id-(($page_number-1)*10);
Lightwoensdag 25 augustus 2004 @ 12:06
Die $perpagina is gewoon 10. Maar misschien dat je dat in de toekomst nog eens wilt aanpassen

Bij oplopende sortering krijg je dus (voor pagina 1 t/m 3)
$query='SELECT * FROM database ORDER BY id ASC LIMIT 0,10';
$query='SELECT * FROM database ORDER BY id ASC LIMIT 10,10';
$query='SELECT * FROM database ORDER BY id ASC LIMIT 20,10';
Swetseneggerwoensdag 25 augustus 2004 @ 12:27
quote:
Op woensdag 25 augustus 2004 12:06 schreef Light het volgende:
Die $perpagina is gewoon 10. Maar misschien dat je dat in de toekomst nog eens wilt aanpassen

Bij oplopende sortering krijg je dus (voor pagina 1 t/m 3)
$query='SELECT * FROM database ORDER BY id ASC LIMIT 0,10';
$query='SELECT * FROM database ORDER BY id ASC LIMIT 10,10';
$query='SELECT * FROM database ORDER BY id ASC LIMIT 20,10';
Ja ok, maar dan heb ik dus het probleem van ontbrekende ID's.
Lightwoensdag 25 augustus 2004 @ 12:35
Nee, het probleem van de ontbrekende ID's speelt alleen als je de ID-selectie dmv WHERE doet.
Swetseneggerwoensdag 25 augustus 2004 @ 12:40
quote:
Op woensdag 25 augustus 2004 12:35 schreef Light het volgende:
Nee, het probleem van de ontbrekende ID's speelt alleen als je de ID-selectie dmv WHERE doet.
Maar wat is die 20 dan?
$query='SELECT * FROM database ORDER BY id ASC LIMIT 20,10';
Dat is toch starten vanaf ID 20?

Of is dat NA 20 geparste records?
Lightwoensdag 25 augustus 2004 @ 12:47
LIMIT 20,10 (of LIMIT 10 OFFSET 20) wil zeggen:
Sla de eerste 20 resultaten over en lever de volgende 10 op.
Swetseneggerwoensdag 25 augustus 2004 @ 12:49
quote:
Op woensdag 25 augustus 2004 12:47 schreef Light het volgende:
LIMIT 20,10 (of LIMIT 10 OFFSET 20) wil zeggen:
Sla de eerste 20 resultaten over en lever de volgende 10 op.
Mijn held
Ik WIST dat er een oplossing moest zijn. Ik ga het direkt proberen (en mijn topic waarin ik om een MySQL boek verzoek in V&A ff kicken)
Swetseneggerwoensdag 25 augustus 2004 @ 13:20
Top, voor ASC werkt dit perfect. NU alleen voor DESC verzinnen. Daar moet ik beginnen vanaf het hoogste ID en dan 10. Maar als ik daar zeg:
$query='SELECT * FROM database ORDER BY id DESC LIMIT '. hoogsteID.',10';
Dan is mijn eerste pagina natuurlijk leeg.
Is er ook iets dat je de LAATSTE x resultaten oversla en tel daarvan 10 naar beneden?
Lightwoensdag 25 augustus 2004 @ 13:24
Dan kun je gewoon dezelfde query gebruiken. Met DESC ipv ASC natuurlijk. De 10 hoogste ID's krijg je dan als eerste aangeleverd, dus LIMIT 0,10 werkt dan gewoon.
Swetseneggerwoensdag 25 augustus 2004 @ 13:37
quote:
Op woensdag 25 augustus 2004 13:24 schreef Light het volgende:
Dan kun je gewoon dezelfde query gebruiken. Met DESC ipv ASC natuurlijk. De 10 hoogste ID's krijg je dan als eerste aangeleverd, dus LIMIT 0,10 werkt dan gewoon.
Dat ging niet helemaal goed, maar dat zal meer aan mijn implementatie liggen dan aan jou advies. Ik rommel nog ff verder
Swetseneggerwoensdag 25 augustus 2004 @ 13:43
Light, mag ik je kussen
Bedankt voor het inzichtelijk maken van wat SQL voor me.

Wat had ik fout gedaan aan de DESC kant. Ik wilde daar starten met het hoogste ID. Stom, dat doet DESC wel voor me.
Lightwoensdag 25 augustus 2004 @ 13:54
quote:
Op woensdag 25 augustus 2004 13:43 schreef Swetsenegger het volgende:
Light, mag ik je kussen
Ik wil wel een keer een uitzondering maken hoor.
quote:
Bedankt voor het inzichtelijk maken van wat SQL voor me.
En ik ben blij dat je wat hebt aan mijn uitleg
quote:
Wat had ik fout gedaan aan de DESC kant. Ik wilde daar starten met het hoogste ID. Stom, dat doet DESC wel voor me.
Da's wel de bedoeling van DESC ja. Trouwens, om dingen gecompliceerd te maken, ASC mag je ook weglaten. Maar dat maakt het hier zeker niet duidelijkerer.
cygnusxwoensdag 25 augustus 2004 @ 14:03
hallo
ik ben een quiz in php aan het maken, met highscore e.t.c. maar nu moet ik er voor zorgen dat hij bij een lijst van 10 vragen een random vraag kiest dus dat elke keer del ijst weer anders is en vooral dat zeg maar vraag 1. niet hetzelfde kan zijn als vraag 6...
hoe fix ik dit?
na aanleiding van aso gedrag bij normale topics post ik het maar hier
Roonaanwoensdag 25 augustus 2004 @ 14:05
quote:
Op woensdag 25 augustus 2004 14:03 schreef cygnusx het volgende:
hallo
ik ben een quiz in php aan het maken, met highscore e.t.c. maar nu moet ik er voor zorgen dat hij bij een lijst van 10 vragen een random vraag kiest dus dat elke keer del ijst weer anders is en vooral dat zeg maar vraag 1. niet hetzelfde kan zijn als vraag 6...
hoe fix ik dit?
na aanleiding van aso gedrag bij normale topics post ik het maar hier
al eens array_rand geprobeerd?

Liever aso, dan lui, inspiratieloos en lame?
spydarwoensdag 25 augustus 2004 @ 14:09
cygnusx j kan eerst een array vullen met vragen dan met http://www.php.net/manual/en/function.array-rand.php een random vraag uit de array halen, daarna kan j bijvoorbeeld de vraag uit de array halen zodat je die niet meer kiest..
Swetseneggerwoensdag 25 augustus 2004 @ 14:11
quote:
Op woensdag 25 augustus 2004 13:54 schreef Light het volgende:


Da's wel de bedoeling van DESC ja. Trouwens, om dingen gecompliceerd te maken, ASC mag je ook weglaten. Maar dat maakt het hier zeker niet duidelijkerer.
ASC is dus de default waarde?

Voor future reference is het wel makkelijk om het erbij te vermelden
Lightwoensdag 25 augustus 2004 @ 14:14
quote:
Op woensdag 25 augustus 2004 14:11 schreef Swetsenegger het volgende:

[..]

ASC is dus de default waarde?

Voor future reference is het wel makkelijk om het erbij te vermelden
Yep, ORDER BY sorteert standaard oplopend.
Swetseneggerwoensdag 25 augustus 2004 @ 14:18
quote:
Op woensdag 25 augustus 2004 14:14 schreef Light het volgende:

[..]

Yep, ORDER BY sorteert standaard oplopend.
Weer wat geleerd.

Heb je misshcien nog een tip voor een goed nederlandstalig MySQL boek?
Lightwoensdag 25 augustus 2004 @ 14:30
quote:
Op woensdag 25 augustus 2004 14:18 schreef Swetsenegger het volgende:

[..]

Weer wat geleerd.

Heb je misshcien nog een tip voor een goed nederlandstalig MySQL boek?
Daar kan ik je helaas niet mee helpen. Ik moet nog wel ergens een SQL boek hebben, maar da's algemeen en dus niet specifiek MySQL en volgens mij ook in het engels. En de documentatie op www.mysql.com is ook niet in het nederlands.
Jumpwoensdag 25 augustus 2004 @ 18:38
Vervolgje: [PHP] voor dummies - Deel 2