FOK!forum / Digital Corner / [PHP] voor dummies - Deel 3
SHERMANvrijdag 19 november 2004 @ 19:01


Vorige delen:
[PHP] voor dummies - Deel 2
[PHP] voor dummies


Zie ook:
FAQ / PHP Dataverwerking
http://www.php.net
http://www.php.net/docs.php

Verder?

[ Bericht 2% gewijzigd door SHERMAN op 19-11-2004 19:07:01 ]
DutchBloodvrijdag 19 november 2004 @ 19:17
Het volgende, ik ben bezig met de site voor een schaakclub..

Nu wil ik daar voor 1 speler de resultaten die die speler behaalt heeft tegen andere spelers laten zien.
Alleen kost me dat, zoals ik het nu uitgedacht heb, een boel mysql queries.

Namelijk:
Speler 1 | WINST | REMISE | VERLIES
Speler 14 | WINST | REMISE | VERLIES
(14 spelers in totaal bijv)

Het is de bedoeling dat de partijen in een andere tabel worden opgeslagen.
Maar per speler ben ik dus al 3 mysqlqueries kwijt(SELECT * FROM table WHERE speler=1 and winst =1, en zo ook over verlies en remise.. En dat dus 14 keer.

Dus 14 x 3 = 42 Select queries in een pagina..

Nu mijn vragen:
Is 42 queries veel/kost dat veel performance?
En is er eventueel een andere makkelijkere oplossing?

Ik ben nog niet begonnen met scripten/gegevens invoeren, dus alles is mogelijk.
Christiaanvrijdag 19 november 2004 @ 19:17
Goed topic, dit!
Pakspulvrijdag 19 november 2004 @ 19:23
quote:
Op vrijdag 19 november 2004 19:17 schreef DutchBlood het volgende:

Het volgende, ik ben bezig met de site voor een schaakclub..

Nu wil ik daar voor 1 speler de resultaten die die speler behaalt heeft tegen andere spelers laten zien.
Alleen kost me dat, zoals ik het nu uitgedacht heb, een boel mysql queries.

Namelijk:
Speler 1 | WINST | REMISE | VERLIES
Speler 14 | WINST | REMISE | VERLIES
(14 spelers in totaal bijv)

Het is de bedoeling dat de partijen in een andere tabel worden opgeslagen.
Maar per speler ben ik dus al 3 mysqlqueries kwijt(SELECT * FROM table WHERE speler=1 and winst =1, en zo ook over verlies en remise.. En dat dus 14 keer.

Dus 14 x 3 = 42 Select queries in een pagina..

Nu mijn vragen:
Is 42 queries veel/kost dat veel performance?
En is er eventueel een andere makkelijkere oplossing?

Ik ben nog niet begonnen met scripten/gegevens invoeren, dus alles is mogelijk.
correct me if i'm wrong

maar je geeft elke match een ID en dan spelerA tegen spelerB en match result (set=winst, remise, verlies)

en dan kun je gewoon alles ophalen waar de speler heeft gespeeld SELECT * FROM bla WHERE player1 = playerID OR player2 = playerID
DutchBloodvrijdag 19 november 2004 @ 19:43
quote:
Op vrijdag 19 november 2004 19:23 schreef Pakspul het volgende:

[..]

correct me if i'm wrong

maar je geeft elke match een ID en dan spelerA tegen spelerB en match result (set=winst, remise, verlies)

en dan kun je gewoon alles ophalen waar de speler heeft gespeeld SELECT * FROM bla WHERE player1 = playerID OR player2 = playerID
Dat heeft niet het gewenste effect denk ik, dan zou ik alleen de matches van de speler met PlayerID krijgen, en niet van playerID1 tegen PlayerID2.

Ik zal het schematisch weergeven:
$currentplayer = 12; // Id van de speler waar de pagina over gaat

//Alle spelers opvragen
$query = "SELECT * FROM playerstable";
$res = mysql_query(($query);
while ($data = mysql_fetch_array($res) {
//Winsten
$query = "SELECT * FROM partijen WHERE player1 = $currentplayer and player2 = $data['id'] or $player1 = $data['id'] and player2 = $currentplayer WHERE uitslag='$currentplayer'";

//Uitslag bevat id van de speler die gewonnen heeft

$res = mysql_query($query);
$gewonnen = mysql_num_rows($res);
Print "Aantal keer gewonnen van $data['playername']:" . $gewonnnen";
} //endwhile

[ Bericht 47% gewijzigd door DutchBlood op 19-11-2004 19:56:56 ]
DutchBloodvrijdag 19 november 2004 @ 19:56
-edit-
Pakspulvrijdag 19 november 2004 @ 20:31
quote:
Op vrijdag 19 november 2004 19:43 schreef DutchBlood het volgende:

[..]

Dat heeft niet het gewenste effect denk ik, dan zou ik alleen de matches van de speler met PlayerID krijgen, en niet van playerID1 tegen PlayerID2.
Hij zoekt alles waar player1 = playerID OF! player2 = playerID hij haalt dus alles op waar playerID heeft gespeeld en dan kun je via php uitzoeken of hij uit speelde (player2) of thuis (player1)

Wat jij doet vind ik persoonlijk ranzig in een loopje een query uitvoeren volgens mij moet mijn query alles perfect ophalen


dit is mijn idee voor de database
matchID (int)
player1 (smallint)
player2 (smallint)
result (set=winst,gelijk,verlies)
Chandlervrijdag 19 november 2004 @ 20:42
hoe diep wil je je mysql database hebben DutchBlood, ik weet ook wel een leuk schematje voor je.

info?
- club
- player
- matches

db club
--
id (int)
naam (string * 25)

db player
--
id (int)
club_id (int)
naam (string * 25)

db matches
--
id (int)
club_id (int)
player_id (int)
tijd (time)
result (enum 'g', 'v', 'r')

nu kan je kijken welke clubs met welke spelers tegen elkaar zijn geweest, en welke player het snelste mensen verslaat... en wie't meeste heeft gewonnen....

tis maar een klein ideetje.
DutchBloodvrijdag 19 november 2004 @ 21:09
quote:
Op vrijdag 19 november 2004 20:31 schreef Pakspul het volgende:

[..]

Hij zoekt alles waar player1 = playerID OF! player2 = playerID hij haalt dus alles op waar playerID heeft gespeeld en dan kun je via php uitzoeken of hij uit speelde (player2) of thuis (player1)

Wat jij doet vind ik persoonlijk ranzig in een loopje een query uitvoeren volgens mij moet mijn query alles perfect ophalen


dit is mijn idee voor de database
matchID (int)
player1 (smallint)
player2 (smallint)
result (set=winst,gelijk,verlies)
Maar hoe kom ik dan achter het totale aantal winsten van een speler tegen de andere?
DutchBloodvrijdag 19 november 2004 @ 21:11
quote:
Op vrijdag 19 november 2004 20:42 schreef Chandler het volgende:
hoe diep wil je je mysql database hebben DutchBlood, ik weet ook wel een leuk schematje voor je.

info?
- club
- player
- matches

db club
--
id (int)
naam (string * 25)

db player
--
id (int)
club_id (int)
naam (string * 25)

db matches
--
id (int)
club_id (int)
player_id (int)
tijd (time)
result (enum 'g', 'v', 'r')

nu kan je kijken welke clubs met welke spelers tegen elkaar zijn geweest, en welke player het snelste mensen verslaat... en wie't meeste heeft gewonnen....

tis maar een klein ideetje.
Zoiets had ik al bedacht, zonder het clubgebeuren, dat is niet nodig.

Het gaat vrijwel alleen om partijen die binnen de binnen de club gespeeld worden, dus player1 van de club tegen player2.
Pakspulvrijdag 19 november 2004 @ 21:15
quote:
Op vrijdag 19 november 2004 21:09 schreef DutchBlood het volgende:

[..]

Maar hoe kom ik dan achter het totale aantal winsten van een speler tegen de andere?
player_win++ ?
DutchBloodvrijdag 19 november 2004 @ 21:16
quote:
Op vrijdag 19 november 2004 21:15 schreef Pakspul het volgende:

[..]

player_win++ ?
Dus eerst de winsten van alle spelers in een keer ophalen, die in bijv een array proppen en dan de resultaten printen.

Das inderdaad veel beter, thnx .
DutchBloodvrijdag 19 november 2004 @ 21:39
Zoals ik het nu heb bedacht:
CREATE TABLE `sc_matches` (
`Id` int(6) unsigned NOT NULL auto_increment,
`player1` tinyint(4) default NULL,
`player2` tinyint(4) default NULL,
`tijd` tinyint(4) default NULL,
`winst` tinyint(1) default NULL,
`date` int(10) default NULL,
PRIMARY KEY (`Id`)
) TYPE=MyISAM;


CREATE TABLE `sc_spelers` (
`Id` int(6) unsigned NOT NULL auto_increment,
`naam` varchar(50) default NULL,
`email` varchar(50) default NULL,
`gebdatum` int(10) default NULL,
PRIMARY KEY (`Id`)
) TYPE=MyISAM;
mscholzaterdag 20 november 2004 @ 00:21
vraagje of ik dit zo goed heb gedaan:

linkje 1

linkie 2

waaar gaat dit over?
heel simpel ik wil weten of mij eerste o.o.p gerichte php scriptje klopt, ik heb wel eens wat gedaan met o.o.p. maar heb het nnooit 100% gesnapt volgens mij vandaar..
als jullie opmerkingen hebben hoor ik het wel

Thnx alvast..!
mscholzaterdag 20 november 2004 @ 15:50
*kick*
markvlethzaterdag 20 november 2004 @ 16:02
quote:
Op vrijdag 19 november 2004 21:16 schreef DutchBlood het volgende:
Dus eerst de winsten van alle spelers in een keer ophalen, die in bijv een array proppen en dan de resultaten printen.

Das inderdaad veel beter, thnx .
Euh nee dat is eigelijk veel slechter. Het idee van een database is dat je er uit haalt wat je nodig hebt, niet meer en niet minder. Laat dus een database zelf de juiste data selecteren. Als je database goed gemodeleerd is, kun je alles van een entiteit binnenhalen met een enkel sql statement.
markvlethzaterdag 20 november 2004 @ 16:08
quote:
Op zaterdag 20 november 2004 00:21 schreef mschol het volgende:
heel simpel ik wil weten of mij eerste o.o.p gerichte php scriptje klopt, ik heb wel eens wat gedaan met o.o.p. maar heb het nnooit 100% gesnapt volgens mij vandaar..
Ik weet niet of php ook aan data hiding doet (in dit geval het niet toegankelijk maken van de variabelen van de klasse MYSQL vanaf buiten de klasse) want dat is wel een aanrader. Ik zou dan vervolgens een contructor schrijven met de vier argumenten voor een directe initialisatie. Vervolgens "get" en "set" functies voor de attributen(name, host, etc) van deze klasse. Dan begint het een beetje op OO te lijken.
devzerozaterdag 20 november 2004 @ 16:24
quote:
Op zaterdag 20 november 2004 16:08 schreef markvleth het volgende:
Vervolgens "get" en "set" functies voor de attributen(name, host, etc) van deze klasse.
Misschien is de = operator al overloaded

edit: ik zie net dat je in php __set en __get functies hebt om te overloaden Overloading

[ Bericht 26% gewijzigd door devzero op 20-11-2004 16:27:23 (link) ]
markvlethzaterdag 20 november 2004 @ 16:41
Ja en voor de rest heeft overloading hier helemaal niets mee te maken. en maakt het geheel alleen maar verwarrend. Overigens heeft dit niks te maken met overloading in OO termen.

[ Bericht 22% gewijzigd door markvleth op 20-11-2004 16:46:19 ]
mscholzaterdag 20 november 2004 @ 17:23
quote:
Op zaterdag 20 november 2004 16:08 schreef markvleth het volgende:

[..]

Ik zou dan vervolgens een contructor schrijven met de vier argumenten voor een directe initialisatie. Vervolgens "get" en "set" functies voor de attributen(name, host, etc) van deze klasse. Dan begint het een beetje op OO te lijken.
zou je dat een beetje kunnen uitleggen?? (tis immer voor dummies deze hoek )

enne overloading
devzerozaterdag 20 november 2004 @ 17:52
quote:
Op zaterdag 20 november 2004 16:41 schreef markvleth het volgende:
Ja en voor de rest heeft overloading hier helemaal niets mee te maken
Ik dacht dat je de = operator kon overloaden in php, gelijk aan C++. Maar je roept slecht 1 polymorphe functie aan. Voortaan beter lezen.
Swetseneggerzaterdag 20 november 2004 @ 23:33
OOP in een dummy topic

Nu weer een echte dummy vraag

Hoe maak ik een variabele met de dag/datum/jaar van over 3 maanden.
Ok, ik strftime om de dag van vandaag uit te lezen, en vervolgens moet ik wat met mktime gaan doen, maar dat lees ik over unix timestamps en 1970 en word ik nerveus

Iemand een tip.
ensifexzaterdag 20 november 2004 @ 23:57
[php]
<?php
$year = date("Y");
$month = date("n");
$day = date("j");
$date = date("M-d-Y", mktime(0, 0, 0, ($month+3), $day, $year));
?>
[/php]
mscholzaterdag 20 november 2004 @ 23:59
quote:
Op zaterdag 20 november 2004 23:33 schreef Swetsenegger het volgende:
OOP in een dummy topic
yup

dat is o.a. opweg helpen (ik ben zoals ik al zei niet super in o.o.p., vind het te omslachtig maar als je het goed doet (commetaar.......) dan is het ovrzichtelijk en kan je makkelijk allerlei dingen doen...
Swetseneggerzondag 21 november 2004 @ 00:01
quote:
Op zaterdag 20 november 2004 23:57 schreef ensifex het volgende:
[php]
<?php
$year = date("Y");
$month = date("n");
$day = date("j");
$date = date("M-d-Y", mktime(0, 0, 0, ($month+3), $day, $year));
?>
[/php]
Toch zo simpel
Het is nu maand 11, +3 telt hij het jaar gewoon mee?
En kan je dit ook localiseren want wij zeggen niet 12-21-2004
$date = date("d-M-Y", mktime(0, 0, 0, ($month+3), $day, $year));
kan ook?

-edit- Ja dus
ensifexzondag 21 november 2004 @ 00:03
Ja jaar telt gewoon mee en localiseren kan ook!
Swetseneggerzondag 21 november 2004 @ 00:08
quote:
Op zaterdag 20 november 2004 23:59 schreef mschol het volgende:

[..]

yup

dat is o.a. opweg helpen (ik ben zoals ik al zei niet super in o.o.p., vind het te omslachtig maar als je het goed doet (commetaar.......) dan is het ovrzichtelijk en kan je makkelijk allerlei dingen doen...
Graag in dit topic hoor
Ik snap ook nog geen ruk van OOP dus alle info is meegenomen.
Lightzondag 21 november 2004 @ 09:56
quote:
Op zaterdag 20 november 2004 23:57 schreef ensifex het volgende:
[php]
<?php
$year = date("Y");
$month = date("n");
$day = date("j");
$date = date("M-d-Y", mktime(0, 0, 0, ($month+3), $day, $year));
?>
[/php]
$date = date("M-d-Y", strtotime("+3 months"));
Swetseneggerzondag 21 november 2004 @ 12:58
quote:
Op zondag 21 november 2004 09:56 schreef Light het volgende:

[..]

$date = date("M-d-Y", strtotime("+3 months"));
Die is een stuk korter, maar ik las wel het volgende op php.net:
quote:
Here's a big "gotcha" that bit me today, in migrating to PHP5. There's a major change (bug?) in PHP 5.0.0 - 5.0.2 with strtotime().

In php 4.x:

date("Y-m-d H:i:s", strtotime("+1 hour"));

returns something like:

2004-11-04 13:33:23

In php 5.0.x:

date("Y-m-d H:i:s", strtotime("+1 hour"));

returns:

2004-11-04 01:00:00

This is because strtotime("now") is now '2004-11-04 00:00:00' instead of the current datetime.
ikke_ookdinsdag 23 november 2004 @ 12:15
Ik heb een probleempje wat volgens mij makkelijk is op te lossen alleen weet ik niet hoe ik het in 1 of 2 woorden kan omschrijven dus ik kan de oplossing niet opzoeken in boek of op internet.

Ik heb meerdere html formpjes op 1 pagina, en nu is het de bedoeling dat onder ieder formpje een submit knop zit, en onder elke submit knop zit een andere functie. Dus als ik op de bovenste submit knop klik dan moet hij de functie "add" uitvoeren, en op de 2e submit knop moet hij de functie "remove" uitvoeren. Beide functies staan op dezelfde pagina, dus in dezelfde source file. Wat moet ik nu bij "action=" zetten in het formpje?

bedankt voor de (hopelijk) snelle hulp
Wolfwooddinsdag 23 november 2004 @ 12:28
nix
(of gewoon de naam van het phpscript waar het heen moet)

je button gewoon andere naam geven
<input name="opslaan" type="submit" value="Opslaan" >
<input name="delete" type="submit" value="Verwijderen" >

en dan in php
if($opslaan){
opslaan
} elseif($delete){
verwijderen
}


of je button gewoon andere waarde geven
<input name="Submit" type="submit" value="Opslaan" >
<input name="Submit" type="submit" value="Verwijderen" >

en dan in php
if($Submit == "Opslaan"){
opslaan
} elseif($Submit == "Verwijderen"){
verwijderen
}
ikke_ookdinsdag 23 november 2004 @ 12:37
Zoiets had ik zelf ook wel in gedachten maar het leek me mooier om t via die action te laten doen, maar als jij t zegt doe ik t wel zo
Bedankt!
Swetseneggerdinsdag 23 november 2004 @ 12:46
Waarom doet mijn eerste cookie niets
quote:
if(isset($_POST['dossier_search'])){

$search_key="{$_POST['searchkey']}";
$search_query=" WHERE dossiernummer LIKE'%{$_POST['searchkey']}%' OR shipmentdatum LIKE'%{$_POST['searchkey']}%' OR klant LIKE'%{$_POST['searchkey']}%' OR produktcode LIKE'%{$_POST['searchkey']}%' OR actie LIKE'%{$_POST['searchkey']}%'";
setcookie("key",$search_key);
setcookie("search",$search_query);
header("location: verschil.php");
Cookie key is nu leeg. Draai ik search en key om, is search leeg
DutchBlooddinsdag 23 november 2004 @ 12:51
quote:
Op dinsdag 23 november 2004 12:46 schreef Swetsenegger het volgende:
Waarom doet mijn eerste cookie niets
[..]

Cookie key is nu leeg. Draai ik search en key om, is search leeg
Je gebruikt setcookie() verkeerd.

Je hoeft maar een keer setcookie te gebruiken. En daarna kun je gewoon $_COOKIE['var'] = $blaat;

doen.

Als ik het goed begrijp dus.


http://nl2.php.net/manual/nl/function.setcookie.php

Eventueel zou je dus ook
setcookie("Naam");
$_COOKIE['key'] = $searchkey;
$_COOKIE['var2'] = $var2;
kunnen doen.

Als ik het goed begrijp dus.

Of probeer je 2 cookies te versturen?

[ Bericht 7% gewijzigd door DutchBlood op 23-11-2004 12:57:41 ]
Swetseneggerdinsdag 23 november 2004 @ 13:17
quote:
Op dinsdag 23 november 2004 12:51 schreef DutchBlood het volgende:

[..]

Je gebruikt setcookie() verkeerd.

Je hoeft maar een keer setcookie te gebruiken. En daarna kun je gewoon $_COOKIE['var'] = $blaat;

doen.

Als ik het goed begrijp dus.


http://nl2.php.net/manual/nl/function.setcookie.php

Eventueel zou je dus ook
setcookie("Naam");
$_COOKIE['key'] = $searchkey;
$_COOKIE['var2'] = $var2;
kunnen doen.

Als ik het goed begrijp dus.

Of probeer je 2 cookies te versturen?
Ik wil in ieder geval twee waardes meegeven, maar ik heb deze constructie al vaker gebruikt zonder problemen. Ik begrijp ook het probleem niet, ik maak gewoon twee aparte cookies toch?
Roonaandinsdag 23 november 2004 @ 13:38
Swets, just one thing.

$search_key="{$_POST['searchkey']}"; is lelijk

$search_key = htmlspecialchars($_POST['searchkey']);

en ook je query kan je beter schrijven.

Daarnaast is het niet verstandig om ongecodeerd stukken query in cookies op te slaan aangezien het vrij eenvoudig is tegenwoordig om zelf je cookies te editen mocht je dat willen. Hiermee de mogelijkheid hebbende om via dit cookie jouw tables te droppen. (tenzij je je mysql user accounts goed hebt ingesteld natuurlijk).
Swetseneggerdinsdag 23 november 2004 @ 13:50
quote:
Op dinsdag 23 november 2004 13:38 schreef Roönaän het volgende:
Swets, just one thing.

$search_key="{$_POST['searchkey']}"; is lelijk

$search_key = htmlspecialchars($_POST['searchkey']);

en ook je query kan je beter schrijven.

Daarnaast is het niet verstandig om ongecodeerd stukken query in cookies op te slaan aangezien het vrij eenvoudig is tegenwoordig om zelf je cookies te editen mocht je dat willen. Hiermee de mogelijkheid hebbende om via dit cookie jouw tables te droppen. (tenzij je je mysql user accounts goed hebt ingesteld natuurlijk).
Het draait op een intranet in dit geval, dus cookies hacken is niet van belang in dit geval.
sql queries zijn niet m'n sterkste kant, wat kan ik verbeteren?
Heb je ook een idee over m'n cookie probleem?

Roonaandinsdag 23 november 2004 @ 14:01
kzou sessions gebruik ipv cookies, dan is de kans op probs ook iets kleiner denk ik.

en je query is het beste

$search_fields = array('dossiernummer','shipmentdatum','klant'','productcode','actie');

$save_key = addSlashes($_POST['searchkey']);

$search_query='WHERE `'.implode('` LIKE'% "'.$save_key].'%" OR `', $search_fields).'`LIKE'% "'.$save_key.'%"';
Swetseneggerdinsdag 23 november 2004 @ 15:06
Ik heb nu sessies gebruikt, maar ik heb 1 probleem.
Omdat ik de zoekresultaten over meerdere pagina's gebruik, moet ik de sessie handmatig resetten (show all results). Maar dan unset ik m'n sessie en ben ik ook gelijk uitgelogged.... Zelfs als ik session_name gebruik wordt niet alleen de 'search' sessie unset, maar ook de login sessie

How hard can it be om twee simpele variabelen crosspage mee te nemen?
Roonaandinsdag 23 november 2004 @ 15:08
je kan toch gewoon unset($_SESSION['search_key']) gebruiken?
Swetseneggerdinsdag 23 november 2004 @ 15:12
quote:
Op dinsdag 23 november 2004 15:08 schreef Roönaän het volgende:
je kan toch gewoon unset($_SESSION['search_key']) gebruiken?
Dat werkt niet... misschien omdat ik er nog een session destory achteraan gooi....


Opgelost dus.
mscholdinsdag 23 november 2004 @ 15:22
als action:
bla.php?action=add of
bla.php?action=remove ????
ikke_ookdinsdag 23 november 2004 @ 15:30
$query = "SELECT username FROM tabel1" ;
$result = mysql_query($query);
while ($row = mysql_fetch_object($result)) {
echo "$row->username<br>\n";
}
T resultaat moet zijn dat ik alle usernames uit de tabel krijg.
Ik heb t vermoeden dat dit misschien op een betere manier kan maar dat hoor ik dan wel
Swetseneggerdinsdag 23 november 2004 @ 15:32
quote:
Op dinsdag 23 november 2004 15:22 schreef mschol het volgende:
als action:
bla.php?action=add of
bla.php?action=remove ????
Wat is daarmee?
Swetseneggerdinsdag 23 november 2004 @ 15:33
quote:
Op dinsdag 23 november 2004 15:30 schreef ikke_ook het volgende:
$query = "SELECT username FROM tabel1" ;
$result = mysql_query($query);
while ($row = mysql_fetch_object($result)) {
echo "$row->username<br>\n";
}
T resultaat moet zijn dat ik alle usernames uit de tabel krijg.
Ik heb t vermoeden dat dit misschien op een betere manier kan maar dat hoor ik dan wel
Wanneer je inderdaad alle users op beeld wil tonen is dit de juiste manier
ikke_ookdinsdag 23 november 2004 @ 15:35
Mooi en dat wat mschol zei was nog een reactie op mij daarboven denk ik.

en werkt dit?

echo "<option value=/"$row->username/">$row->username</option>\n";

of hoe moet ik die quotes printen?
Roonaandinsdag 23 november 2004 @ 15:41
Ik zou alleen geen fetch_object gebruiken maar fetch_array, maar dat is een smaakkwestie
Swetseneggerdinsdag 23 november 2004 @ 16:15
quote:
Op dinsdag 23 november 2004 15:35 schreef ikke_ook het volgende:
Mooi en dat wat mschol zei was nog een reactie op mij daarboven denk ik.

en werkt dit?

echo "<option value=/"$row->username/">$row->username</option>\n";

of hoe moet ik die quotes printen?
quotes die je wilt printen backslashen:
quote:
print"<td style=\"$var\"></td>";
Roonaandinsdag 23 november 2004 @ 16:25
en nog een stapje beter:

echo '<td style="'.htmlspecialchars($var).'"></td>';
mscholdinsdag 23 november 2004 @ 17:57
quote:
Op dinsdag 23 november 2004 15:35 schreef ikke_ook het volgende:
Mooi en dat wat mschol zei was nog een reactie op mij daarboven denk ik.

en werkt dit?

echo "<option value=/"$row->username/">$row->username</option>\n";

of hoe moet ik die quotes printen?
yup dat was het idd
volgende keer eff quoten
DutchBlooddinsdag 23 november 2004 @ 18:10
Om in deze sfeer even door te gaan, wat is er beter?

1:
<?php
$var = htmlspecialchars($var); etc etc, php code dus.
Print "<br />"; //Je wilt html code naar de browser sturen
$var2 = round($var5322);
?>


2:
<?php
$var = htmlspecialchars($var); etc etc, php code dus.
?>
<br />
<?php
$var2 = round($var5322);
?>

En nog een vraagje:
Waarom moet je als je bijv $eenarray['variabele'] gebruikt in bijv. een mysql query {} gebruiken?

Of dus $query = "SELECT * FROM " . $data['variabele'] . "WHERE id=1"; Dat kan ook, dat weet ik.

Wat is zo ie zo het verschil tussen de .-en metoden en de {}-methode? Ook qua performance dus.
Chandlerdinsdag 23 november 2004 @ 18:26
ik ga voor statement 1, niet om preformance maar gewoon om dat ik HTML of in grote hoeveelheid buiten de <? ?> zet en klein gewoon lekker echoot...
Roonaandinsdag 23 november 2004 @ 18:29
De puntenmethode is sneller als je ook single quotes gebruikt in plaats van dubbele quotes.
Roonaandinsdag 23 november 2004 @ 18:30
Afhankelijk van wat je maakt is vaak onderstaande ook een optie:

<?php
$var1 = 'dit';
$var2 = 'dat';
?>
<p>bla bla bla <?php echo $var1;?> bla bla bla bla bla <?php echo $var2; ?> bla bla bla </p>
DutchBlooddinsdag 23 november 2004 @ 18:34
quote:
Op dinsdag 23 november 2004 18:29 schreef Roönaän het volgende:
De puntenmethode is sneller als je ook single quotes gebruikt in plaats van dubbele quotes.
En wat is daar het verschil tussen? Single en dubbele qoutes dus?

Maar samenvattend is het dus beter om zoveel mogelijk niet te laten parsen.
Roonaandinsdag 23 november 2004 @ 20:46
quote:
Op dinsdag 23 november 2004 18:34 schreef DutchBlood het volgende:

[..]

En wat is daar het verschil tussen? Single en dubbele qoutes dus?

Maar samenvattend is het dus beter om zoveel mogelijk niet te laten parsen.
Probeer maar:

$var = 1;
echo '<li>De waarde van $var is '.$var.'.</li>';
echo "<li>De waarde van $var is ".$var.".</li>";
DutchBlooddinsdag 23 november 2004 @ 21:00
quote:
Op dinsdag 23 november 2004 20:46 schreef Roönaän het volgende:

[..]

Probeer maar:

$var = 1;
echo '<li>De waarde van $var is '.$var.'.</li>';
echo "<li>De waarde van $var is ".$var.".</li>";
Ok, .
Roonaandinsdag 23 november 2004 @ 21:05
En omdat php met singlequotes dus niet de string gaat parsen maar gewoon de volgende (niet escapede) singlequote zoekt, is dat sneller als je tochal de puntmethode hanteerd om je variabelen "buiten haakjes" te halen.
Chandlerdinsdag 23 november 2004 @ 21:06
quote:
Op dinsdag 23 november 2004 18:30 schreef Roönaän het volgende:
<p>bla bla bla <?=$var1;?> bla bla bla bla bla <?=$var2;?> bla bla bla </p>
dit werkt toch ook? nog sneller
Roonaandinsdag 23 november 2004 @ 21:15
Wat doet dat "=" ding daar?

Besides. shorttags moet je niet gebruiken.
mscholdinsdag 23 november 2004 @ 22:13
quote:
Op dinsdag 23 november 2004 21:15 schreef Roönaän het volgende:
Wat doet dat "=" ding daar?

Besides. shorttags moet je niet gebruiken.
want??

(niet dat ik het gebruik maar wil eff een onderbouwing hebben.)
Roonaandinsdag 23 november 2004 @ 22:17
Omdat:
- servers dit niet per definitie ondersteunen
- servers geen onderscheid kan maken tussen serverside languages als je er meerdere hebt.
- je met shorttags aan geen xml <? makkelijk kan gebruiken.
Pakspulwoensdag 24 november 2004 @ 10:16
Zou iemand deze string even voor mij willen uitvoeren ik heb even geen php server tot me beschikking maar moet de output even weten, ik dank U!


Deze code knipbaar maken? Klik hier
Roonaanwoensdag 24 november 2004 @ 10:24
DutchBloodwoensdag 24 november 2004 @ 13:53
quote:
Op woensdag 24 november 2004 10:16 schreef Pakspul het volgende:
Zou iemand deze string even voor mij willen uitvoeren ik heb even geen php server tot me beschikking maar moet de output even weten, ik dank U!

[afbeelding]
Deze code knipbaar maken? Klik hier
Parse error: parse error, unexpected T_STRING in /home/matthijs/public_html/test.php on line 12


En als je dan de eerst ' vervangt door een " wordt het dit.
SELECT catID, catName, leftID, rightID FROM eco_categories WHERE parentID = AND left_id > ORDER BY left_id ASC
ikke_ookwoensdag 24 november 2004 @ 16:28
Ik kom er even niet meer uit, ik heb mysql draaien, een database gemaakt, en een tabel gemaakt. en nu doe ik dit:
quote:
$link = mysql_connect('localhost');
if($link){
echo "succesvol verbonden met mysql<br>";
}
$dblink = mysql_select_db('logindb');
if($dblink){
echo "\nsuccesvol verbonden met database";
}
En dan geeft hij aan dat hij zowel met mysql als met de database verbonden is.

Dan doe ik dit:
quote:
$query = "INSERT INTO logins (username, password, email) VALUES($user, $pw, $email)";
$result = mysql_query($query);
De variabelen bevatten strings dus dat is goed.

En dan doe ik dit:
quote:
$query = "SELECT * FROM logins";
$result = mysql_query($query);
print "<TABLE>\n";
while ($row = mysql_fetch_array($result)) {
print "$row[1] $row[2] $row[3]\n";
}
En dan doet hij niks
Ik krijg geen warnings of niks, hij print gewoon niks.....ziet iemand wat ik fout doe?
En hoe kan ik zelf kijken of de tabel goed is aangemaakt?
DutchBloodwoensdag 24 november 2004 @ 16:41
quote:
Op woensdag 24 november 2004 16:28 schreef ikke_ook het volgende:
Ik kom er even niet meer uit, ik heb mysql draaien, een database gemaakt, en een tabel gemaakt. en nu doe ik dit:
[..]

En dan geeft hij aan dat hij zowel met mysql als met de database verbonden is.

Dan doe ik dit:
[..]

De variabelen bevatten strings dus dat is goed.

En dan doe ik dit:
[..]

En dan doet hij niks
Ik krijg geen warnings of niks, hij print gewoon niks.....ziet iemand wat ik fout doe?
En hoe kan ik zelf kijken of de tabel goed is aangemaakt?
Probeer op het laatst dit eens:

$query = "SELECT * FROM logins";
$result = mysql_query($query);
print "<TABLE>\n";
while ($row = mysql_fetch_array($result)) {
print $row[1] . $row[2] . $row[3] . "\n";
}

En moet je geen rijen en cellen in je tabel creeren?
ikke_ookwoensdag 24 november 2004 @ 16:58
Tis gefixt, er zat ook nog een id kolom in de tabel, en ik dacht dat die automatisch op werd gehoogd en dat ik die niet hoefde mee te geven maar dat moest dus wel.....
DutchBloodwoensdag 24 november 2004 @ 18:29
quote:
Op woensdag 24 november 2004 16:58 schreef ikke_ook het volgende:
Tis gefixt, er zat ook nog een id kolom in de tabel, en ik dacht dat die automatisch op werd gehoogd en dat ik die niet hoefde mee te geven maar dat moest dus wel.....
Auto increment aanzetten.
Ali Salamidonderdag 25 november 2004 @ 02:08
Voordat ik eventueel op GOT de vraga ga stellen eerst maar eens kijken of ik er hier uitkom


Deze code knipbaar maken? Klik hier

Die array wil ik gaan sorteren op één van de verschillende keys (van de geneste array). In dit geval dus name, totaal, eigen of andere. Nu heb ik middels de volgende unctie en aanroep dat volgens de manual wel voor elkaar gekregen:


Deze code knipbaar maken? Klik hier

Wat ik nu echter wil is het variabel maken van $a["eigen"] en $b["eigen"], zodat ik ipv 'eigen' ook 'totaal' etc kan gebruiken en geen 4 van die functies hoef te maken. Ik krijg alleen met geen mogelijkheid een variabele in die functie compare. In de aanroep er een functie van maken "compare()" kan niet, en variabelen van buiten ($this>subject bijvoorbeeld) pakt ie ook niet.

Rara hoe kan dat?
SuperRembodonderdag 25 november 2004 @ 07:38
De simplste, maar niet zo mooie oplossing is om een globale variabele te gebruiken.

Met behulp van create_function() kan je een call-back functie maken die sorteert op de gewenste key.
Roonaandonderdag 25 november 2004 @ 10:16
Wat je kan doen is een object maken en daarop een sort doen?

class mysort
{
var sort_field = '';
function sort(&$array, $field)
{
$this->sort_field = $field;
usort($array, array($this, 'compare'));
}
function compare($a, $b)
{
return strnatcasecmp($a[$this->sort_field], $b[$this->sort_field]);
}
}
SuperRembodonderdag 25 november 2004 @ 11:23

Deze code knipbaar maken? Klik hier
Ali Salamivrijdag 26 november 2004 @ 11:23
Roonaan: die heb ik, maar die lijkt in de functie niets uit te halen.
Rembo: ik ga even kijken, dank
Roonaanvrijdag 26 november 2004 @ 11:35
Er zet een typo in die class om en nabij var sortfield -> var $sortfield

Maar zie ook: http://roonaan.nl/tools/class.sort.php
Heliospanvrijdag 26 november 2004 @ 16:00
Ik ben bezig met een mailclient te schrijven. Ik ben op het punt waarop ik tevreden ben hoe het werkt en wil nu met de functionaliteit verder gaan. Mijn doel was een uitgebreide spamfilter te schrijven, waar ik nu mee bezig ben. Ik heb hier een voorbeeldmailtje waarmee ik mijn vraag zal uitleggen:
quote:
X-Gmail-Received: 5f772e8643d73f157a0ee5e2c9e38c38ef0d8f86
Delivered-To: *****@gmail.com
Received: by 10.38.88.44 with SMTP id l44cs3332rnb;
Fri, 26 Nov 2004 03:50:40 -0800 (PST)
Received: by 10.54.10.60 with SMTP id 60mr817824wrj;
Fri, 26 Nov 2004 03:50:40 -0800 (PST)
Return-Path: <asenke@aahlife.com>
Received: from virtual.endoria.net (falcon.endoria.net [217.115.204.252])
by mx.gmail.com with ESMTP id d7si742803wra;
Fri, 26 Nov 2004 03:50:40 -0800 (PST)
Received-SPF: neutral (gmail.com: 217.115.204.252 is neither permitted nor denied by domain of asenke@aahlife.com)
Received: from [218.83.117.109] (helo=aahlife.com)
by virtual.endoria.net with smtp (Exim 4.43)
id 1CXecT-00039x-D0; Fri, 26 Nov 2004 12:50:38 +0100
Message-ID: <9A42DD7B.7AC5E3F@aahlife.com>
Date: Fri, 26 Nov 2004 10:58:19 +0200
From: "chanel fernandez" <asenke@aahlife.com>
User-Agent: IncrediMail 2001 (1800838)
0X-Accept-Language: en-us
MIME-Version: 1.0
To: "Jenifer Bryant" <*****@ixney.net>
Subject: Experience More Powerful Erections
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.1 (/)
X-Spam-Report: Spam detection software, running on the system "falcon", has
identified this incoming email as possible spam. The original message
has been attached to this so you can view it (if it isn't spam) or block
similar future email. If you have any questions, see
noc@endoria.net for details.
Content preview: male enhancement and performance system Forget about
your partner faking her orgasm or not being able to please her. You
will be able to penetrate deeper so your partner will experience more
pleasure as well as multiple orgasms during sexual intercourse. 86% of
women surveyed said that they would like their partner to be more
'full' sexually. [...]
Content analysis details: (0.1 points, 5.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
0.1 MIME_HTML_ONLY BODY: Message only has text/html MIME parts
0.0 HTML_MESSAGE BODY: HTML included in message
X-Scan-Signature: b3d66e4f7ec97340352e1c8ba0b9bb51
X-Powered-By: Endoria.net Mail
X-Report-Abuse-To: abuse@endoria.net

<HTML>
male enhancement and performance system<br>
<br>
Forget about your partner faking her orgasm or not being able to please
her. You will be able to penetrate deeper so your partner will experience
more pleasure as well as multiple orgasms during sexual intercourse.
86% of women surveyed said that they would like their partner to be more
'full' sexually.--knip--
</FONT></HTML>
Ten eerste wil ik alles waar een dubbelepunt achter staat in een array hebben.
Dingen als Return-Path: <bladie@blaat.com> naar $msg[$x]['Return-path'] = '<bladie@blaat.com>';
Wat is de makkelijkste manier om dat te doen? Met een preg_match? Wat alle 'keys' gemeen hebben is dat ze op een newline beginnen met een hoofdletter, waarna enkele tekens komen en een dubbele punt. Wat voor pattern maak ik daarvan?

En ten tweede wil ik punten geven aan bepaalde woorden die in de body staan. Maar, bijvoorbeeld woorden als viagra, medicinal e.d. (ik heb al een lijst aangelegd) moeten zwaarder wegen dan woorden als credit. Ik kan de woorden wel in een array zetten met de punten erbij, bijvoorbeeld:
$rule['0.5'] = array('viagra', 'medicinal', 'sex', 'xxx');
$rule['0,2'] = array('credit', 'free');
Ik wil elke keer dat deze woorden voorkomen het betreffende aantal strafpunten aan het totaal strafpunten toevoegen. Hoe kan ik dit het makkelijkst doen? Ik hoef geen kant en klaar script, maar een schopje in de goede richting zou mooi zijn
VeerMansvrijdag 26 november 2004 @ 16:20
Voor die dingen met die dubele punt kan je ook een ereg gebruiken als je t makkelijk wil houden. ereg kijkt maar op 1 regel en aangezien je zegt dat ze allemaal op een nieuwe regel beginnen heb je alvast 1 punt binnen. Als je dan gewoon alles voor de : eruit haalt ben je er. De expressies van ereg wijken iets af van perl reguliere expressies. Volgens mij kan het met ereg("(.*):",$regeldiejebekijkt, $arraywaarieinmoet) moet je ff wat mee testen denk ik
Heliospanvrijdag 26 november 2004 @ 16:23
Klinkt goed, maar volgens mij moet het ook met één regexp kunnen doen, dat zou nog een mooiere oplossing zijn . Mocht ik de oplossing niet vinden is dit een goed alternatief, bedankt!
Roonaanvrijdag 26 november 2004 @ 16:24
http://nl.php.net/manual/en/ref.mailparse.php?
VeerMansvrijdag 26 november 2004 @ 16:26
quote:
Op vrijdag 26 november 2004 16:23 schreef Heliospan het volgende:
Klinkt goed, maar volgens mij moet het ook met één regexp kunnen doen, dat zou nog een mooiere oplossing zijn . Mocht ik de oplossing niet vinden is dit een goed alternatief, bedankt!
Is inderdaad een stuk mooier, maar dan zit je een paar uur te zoeken naar een regexp en we zijn toch voor t gemak geboren?
Het enigste voordeel van een regexp is dat het sneller is, maar volgens mij is dat in jou geval niet heel erg relevant
Heliospanvrijdag 26 november 2004 @ 16:26
@Roönaän: Mijn host heeft helaas geen PECL extensie voor PHP, laat staan IMAP
Ik heb het tot nu toe allemaal met omwegen moeten oplossen.
Roonaanvrijdag 26 november 2004 @ 18:05
Hmm. dan zou ik gewoon exploden op \n en vervolgens exploden op dubbele punt.
ikke_ookvrijdag 26 november 2004 @ 22:08
Ik heb weer een probleempje..
Ik heb 2 formpjes die (volgens mij) precies hetzelfde zijn. het ene formpje is er een met 1 veld en een submit knop. de ander is er een met 3 velden met een submit knop. Bij de 2e "submit" hij wel als ik op enter druk, maar de 1e "submit" niet als ik op enter druk en ik alle velden heb ingevuld.....
Weet iemand hoe ik hier wat aan kan doen?
Swetseneggervrijdag 26 november 2004 @ 22:29
quote:
Op vrijdag 26 november 2004 22:08 schreef ikke_ook het volgende:
Ik heb weer een probleempje..
Ik heb 2 formpjes die (volgens mij) precies hetzelfde zijn. het ene formpje is er een met 1 veld en een submit knop. de ander is er een met 3 velden met een submit knop. Bij de 2e "submit" hij wel als ik op enter druk, maar de 1e "submit" niet als ik op enter druk en ik alle velden heb ingevuld.....
Weet iemand hoe ik hier wat aan kan doen?
focus? Twee forms op 1 pagina?
ikke_ookvrijdag 26 november 2004 @ 22:54
quote:
Op vrijdag 26 november 2004 22:29 schreef Swetsenegger het volgende:

[..]

focus? Twee forms op 1 pagina?
Nee het zijn 2 geheel onafhankelijke forms, 2 pagina's, maar t vage is dus dat hij het de ene keer wel goed doet, en bij de ander niet....
huizzondag 28 november 2004 @ 11:38
Momenteel ben ik bezig met een nieuwe website en daar heb ik 2 vraagjes over. Ik ben nog maar een jaar bezig met PHP dus af en toe kom je ondoorgrondelijke problemen tegen

Hier http://pics.huiz.net/index.php kun je zien hoe het eruit komt te zien. Het is nog niet helemaal af dus er kunnen dingetjes zijn die niet helemaal werken.

De vragen:
1. Ik hoor vaak dat je mappen niet open mag zetten (chmod 777) omdat die wereldwijd te beschrijven zijn. Maar het hoe en precies waarom weet ik niet, niemand die de moeite neemt om dat uit te leggen. Ik had eerder Coppermine draaien en die heeft ook gewoon mappen op 777 staan. Wat is het veiligheidsbeleid hierover? Kan iemand bijvoorbeeld een php-file (met bv browse script) daarin zetten en dan daarmee door je bestanden bladeren? Of kan die alleen maar de map leeggooien?
Ik moet natuurlijk ook foto's kunnen uploaden, kan ik dan beter de map opengooien voor het uploaden en afsluiten na het uploaden? Of kan ik die map gewoon op 777 laten staan?

2. Bij het tonen van een foto moet een teller aangepast worden in de database. Hiervoor heb ik een functie geschreven die aangeroepen wordt. Maar die doet het niet

countPicHit($picnummer);

zo roep ik de functie aan, $picnummer is het database id nummer van de foto dat op dat moment bekeken wordt. Die variabele klopt want in de rest van de pagina wordt ie ook gebruikt.


function countPicHit($picturenumber){
$query1 = $pic_all[$picturenumber]['hits'];
$query1++;
$query2 = "hits=".$query1;
mysql_query("UPDATE $tabelpicture SET $query2 WHERE id=$picturenumber");
return TRUE;
}

Dit is de functie zelf. $pic_all is een array.
$pic_all[1]['hits'] is het veld hits van id 1. Dat werkt ook allemaal. Maar als ik $query2 echo dan zie ik alleen: hits=

Waarom werkt dit niet
mscholzondag 28 november 2004 @ 12:24
quote:
Op zondag 28 november 2004 11:38 schreef huiz het volgende:
function countPicHit($picturenumber){
$query1 = $pic_all[$picturenumber]['hits'];
$query1++;
$query2 = "hits=".$query1;
mysql_query("UPDATE $tabelpicture SET $query2 WHERE id=$picturenumber");
return TRUE;
}

Dit is de functie zelf. $pic_all is een array.
$pic_all[1]['hits'] is het veld hits van id 1. Dat werkt ook allemaal. Maar als ik $query2 echo dan zie ik alleen: hits=

Waarom werkt dit niet
$query 1 heb je ook een array vangemaakt en dus moet je het aanroepen met $query1[1] (volgens mij dan)

en waarom maak je van Query1 een array??
blijft deze de hele tijd in gebruik ofzo???
huizzondag 28 november 2004 @ 12:34
quote:
Op zondag 28 november 2004 12:24 schreef mschol het volgende:

[..]

$query 1 heb je ook een array vangemaakt en dus moet je het aanroepen met $query1[1] (volgens mij dan)

en waarom maak je van Query1 een array??
blijft deze de hele tijd in gebruik ofzo???
Nee, $pic_all[1]['hits'] geeft bijvoorbeeld 24 (24x bekeken), dus $query1 bevat het getal 24.

Maar onder het smeren van een broodje zat ik te bedenken, variabelen binnen een functie zijn niet benaderbaar buiten de functie, dus wsch zal een variabele zoals $pic_all ook niet te benaderen zijn binnen een functie. Maar dan moet ik dus het fotonummer, de hits, de tabelnaam en de databasenaam meegeven aan de functie
Ik probeer wel even wat
huizzondag 28 november 2004 @ 12:39
Ja
Als ik die update gewoon in de code zet en niet als functie aanroep, dan doet ie het

Maar nu de vraag over die chmod 777, weet iemand wat daarvan het probleem is?
DutchBloodzondag 28 november 2004 @ 12:57
quote:
Op zondag 28 november 2004 12:34 schreef huiz het volgende:

[..]

Nee, $pic_all[1]['hits'] geeft bijvoorbeeld 24 (24x bekeken), dus $query1 bevat het getal 24.

Maar onder het smeren van een broodje zat ik te bedenken, variabelen binnen een functie zijn niet benaderbaar buiten de functie, dus wsch zal een variabele zoals $pic_all ook niet te benaderen zijn binnen een functie. Maar dan moet ik dus het fotonummer, de hits, de tabelnaam en de databasenaam meegeven aan de functie
Ik probeer wel even wat
Zet binnen de functie;
global $fotonummer;
global $hits;

Let wel op dat als je $hits veranderd binnen de functie, je dan dus ook de $hits buiten de functie meepakt.
huizzondag 28 november 2004 @ 13:16
quote:
Op zondag 28 november 2004 12:57 schreef DutchBlood het volgende:

[..]

Zet binnen de functie;
global $fotonummer;
global $hits;

Let wel op dat als je $hits veranderd binnen de functie, je dan dus ook de $hits buiten de functie meepakt.
Moet die global dan in de functie staan? Ik hoef de variabelen van de functie niet in m'n script gebruiken, maar de variabelen uit m'n script wel in de functie. Maar ik heb het al opgelost door geen functie te gebruiken
DutchBloodzondag 28 november 2004 @ 13:19
quote:
Op zondag 28 november 2004 13:16 schreef huiz het volgende:

[..]

Moet die global dan in de functie staan? Ik hoef de variabelen van de functie niet in m'n script gebruiken, maar de variabelen uit m'n script wel in de functie. Maar ik heb het al opgelost door geen functie te gebruiken
Voorbeeldje:
$var1 = "Geven we mee aan de functie";
$var2 = "Doen we via global";

function functie ($var1) {
global $var2;
Print $var1 . "\n" . $var2;
}

functie($var1);

Zal weergeven:
Geven we mee aan de functie
Doen we via global
huizzondag 28 november 2004 @ 13:38
quote:
Op zondag 28 november 2004 13:19 schreef DutchBlood het volgende:

Voorbeeldje:
* in snippets database gooit *

Duidelijk Ik dacht dat je die global moest gebruiken op de plek waar je 'm aanmaakt.

Nu is alleen die chmod me nog onduidelijk
mscholzondag 28 november 2004 @ 15:47
quote:
Op zondag 28 november 2004 13:38 schreef huiz het volgende:

[..]

* in snippets database gooit *

Duidelijk Ik dacht dat je die global moest gebruiken op de plek waar je 'm aanmaakt.

Nu is alleen die chmod me nog onduidelijk
http://catcode.com/teachmod/
http://www.google.com/search?sourceid=navclient&ie=UTF-8&q=chmod
http://www.php.net/chmod

misschien kan je hier mee uit de voeten???
Chandlerzondag 28 november 2004 @ 16:17
tipje voor het updaten van een counter in mysql dat kan gewoon simepl

stel je hebt een tabel met 3 velden (id, titel, visits) en wil visits 1 omhoog werken.

UPDATE FROM tabel SET visits=visits+1 WHERE id='jouid'

JortKzondag 28 november 2004 @ 17:28
Hallo,

Ik werk sinds kort in een Automatiseringsbedrijf, we verkopen CRM's en boekhoudsoftware.

Nu is ons nieuwste produkt iets wat je via het web kan gebruiken, zie voor demo deltabike.com (is van Exact dus geen spam)

Hoe verstandig is het om PHP te gaan leren als dit soort programma's op de martk komen?

Is dit heel verstandig omdat het dan mogelijk is om maatwerk te maken voor dit soort applicaties?

Of juist weer niet...

Kan iemand mij hier wat info over geven... niemand anders in ons bedrijf kan PHP
huizzondag 28 november 2004 @ 21:24
quote:
Op zondag 28 november 2004 15:47 schreef mschol het volgende:

[..]

http://catcode.com/teachmod/
http://www.google.com/search?sourceid=navclient&ie=UTF-8&q=chmod
http://www.php.net/chmod

misschien kan je hier mee uit de voeten???
Niet echt... deze links en een hoop via Google geven alleen maar aan wat het is. En soms een grote vette regel dat je absoluut geen bestanden en mappen wereldwijd open moet zetten. Maar waar het mij om gaat en wat ik nog nergens in duidelijke taal gelezen heb, is waarom niet. Kan iemand anders dan bestanden in die map zetten? Of verwijderen? En hoe doet ie dat dan? Kan hij soms scripts uploaden waarmee hij door mijn site kan bladeren en wachtwoordbestanden kan downloaden? Dát zou ik graag willen weten maar dat heb ik nog nergens gelezen

Iedereen roept wel dat je het niet moet doen maar nooit waarom dan niet.
huizzondag 28 november 2004 @ 21:37
quote:
Op zondag 28 november 2004 16:17 schreef Chandler het volgende:
tipje voor het updaten van een counter in mysql dat kan gewoon simepl

stel je hebt een tabel met 3 velden (id, titel, visits) en wil visits 1 omhoog werken.

UPDATE FROM tabel SET visits=visits+1 WHERE id='jouid'

Nog beter
huizzondag 28 november 2004 @ 23:14
quote:
Op zondag 28 november 2004 21:24 schreef huiz het volgende:

Iedereen roept wel dat je het niet moet doen maar nooit waarom dan niet.
Bv van YAPF.net:
quote:
Er gaan veel verhalen over chmod. Sommigen zeggen dat je alles op '777' moet zetten en andere beweren juist dat dat niet hoeft.
Hier volgt de waarheid.
...
Een map die op 777 staat is dus vogelvrij!
...
Ga dus NIET zelf zitten klieren met 'chmod 777', want daarmee breng je jouw data en in sommige gevallen zelfs de hele server mee in gevaar!
Maarrrrrrrr waarom????
mscholzondag 28 november 2004 @ 23:23
quote:
Op zondag 28 november 2004 23:14 schreef huiz het volgende:

[..]

Bv van YAPF.net:
[..]

Maarrrrrrrr waarom????
als er een chmod 777 oip staat en een heacker weet in te breken kan hij in de mappen met chmod ALLES (verwijderen toevoegen etc...) en dan kan hij.zij dus malifiede scripts draaien om bijvoorbeeld te spammen, wachtwoord gegevens uitlezen, klant gegevens uitlezen noem mmaar op ALLES kan en dat is wat mensen er tegen hebben. (imo)
huizzondag 28 november 2004 @ 23:35
quote:
Op zondag 28 november 2004 23:23 schreef mschol het volgende:

[..]

als er een chmod 777 oip staat en een heacker weet in te breken kan hij in de mappen met chmod ALLES (verwijderen toevoegen etc...) en dan kan hij.zij dus malifiede scripts draaien om bijvoorbeeld te spammen, wachtwoord gegevens uitlezen, klant gegevens uitlezen noem mmaar op ALLES kan en dat is wat mensen er tegen hebben. (imo)
Ja dat dacht ik ook, maar hoe kán hij dan inbreken?
Als ik al die schreeuwerige opmerkingen hoor van: je moet nooit chmod 777 instellen, je map is vogelvrij, etc dan denk ik dat het redelijk eenvoudig moet zijn om daar dan een scriptje op te gooien. Maar is dat zo? Kan iedere internetter via IE dan een bestand verwijderen (rechter muisknop - Verwijderen) of moeten de hackers toch meer moeite doen? In dat laatste geval hoef je je dus ook niet extreem druk te maken om je eigen website, maar voor eventuele klanten (als je wat aan webdesign doet - en wie doet dat niet hierzo) kan het wel vervelend zijn.

Dat soort informatie zou handig zijn om te weten
mscholzondag 28 november 2004 @ 23:43
als er een beveiligings lek in je software zitr kan hij in breken ik neem even een extreem voorbeeld:

je roept je bestanden aan als volgt:
http://www.domein.nl/index.php?pagina=index
dan zou hij bijvoorbeeld index.html pakken in de root v/d website
als dit niet is beveiligd zou hij linux commando in kunnen voeren met alle gevolgen van dien:
http://www.domein.nl/index.php?pagina=mk 'ikmaakietsaan'
zo kan je misschien dus wel gewoon een scrit kunnen schrijven dat je hele site vernaggelt..
dit is wel een extreem voorbeeld, ikszelf weet even geen betere..
iemand anders???
ikzelf zeg altijd: alleen alles lezen behalve wanneer ik iets moet kunnen verwijderen/schrijven. niet anders das het beste. lijkt mij, ik werkt niet echt veel met linux.
huizzondag 28 november 2004 @ 23:57
Hmjah, dat dacht ik ook eigenlijk.
Maar ik laad nooit scripts op die manier, gooi er altijd een switch tussen. En in mijn geval gaat het altijd om een submap om afbeeldingen te uploaden waarbij én op extensie én op inhoud gecheckt wordt of het een afbeelding betreft. Dus het leek me al niet zo'n probleem.

Maar door al die paniekerige kreten dat zo'n map vogelvrij is, dacht ik (als beginnende php'er met een fobie voor beveiliging) dat het wel schandalig moet zijn om chmod 777 te gebruiken. Maar nergens lees ik hoe en wat een hacker kan doen in zo'n map

Als ik via php iets upload dan moet die map op 777 staan omdat ie anders er geen foto in kan plaatsen, maar is het dan beter om voor het uploaden op 777 zetten en daarna weer op 755, of is het voldoende om te zorgen dat je scripts veilig genoeg zijn?
ToMaSZmaandag 29 november 2004 @ 15:26
sowieso altijd input vanuit de adresbalk controleren, zo kun je, wanneer een variabele 'gewoon' wordt uitgelezen uit de adresbalk, bij een slecht beveiligde site commando's uitvoeren en vervolgens bijvoorbeeld elke mysql-query erachter plakken, die vervolgens vrolijk wordt uitgevoerd. Redelijke exploit lijkt me, als je je input dus niet controleert.

zal een voorbeeld geven:
in script:
$waarde = $_GET['waarde'];

pagina aanroepen:
pagina.php?waarde=mysql_query("DROP TABLE 'tabel'")

en daar beginnen de problemen.
Natuurlijk moet je dan de naam van de tabel weten, maar als je een beetje je best doet kun je uit bijvoorbeeld een error de databasenaam extraheren.... als je echt een klootzak bent, is dat fijn materiaal om iemand's dag naar de filestijnen te helpen.

(het verwijderen van tabellen en databases is een beetje een 'grof' voorbeeld natuurlijk. Als je je usertabel een beetje normaal instelt gaat het zo'n vaart niet lopen. Er zijn natuurlijk wel tal van andere mogelijkheden denkbaar, maar ik ga ze hier niet uitwerken)
ToMaSZmaandag 29 november 2004 @ 15:30
quote:
Op zondag 28 november 2004 23:57 schreef huiz het volgende:
Hmjah, dat dacht ik ook eigenlijk.
Maar ik laad nooit scripts op die manier, gooi er altijd een switch tussen. En in mijn geval gaat het altijd om een submap om afbeeldingen te uploaden waarbij én op extensie én op inhoud gecheckt wordt of het een afbeelding betreft. Dus het leek me al niet zo'n probleem.

Maar door al die paniekerige kreten dat zo'n map vogelvrij is, dacht ik (als beginnende php'er met een fobie voor beveiliging) dat het wel schandalig moet zijn om chmod 777 te gebruiken. Maar nergens lees ik hoe en wat een hacker kan doen in zo'n map

Als ik via php iets upload dan moet die map op 777 staan omdat ie anders er geen foto in kan plaatsen, maar is het dan beter om voor het uploaden op 777 zetten en daarna weer op 755, of is het voldoende om te zorgen dat je scripts veilig genoeg zijn?
Een 'hacker' kan in een map die mode 777 heeft hetzelfde als jij in principe. Dus bestanden maken, verwijderen, overschrijven, mappen maken, verwijderen, etc.

Niet heel erg aan te raden in de img-dir van je site dus. Je kan echter een map aanmaken via de browser, in een andere map die voor de gelegenheid op 777 staat. Die zet je terug en de map die je net hebt aangemaakt is writeable vanuit de browser, omdat de www-user hem heeft aangemaakt en dus in 'eigendom' heeft.
huizmaandag 29 november 2004 @ 15:46
quote:
Op maandag 29 november 2004 15:30 schreef ToMaSZ het volgende:

[..]

Een 'hacker' kan in een map die mode 777 heeft hetzelfde als jij in principe. Dus bestanden maken, verwijderen, overschrijven, mappen maken, verwijderen, etc.

Niet heel erg aan te raden in de img-dir van je site dus. Je kan echter een map aanmaken via de browser, in een andere map die voor de gelegenheid op 777 staat. Die zet je terug en de map die je net hebt aangemaakt is writeable vanuit de browser, omdat de www-user hem heeft aangemaakt en dus in 'eigendom' heeft.
Jaaamaaar... hoe kan hij via de browser een map aanmaken? Ik zie in browsers nergens een optie om een nieuwe map te maken. Bovendien zet ik in elke map een redirect index.html of sluit 'm af via Apache als er geen index in zit.

Ik krijg toch steeds meer het idee dat een 777-gechmodde map heel wat minder onveilig is als iedereen loopt te roepen. En dat de meesten ook niet precies weten wat het probleem dan is
huizmaandag 29 november 2004 @ 15:47
En dan nog, kun je zien dat een map open staat? Of moeten ze dat handmatig proberen?

Misschien ben ik wel een zeikerd hoor, maar ik wil het gewoon graag zeker weten
ToMaSZmaandag 29 november 2004 @ 16:02
quote:
Op maandag 29 november 2004 15:46 schreef huiz het volgende:

[..]

Jaaamaaar... hoe kan hij via de browser een map aanmaken? Ik zie in browsers nergens een optie om een nieuwe map te maken. Bovendien zet ik in elke map een redirect index.html of sluit 'm af via Apache als er geen index in zit.

Ik krijg toch steeds meer het idee dat een 777-gechmodde map heel wat minder onveilig is als iedereen loopt te roepen. En dat de meesten ook niet precies weten wat het probleem dan is
Vanuit de browser... knap lastig, tenzij hij dus een bijv. php-scriptje schrijft, waarmee hij in je filesystem gaat spelen.

En kan je dat zien, niet zomaar, dat moet je proberen, of scannen op open directories, vanuit een drectory listing kun je dan weer de rechten van een map zien.
huizmaandag 29 november 2004 @ 16:16
quote:
Op maandag 29 november 2004 16:02 schreef ToMaSZ het volgende:

[..]

Vanuit de browser... knap lastig, tenzij hij dus een bijv. php-scriptje schrijft, waarmee hij in je filesystem gaat spelen.

En kan je dat zien, niet zomaar, dat moet je proberen, of scannen op open directories, vanuit een drectory listing kun je dan weer de rechten van een map zien.
Juist. En hoe krijgt hij dan dat scriptje in mijn map? En als ik het bekijken van zo'n map blokkeer, hoe kan ie dat dan zien?

Zijn er geen hackers in de zaal om hun geheimen te openbaren?
ToMaSZmaandag 29 november 2004 @ 16:18
dat scriptje hoeft niet in jou map.
Als immers iedereen alles mag doen in jou mapje, mag dat, tenzij anders geconfigureerd, ook vanaf een andere server. (hangt ook weer van je serversettings af).
JortKdinsdag 30 november 2004 @ 17:06
Weet iemand nog een goed boek om PHP uit te leren (het liefst nederlands talig )

Want heb op bol.com een paar boeken erover gezien maar weet niet welke goed zijn en welke niet
Heliospandinsdag 30 november 2004 @ 17:14
Je kan niet zomaar inbreken als iemand een map op 777 heeft staan, voor sommige scripts is dat zelfs een vereiste. Je moet alleen wel kijken wat voor script je hebt en hoe je die zelf in elkaar hebt gezet. Als je een afbeeldinguploader hebt die zonder problemen .PHP-bestanden door laat, dan ben je gewoon dom bezig.
quote:
[Someone suggested 777 but doesn't that mean they can hack my site?]

Yes, if users need to upload files to a directory then the dir will need 777 (well, it could be 707 but we'll say 777 for simplicities sake)...

Make sure the *only* directory you set to 777 is the one they are uploading to. The biggest problem is that if files are uploaded, such as .php or .sh files, they can be run on the web server from a remote browser.. And yes, this means people have the potential to cause damage... However - making it 777 doesn't automatically place you at risk - there are a few more factors to consider:
The upload directories location:
If the root of your website is in /home/username/public_html but you have your uploads stored in /home/username/uploaded_files there is no way someone can access these files with their browser... However if you store your files in /home/username/public_html/uploaded_files you can be at risk... Check your modules' config to see if you can specify where the upload directory lives - and if possible make it somewhere out of your web servers path.

The module's built in security:
Most modules that let you upload files have some sort of checkign facility that only allows certain file types to be uploaded. If people are only uploading .gif / .jpg / etc files - you have no probs with using this module to hack your site.. (as long as there aren't any real security holes in the module itself)...
(dit gaat toevallig over phpnuke ofzo, maar dat geeft niet )

-edit-
Ik zit iemand vals te beschuldigen van verkeerde informatie geven, excuus

[ Bericht 16% gewijzigd door Heliospan op 30-11-2004 17:22:37 ]
huizdinsdag 30 november 2004 @ 19:56
quote:
Op dinsdag 30 november 2004 17:14 schreef Heliospan het volgende:
Je kan niet zomaar inbreken als iemand een map op 777 heeft staan, voor sommige scripts is dat zelfs een vereiste. Je moet alleen wel kijken wat voor script je hebt en hoe je die zelf in elkaar hebt gezet. Als je een afbeeldinguploader hebt die zonder problemen .PHP-bestanden door laat, dan ben je gewoon dom bezig.
[..]

(dit gaat toevallig over phpnuke ofzo, maar dat geeft niet )

-edit-
Ik zit iemand vals te beschuldigen van verkeerde informatie geven, excuus
Kijk, dit is betere informatie
Gek genoeg kom je dat nergens tegen, alleen maar kreten dat het levensgevaarlijk is.

Het probleem zit 'm dus in slechte code en het niet checken van geuploade bestanden. En slechte code kom je helaas veel te vaak tegen
huizdinsdag 30 november 2004 @ 20:01
quote:
Op dinsdag 30 november 2004 17:06 schreef JortK het volgende:
Weet iemand nog een goed boek om PHP uit te leren (het liefst nederlands talig )

Want heb op bol.com een paar boeken erover gezien maar weet niet welke goed zijn en welke niet
Ik heb Het Complete Handboek PHP 4 en die is wel redelijk compleet te noemen. Wel zitten er een aantal fouten in en je moet niet alles geloven wat ze beweren, maar als je nog van niks weet dan is het een leerzaam boek.
Daarnaast veel meelezen op YAPF, Phpfreaks, Hyperlinkz, Webscripters, (ook eens in de snippets database kijken) en hier op Fok natuurlijk

En nooit direct beginnen met enorme projecten, en niet teveel tegelijk willen (databases, templates, language independence files) maar gewoon lekker kleine dingetjes maken om te testen
BlueCurlzondag 5 december 2004 @ 09:50
stel je hebt een hele mooie inc bestand met daarin de functie om je db te openen die je aanroept... alleen nu zit ik met het probleem dat .inc bestanden gewoon worden weeregeven als je ze in de adresblak intypt. is daar geen betere manier voor?
Roonaanzondag 5 december 2004 @ 09:55
je inc directory afsluiten met .htaccess
Roonaanzondag 5 december 2004 @ 09:55
of:
1
2
3
4
5
6
7
<?php
if($_SERVER['SCRIPT_NAME'] == __FILE__)
{
   
header('Location: http://www.mysite.com/' color="#007700">);
   exit(
'');
}
?>
BlueCurlzondag 5 december 2004 @ 09:59
maar kun je het niet gewoon in een PHP file zetten dus bijvoorbeeld db_inc.php en die aanroepen zoals ook met ASP gebeurd?
Roonaanzondag 5 december 2004 @ 10:08
quote:
maar kun je het niet gewoon in een PHP file zetten dus bijvoorbeeld db_inc.php en die aanroepen zoals ook met ASP gebeurd ?
define 'het', en wat gebeurt er in asp?

Dat stukje code dat ik je gaf zet je bovenin een phpfile die niet direct geopend mag worden. Het script test of het script aangeroepen door de bezoeker gelijk is aan de scriptfile zelf. Als dat zo is, wordt de gebruiker doorverwezen naar de site zelf.

Maar nogsteeds is .htaccess de beste oplossing vind ik. Je zet al je includes in één of meerdere directories en je sluit die directories af met een .htaccess bestand.
Heliospanzondag 5 december 2004 @ 14:24
quote:
Op zondag 5 december 2004 09:50 schreef BlueCurl het volgende:
stel je hebt een hele mooie inc bestand met daarin de functie om je db te openen die je aanroept... alleen nu zit ik met het probleem dat .inc bestanden gewoon worden weeregeven als je ze in de adresblak intypt. is daar geen betere manier voor?
Waarom maak je er geen .php van?

-edit-
oeps, ik moet leren lezen
Swetseneggermaandag 6 december 2004 @ 22:48
1<? echo htmlentities($row['price'],ISO8859-15); ?>


Dit zet het euro teken niet om naar een html entity hetgeen m'n validatie verneukt
Wat doe ik fout? Ik twijfel over de charset optie (of ik die goed gebruik, het is iig wel de charset welke het euroteken ondersteunt).
Ra-zmaandag 6 december 2004 @ 22:58
quote:
Op zondag 5 december 2004 09:50 schreef BlueCurl het volgende:
stel je hebt een hele mooie inc bestand met daarin de functie om je db te openen die je aanroept... alleen nu zit ik met het probleem dat .inc bestanden gewoon worden weeregeven als je ze in de adresblak intypt. is daar geen betere manier voor?
of je gebruik bestandsnamen als config.inc.php, veilig, geen gekut met .htaccess en je kan nog steeds in 1 oogopslag zien wat het moet doen
SuperRembomaandag 6 december 2004 @ 23:18
quote:
Op maandag 6 december 2004 22:48 schreef Swetsenegger het volgende:

[ code verwijderd ]

Dit zet het euro teken niet om naar een html entity hetgeen m'n validatie verneukt
Wat doe ik fout? Ik twijfel over de charset optie (of ik die goed gebruik, het is iig wel de charset welke het euroteken ondersteunt).
Moet
1<? echo htmlentities($row['price'], ISO8859-15); ?>

niet
1<? echo htmlentities($row['price'], ENT_COMPAT, ISO8859-15); ?>

zijn?
Swetseneggermaandag 6 december 2004 @ 23:21
quote:
Op maandag 6 december 2004 23:18 schreef SuperRembo het volgende:

[..]

Moet
[ code verwijderd ]

niet
[ code verwijderd ]


zijn?

Mjah, dat zou betekenen dat je de derde optie nooit kan gebruiken zonder de tweede of zou
Hmz, dat zou betekenen dat je optie 3 nooit zonder twee kan gebruiken of zou
1<? echo htmlentities($row['price'], , ISO8859-15); ?>

ook werken?
SuperRembomaandag 6 december 2004 @ 23:34
Ik weet niet of het dan werkt, maar ENT_COMPAT is de default waarde die php gebruikt als je geen quotestyle opgeeft.
ikke_ookdinsdag 7 december 2004 @ 15:45
1
2
3
$query = "UPDATE albumtb 
SET albumnaam = '$new_name'
 WHERE albumnaam = '$album'";[/code

Dit werkt goed, alleen nu moet $new_name ook quotes kunnen bevatten... hoe maak ik het zo dat dat ook werkt?
Heliospanwoensdag 8 december 2004 @ 01:23
Werkt dit?

1SET albumnaam = '".addslashes($new_name)."'


stripslashes om de slashes weer weg te halen bij het lezen
Roonaanwoensdag 8 december 2004 @ 09:42
quote:
Op woensdag 8 december 2004 01:23 schreef Heliospan het volgende:
stripslashes om de slashes weer weg te halen bij het lezen
Neu hoor, dat is totaal overbodig.
mscholwoensdag 8 december 2004 @ 21:08
oke een echte dummie vraag :

ik wil op een op een link pagina een url laten zien of gewoon tekst, dit is afhankelijk of Emule draait...

nou komt me vraag:
hoe kan ik checken of Emule draait..
ik kon mij vaag iets herinneren dat dit met sockect_connect zou moeten werken
maar ik krijg op die function een fatal error met dat de functie niet bestaat..
zie hier mijn phpinfo phpinfo

wat doe ik verkeerd???

wat kan ik hieraan doen, zie ik wat over het hoofd of wat???

[ Bericht 6% gewijzigd door mschol op 08-12-2004 22:34:24 ]
Swetseneggerwoensdag 8 december 2004 @ 21:21
Het probleem.
Ik heb twee tabellen. 1 met de te tonen tekst (header, tekst, footer), 1 met begrippen.

Nu wil ik de tekst, met een string replace kijken of er een begrip voorkomt uit de begrippen tabel en die dan vervangen door een href naar de begrippen lijst.

Ik dacht ik prop een while in een while, maar dat werkt niet zoals verwacht... Iemand een idee?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$query='SELECT * FROM tekst';
$query_begrip='SELECT * FROM begrippen';
$result=mysql_query($query);
$result_begrip=mysql_query($query_begrip);
 while($row=mysql_fetch_array($result)){

                                          while($row_begrip=mysql_fetch_array($result_begrip)){
                                                                           $begrip="{$row_begrip['begrip']}";
$short_text=str_replace($begrip,"<a href=\"begrippen.php#$begrip\" />$begrip</a>",$row['short_text']);}
                                                 ?>

</tr><tr>
<td style="vertical-align:top; width:33%;">
<div class="header"><img src="<? print"headers/{$row['name']}.jpg"; ?>" alt="pakketlogo" /></div>
<div class="package"><? print"$short_text"; ?>
<p>vanaf <span style="font-size:14pt; font-weight:bold; color:#2DB017;"><? echo htmlentities($row['price'],ISO8859-15); ?></span></p>
<div style="text-align:right"><? print"<a href=\"paketten.php?id={$row['id']}\">"; ?>meer... <img src="image/meer.gif" style="border-width:0px;" alt="meer" /></a></div></div></td>


De short text wordt nu bij elke while ronde hetzelfde en de while lus die begrippen moet vervangen, vervangt alleen het eerste begrip uit mijn tabel.

Ok, het probleem met de shorttext welke elke ronde hetzelfde was heb ik ondervangen.... Maar er wordt nog steeds alleen maar het eerste ID van de begrippen tabel vervangen. Ik zie echt niet wat ik fout doe.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$query='SELECT * FROM pakketten';
$result=mysql_query($query);
        $kolom=0;
        while($row=mysql_fetch_array($result)){

                                                $query_begrip='SELECT * FROM begrippen';
                                                $result_begrip=mysql_query($query_begrip);
                                                while($row_begrip=mysql_fetch_array($result_begrip)){
                                                $begrip="{$row_begrip['begrip']}";
                                                $short_text=str_replace($begrip,"<a href=\"begrippen.php#$begrip\" />$begrip</a>",$row['short_text']);}
?>
                                                 

<td style="vertical-align:top; width:33%;">
<div class="header"><img src="<? print"headers/{$row['name']}.jpg"; ?>" alt="pakketlogo" /></div>
<div class="package"><? print"$short_text"; ?>
<p>vanaf <span style="font-size:14pt; font-weight:bold; color:#2DB017;"><? echo htmlentities($row['price'],ISO8859-15); ?></span></p>
<div style="text-align:right"><? print"<a href=\"paketten.php?id={$row['id']}\">"; ?>meer... <img src="image/meer.gif" style="border-width:0px;" alt="meer" /></a></div></div></td>
<? }} ?>


dit:
1
2
3
4
5
$query_begrip='SELECT * FROM begrippen';
                                                $result_begrip=mysql_query($query_begrip);
                                                while($row_begrip=mysql_fetch_array($result_begrip)){
                                                $begrip="{$row_begrip['begrip']}";
                                                $short_text=str_replace($begrip,"<a href=\"begrippen.php#$begrip\" />$begrip</a>",$row['short_text']);}

Zou toch gewoon elk begrip in de begrippentabel moeten vervangen in de tekst en niet alleen de eerste

[ Bericht 7% gewijzigd door Swetsenegger op 08-12-2004 22:05:08 ]
DutchBloodwoensdag 8 december 2004 @ 22:14
Ik heb de volgende tabel met schaakuitslagen:
1
2
3
4
5
6
7
8
CREATE TABLE `sc_matches` (
  `matchid` int(6) unsigned NOT NULL auto_increment,
  `player1` tinyint(4) default NULL,
  `player2` tinyint(4) default NULL,
  `winst` tinyint(1) default NULL,
  `date` int(11) default NULL,
  PRIMARY KEY  (`matchid`)
) TYPE=MyISAM;

In winst staat 1/2/0. 1 voor winst van player1, 2 voor player2 en 0 voor remise.

Nu wil ik de top 5 uit die tabel halen, maar ik krijg de mysql query daarvoor niet bedacht. Iemand?
Swetseneggerwoensdag 8 december 2004 @ 22:20
Domdomdom...
elke keer pak ik in mijn while lus de ORIGINELE tekst weer, en niet de tekst welke ik in de eerste loop al veranderd heb.
Het resultaat is natuurlijk dat alleen het laatste begrip veranderd is...
opgelost dus met een klein ifje
mscholdonderdag 9 december 2004 @ 11:17
quote:
Op woensdag 8 december 2004 21:08 schreef mschol het volgende:
oke een echte dummie vraag :

ik wil op een op een link pagina een url laten zien of gewoon tekst, dit is afhankelijk of Emule draait...

nou komt me vraag:
hoe kan ik checken of Emule draait..
ik kon mij vaag iets herinneren dat dit met sockect_connect zou moeten werken
maar ik krijg op die function een fatal error met dat de functie niet bestaat..
zie hier mijn phpinfo phpinfo

wat doe ik verkeerd???

wat kan ik hieraan doen, zie ik wat over het hoofd of wat???
*kick*
Ra-zdonderdag 9 december 2004 @ 11:21
quote:
Op donderdag 9 december 2004 11:17 schreef mschol het volgende:

[..]

*kick*
http://nl2.php.net/sockets
Swetseneggerdonderdag 9 december 2004 @ 13:31
quote:
Op donderdag 9 december 2004 11:17 schreef mschol het volgende:

[..]

*kick*
ff zoeken

Om te checken of mijn webcam aanstaat doe ik het volgende:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
print '</div><br />';

$ip=255.255.255.255;
$port=80;
$fp = fsockopen($ip, $port, $errno, $errstr, 4);
if (!
$fp) {
print
"<div class=\"ticker\"><br /><a href=\"cam.php\" style=\"font-size:7pt;\">Swets-Cam</a> :<span style=\"color:#ff0000;\"> Uit.</span><br /><br /></div><br />\n\n";
fclose($fp);
} else {
print
"<div class=\"ticker\"><br /><a href=\"cam.php\" style=\"font-size:7pt;\">Swets-Cam</a> :<span style=\"color:#00ffff;\"> Aan!</span><br /><br /></div><br />\n\n";
}
?>


Deze code probeert een socketverbinding op te zetten op IP $ip met poort $port..
De time out staat op 4 seconde.

Heb je hier wat aan?

[ Bericht 39% gewijzigd door Swetsenegger op 09-12-2004 17:13:57 ]
Swetseneggerdonderdag 9 december 2004 @ 16:58
waarom wordt m'n euroteken nou niet geencodeerd?

1
2
3
<?php
echo htmlentities($row['price'], ENT_COMPAT, ISO-8859-15);
?>


http://nl3.php.net/htmlentities
quote:
ISO-8859-15 ISO8859-15 Western European, Latin-9. Adds the Euro sign, French and Finnish letters missing in Latin-1(ISO-8859-1).
mscholdonderdag 9 december 2004 @ 17:08
quote:
Op donderdag 9 december 2004 13:31 schreef Swetsenegger het volgende:

[..]

ff zoeken

Om te checken of mijn webcam aanstaat doe ik het volgende:
[ code verwijderd ]

Deze code probeert een socketverbinding op te zetten op IP $ip met poort $port..
De time out staat op 4 seconde.

Heb je hier wat aan?
Your my Hero
das exact wat ik nodig heb...
Swetseneggerdonderdag 9 december 2004 @ 17:12
quote:
Op donderdag 9 december 2004 17:08 schreef mschol het volgende:

[..]

Your my Hero
das exact wat ik nodig heb...
Yw...
ik heb me toen het lazerus gezocht. Ook op phpfreakz heeft er zelfs maar iemand een reactie gepost hoe ik dit moest oplossen.

Als je ff op www.123swets.com kijkt zie je de code in actie (hij zal 'uit' retouneren.) Wel handig om te kijken, want gedurende de time-out periode wordt er GEEN html geparst. Je kijkt dus 4 seconde lang naar een half leeg scherm. Het is dus zaak om die time-out zo krap mogelijk te zetten.
Bij 3 seconde merkte ik dat het niet echt betrouwbaar was, omdat er dan soms 'uit' retour kwam terwijl de cam wel aanstond.
Roonaandonderdag 9 december 2004 @ 17:21
Het makkelijkst is dus om zulke geintjes te combineren met simpelweg een image of iets dergelijks.

Gewoon <img src="camstate.php?ext=.png" /> en dan geeft die een aan of een uit image terug.

Heb je ook geen delay in je webpage eigenlijk.

Om de load te verlichten zou je via een cache bij kunnen houden dat hij maar 1 keer per 5 minuten checked ofzo, alhoewel de traffic van zulke dingen minimaal is natuurlijk.

-r-
Swetseneggerdonderdag 9 december 2004 @ 17:24
quote:
Op donderdag 9 december 2004 17:21 schreef Roönaän het volgende:
Het makkelijkst is dus om zulke geintjes te combineren met simpelweg een image of iets dergelijks.

Gewoon <img src="camstate.php?ext=.png" /> en dan geeft die een aan of een uit image terug.

Heb je ook geen delay in je webpage eigenlijk.

Om de load te verlichten zou je via een cache bij kunnen houden dat hij maar 1 keer per 5 minuten checked ofzo, alhoewel de traffic van zulke dingen minimaal is natuurlijk.

-r-
Hij checked alleen on load.
Heliospandonderdag 9 december 2004 @ 19:23
Ik heb een MySQL-tabel met informatie over elke mp3 die ik heb beluisterd in Winamp. In die tabel staat onder andere de cel "genreID", een cijfer die naar de genre-tabel wijst waar de namen bij staan. "genreID" is een cijfer tussen 1 en 50. Ik wil nu het genreID dat het vaakst voorkomt hebben, welke toevoeging als AVG, COUNT, moet ik gebruiken en hoe?
mscholdonderdag 9 december 2004 @ 20:00
quote:
Op donderdag 9 december 2004 17:12 schreef Swetsenegger het volgende:

[..]

Yw...
ik heb me toen het lazerus gezocht. Ook op phpfreakz heeft er zelfs maar iemand een reactie gepost hoe ik dit moest oplossen.

Als je ff op www.123swets.com kijkt zie je de code in actie (hij zal 'uit' retouneren.) Wel handig om te kijken, want gedurende de time-out periode wordt er GEEN html geparst. Je kijkt dus 4 seconde lang naar een half leeg scherm. Het is dus zaak om die time-out zo krap mogelijk te zetten.
Bij 3 seconde merkte ik dat het niet echt betrouwbaar was, omdat er dan soms 'uit' retour kwam terwijl de cam wel aanstond.
yup ,je cam had ik idd al gezien.

bleek dat hij socket_connect iet kende omdat ik de php module niet had in geladen
heb ik gelijk veranderd...

gebruik nu het volgende:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$portnr
= "4711";
$host = "fia181-83.dsl.hccnet.nl";
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$fp = socket_connect($socket,$host,$portnr);
if(
$fp)
{
    print
"<tr><td><span><a href='http://".$host.":".$portnr."'>Emule is running</a></span></td></tr>";
}
else
{
    print
"<tr><td><span>Emule isn't running</span></td></tr>";
}
?>
Swetseneggerdonderdag 9 december 2004 @ 21:39
quote:
Op donderdag 9 december 2004 16:58 schreef Swetsenegger het volgende:
waarom wordt m'n euroteken nou niet geencodeerd?
[ code verwijderd ]

http://nl3.php.net/htmlentities
[..]

Iemand?
SuperRembodonderdag 9 december 2004 @ 22:35
quote:
Op donderdag 9 december 2004 21:39 schreef Swetsenegger het volgende:

[..]

Iemand?
Het euro-teken wordt gewoon niet vervangen. Het staat niet in de translation table.

Waarom wil je 'm vervangen? Als je overal dezelfde encoding gebruikt dan heeft niemand er last van.
Swetseneggerdonderdag 9 december 2004 @ 22:40
quote:
Op donderdag 9 december 2004 22:35 schreef SuperRembo het volgende:

[..]

Het euro-teken wordt gewoon niet vervangen. Het staat niet in de translation table.

Waarom wil je 'm vervangen? Als je overal dezelfde encoding gebruikt dan heeft niemand er last van.


zoals gezegd van php.net:
quote:
Table 2. Supported charsets

Charset Aliases Description
ISO-8859-1 ISO8859-1 Western European, Latin-1
ISO-8859-15 ISO8859-15 Western European, Latin-9. Adds the Euro sign, French and Finnish letters missing in Latin-1(ISO-8859-1).
UTF-8 ASCII compatible multi-byte 8-bit Unicode.
cp866 ibm866, 866 DOS-specific Cyrillic charset. This charset is supported in 4.3.2.
cp1251 Windows-1251, win-1251, 1251 Windows-specific Cyrillic charset. This charset is supported in 4.3.2.
cp1252 Windows-1252, 1252 Windows specific charset for Western European.
KOI8-R koi8-ru, koi8r Russian. This charset is supported in 4.3.2.
BIG5 950 Traditional Chinese, mainly used in Taiwan.
GB2312 936 Simplified Chinese, national standard character set.
BIG5-HKSCS Big5 with Hong Kong extensions, Traditional Chinese.
Shift_JIS SJIS, 932 Japanese
EUC-JP EUCJP Japanese


Volgens php.net wordt hij dus wel vervangen MITS je ISO-8859-15 opgeeft als 3e parameter in htmlentities.

En waarom ik het wil?
Het verneukt mijn validatie, je mag geen plat euroteken in je tekst gebruiken volgens de w3c
SuperRembodonderdag 9 december 2004 @ 23:05
Ok, dat is idd wel vreemd.
Met default_charset = "iso-8859-15" in php.ini of ini_set('default_charset', 'iso-8859-15') merkte ik ook geen verschil.
Swetseneggervrijdag 10 december 2004 @ 09:01
quote:
Op donderdag 9 december 2004 23:05 schreef SuperRembo het volgende:
Ok, dat is idd wel vreemd.
Met default_charset = "iso-8859-15" in php.ini of ini_set('default_charset', 'iso-8859-15') merkte ik ook geen verschil.
Ja, dat probleem heb ik dus ook
Roonaanvrijdag 10 december 2004 @ 09:58
Stomme vraag, als je iso-8859-15 opgeeft als derde parameter, is je euroteken dan ook wel een euroteken in die charset?

En het lijkt mij dat je best een plat euroteken kan gebruiken, mits je de goede charset opgeeft toch? Anders zou je ook geen é of een á kunnen gebruiken, wat wel degelijk mogelijk is.
Swetseneggervrijdag 10 december 2004 @ 10:38
quote:
Op vrijdag 10 december 2004 09:58 schreef Roönaän het volgende:
Stomme vraag, als je iso-8859-15 opgeeft als derde parameter, is je euroteken dan ook wel een euroteken in die charset?

En het lijkt mij dat je best een plat euroteken kan gebruiken, mits je de goede charset opgeeft toch? Anders zou je ook geen é of een á kunnen gebruiken, wat wel degelijk mogelijk is.
Ik heb de charset als metatag opgegeven en ook dan valideert w3c niet.
Overigens krijg ik dan nog veel meer meldingen naast alleen het euroteken.

Maar ik trek de tekst wel door een str_replace
Forau_Diavolinavrijdag 10 december 2004 @ 14:15
Ik zit met een klein probleempje.
Ik heb een verouderd scriptje overgenomen met het volgende;
1
2
3
4
5
6
7
8
9
10
11
<?php
global $strDesc;

global
$fileUpload;

global
$fileUpload_name;

global
$fileUpload_size;

global
$fileUpload_type;
?>


Weet iemand wat er wel moet staan om het te laten werken?
De bovenste moet meen ik $_POST zijn, en de tweede $_FILE, maar dat moet weer anders getypt worden ofzo.
En ik ben de weg nu kwijt.
Swetseneggervrijdag 10 december 2004 @ 16:15
quote:
Op vrijdag 10 december 2004 14:15 schreef Forau_Diavolina het volgende:
Ik zit met een klein probleempje.
Ik heb een verouderd scriptje overgenomen met het volgende;
[ code verwijderd ]

Weet iemand wat er wel moet staan om het te laten werken?
De bovenste moet meen ik $_POST zijn, en de tweede $_FILE, maar dat moet weer anders getypt worden ofzo.
En ik ben de weg nu kwijt.
1
2
3
<?php
$_FILES
['de naam van je formulier']['tmp_name']
?>


http://nl2.php.net/manual/nl/function.move-uploaded-file.php
Forau_Diavolinavrijdag 10 december 2004 @ 16:37
Mijn dank.
ikke_ookzaterdag 11 december 2004 @ 00:19
Ik wil graag achter de schermresolutie van een bezoeker komen, kan ik dit op een handige manier met php doen?of kan het makkelijker met javascript? (Ik heb mn javascript boek niet bij me....)
bedankt
SuperRembozaterdag 11 december 2004 @ 01:15
De schermresolutie kan je niet achterhalen met php, wel met javascript.
SuperRembozaterdag 11 december 2004 @ 03:01
quote:
Op vrijdag 10 december 2004 09:01 schreef Swetsenegger het volgende:

[..]

Ja, dat probleem heb ik dus ook
De php code is een windows bestand (bij mij iig), cp1252 charset. Het euroteken is dan 0x80.
In de ISO8859-15 charset is het euroteken 0xA4, 0x80 is een controlchar.

1
2
3
4
5
6
<?php
   $input = '¤'.chr(0x80).chr(0xA4);
   $charset = 'ISO8859-15';
   $output = htmlentities($input, ENT_COMPAT, $charset);
   echo "$input<hr>$output"
?>


geeft "¤¤¤<hr>¤¤& euro;" als output.
met de cp1252 charset krijg je "¤¤¤<hr>& euro;& euro;& curren;" als output.
ikke_ookzondag 12 december 2004 @ 12:39
Ik heb een vraagje wat misschien niet helemaal in dit topic hoort, maar aangezien ik altijd goede antwoorden hier krijg stel ik hem hier toch
Ik wil een nieuw scherm openen, het liefst 1 zonder adresbalk en "links".
Alleen lukt dit zonder dat een popupblocker deze tegenhoudt?en werkt het ook in alle andere browser? En hoe moet ik dat dan doen?met javascript window.open ?

bedankt.
Heliospanzondag 12 december 2004 @ 14:19
Deze site gebruik ik altijd als ik te lui ben om na te denken hoe de javascript om een popup te maken gaat . Popupblokkers zijn er voor gemaakt om popups te blokkeren, dus je kan er vanuit gaan dat ie geblokkeerd gaat worden. Er is echter vaak wel een verschil tussen automatische popups en popups on demand. Als de bezoeker op een link klikt, waarna een popup wordt geopend, dan wordt ie meestal niet geblokkeerd. Als de popup automatisch opent bij het bezoeken van een pagina, wordt ie meestal wel geblokkeerd.

Ik schop nog even mijn eigen vraag omhoog, die nog niet beantwoord is:
quote:
Op donderdag 9 december 2004 19:23 schreef Heliospan het volgende:
Ik heb een MySQL-tabel met informatie over elke mp3 die ik heb beluisterd in Winamp. In die tabel staat onder andere de cel "genreID", een cijfer die naar de genre-tabel wijst waar de namen bij staan. "genreID" is een cijfer tussen 1 en 50. Ik wil nu het genreID dat het vaakst voorkomt hebben, welke toevoeging als AVG, COUNT, moet ik gebruiken en hoe?
SuperRembozondag 12 december 2004 @ 14:48
quote:
Op zondag 12 december 2004 12:39 schreef ikke_ook het volgende:
Ik heb een vraagje wat misschien niet helemaal in dit topic hoort, maar aangezien ik altijd goede antwoorden hier krijg stel ik hem hier toch
Daar heb je [javascript] voor dummies voor.
quote:
Ik wil een nieuw scherm openen, het liefst 1 zonder adresbalk en "links".
Alleen lukt dit zonder dat een popupblocker deze tegenhoudt?en werkt het ook in alle andere browser? En hoe moet ik dat dan doen?met javascript window.open ?

bedankt.
En het kan idd met window.open()
SuperRembozondag 12 december 2004 @ 15:03
quote:
Op donderdag 9 december 2004 19:23 schreef Heliospan het volgende:
Ik heb een MySQL-tabel met informatie over elke mp3 die ik heb beluisterd in Winamp. In die tabel staat onder andere de cel "genreID", een cijfer die naar de genre-tabel wijst waar de namen bij staan. "genreID" is een cijfer tussen 1 en 50. Ik wil nu het genreID dat het vaakst voorkomt hebben, welke toevoeging als AVG, COUNT, moet ik gebruiken en hoe?
1
2
3
4
5
SELECT genreID, count(mp3ID) as numMp3s
FROM mp3
GROUP  BY genreID
ORDER by numMp3s desc
LIMIT 0,1


Is er al een topic "[(My)SQL] voor dummies"?
Heliospanzondag 12 december 2004 @ 21:11
Nee, maar die is wel nodig

-edit-
De query werkt niet. Ik heb ook geen mp3ID ergens staan ofzo. Met count telt ie alle waarden op en dat is niet de bedoeling.

Om even iets duidelijker te zijn een voorbeeld.

Ik heb de mp3: Air - All I Need. Dit liedje heb ik nog niet een bepaald genre toegekend. Ik wil automatisch de waarde krijgen van het genrenummer dat het vaakst aan Air is gegeven.

Ik heb in de mp3tabel vier andere liedjes van Air staan die genre_id 4 hebben (4 = Lounge). Ik heb ook nog twee liedjes van Air die het genre_id 5 hebben (5 = Electronic).

Ik wil nu als resultaat 4 hebben, omdat die vaker voorkomt dan 5, waardoor het waarschijnlijker is dat het het goede genre is.

-edit2-
Je hebt me wel in de goede richting geholpen Ik heb het zo opgelost:
1
2
3
4
5
6
SELECT DISTINCT(genre_id), count(genre_id) AS totaal 
FROM `mp3` 
WHERE artiest LIKE '%".$upd['artiest']."%' 
GROUP BY genre_id 
ORDER BY totaal desc 
LIMIT 1


[ Bericht 41% gewijzigd door Heliospan op 13-12-2004 04:44:28 ]
Swetseneggermaandag 13 december 2004 @ 08:23
quote:
Op zondag 12 december 2004 15:03 schreef SuperRembo het volgende:

[..]
[ code verwijderd ]

Is er al een topic "[(My)SQL] voor dummies"?
Nee, wie maakt 'm?
Heliospanmaandag 13 december 2004 @ 08:35
[(My)SQL] voor dummies
ikke_ookmaandag 13 december 2004 @ 15:31
ik heb 2 variabelen in javascript, namelijk screen.width en screen.height en deze wil ik in 2 php variabelen x en y zetten, hoe krijg ik dit voor elkaar??
VeerMansmaandag 13 december 2004 @ 15:37
quote:
Op maandag 13 december 2004 15:31 schreef ikke_ook het volgende:
ik heb 2 variabelen in javascript, namelijk screen.width en screen.height en deze wil ik in 2 php variabelen x en y zetten, hoe krijg ik dit voor elkaar??
Dat kan alleen met een refresh. Je zult de url waar je dat op wil doen moeten reloaden met de width en height parameters als query string (en die dan uitlezen met php)
ikke_ookmaandag 13 december 2004 @ 15:38
Ah zo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if (isset($_GET['width']) AND isset($_GET['height'])) {
  // output the geometry variables
  echo "Screen width is: ". $_GET['width'] ."<br />\n";
  echo "Screen height is: ". $_GET['height'] ."<br />\n";
} else {
  // pass the geometry variables
  // (preserve the original query string
  //  -- post variables will need to handled differently)

  echo "<script language='javascript'>\n";
  echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
           . "&width=\" + screen.width + \"&height=\" + screen.height;\n";
  echo "</script>\n";
  exit();
}
?> 


Jammer dat t niet anders kan...
VeerMansmaandag 13 december 2004 @ 15:43
zo dus ja
sabandinsdag 14 december 2004 @ 14:42
Ik ben op stage en heb even snel een klein script gemaakt, maar helaas werkt dit niet naar behoren.

Source van script

Let er niet op dat ik 'slecht' code, ik ben nog maar een beginner, maar wat er dus fout is;

Wanneer $ID niet numeriek is, geeft hij dit netjes aan.
Maar wanneer $ID niet in de DB te vinden is hoort hij te zeggen dat $ID neit in de DB zit, maar dit doet hij niet (blanko page).
VeerMansdinsdag 14 december 2004 @ 14:45
if($records = "1")

Geeft altijd true omdat dat kan, en $records zal 1 worden gemaakt

moet denk ik $records > 1 zijn of $records == 1 zijn
sabandinsdag 14 december 2004 @ 14:49
quote:
Op dinsdag 14 december 2004 14:45 schreef VeerMans het volgende:
if($records = "1")

Geeft altijd true omdat dat kan, en $records zal 1 worden gemaakt

moet denk ik $records > 1 zijn of $records == 1 zijn
if ($records > 0) {

Deed het hem
VeerMansdinsdag 14 december 2004 @ 15:02
quote:
Op dinsdag 14 december 2004 14:49 schreef saban het volgende:

[..]

if ($records > 0) {

Deed het hem
Oh shit.. offcourse
mscholdinsdag 14 december 2004 @ 15:17
quote:
Op dinsdag 14 december 2004 14:42 schreef saban het volgende:
Ik ben op stage en heb even snel een klein script gemaakt, maar helaas werkt dit niet naar behoren.

Source van script

Let er niet op dat ik 'slecht' code, ik ben nog maar een beginner, maar wat er dus fout is;
defineer 'slecht code'??
sabandinsdag 14 december 2004 @ 15:56
quote:
Op dinsdag 14 december 2004 15:17 schreef mschol het volgende:

[..]

defineer 'slecht code'??
Ik krijg wel eens reacties dat mijn scripts er niet uit zien (ik wou dat er buiten laten, en alleen antwoord op mijn vraag).

Dat het dus op één of ander manier netter (misschien ook sneller) kan.
DutchBlooddinsdag 14 december 2004 @ 16:47
quote:
Op dinsdag 14 december 2004 15:56 schreef saban het volgende:

[..]

Ik krijg wel eens reacties dat mijn scripts er niet uit zien (ik wou dat er buiten laten, en alleen antwoord op mijn vraag).

Dat het dus op één of ander manier netter (misschien ook sneller) kan.
Indente(inspringen met tab) bij bijv. if/else/for/while is geen overbodige luxe.
Dus:
1
2
3
4
5
6
7
8
9
10
11
<?php
while (iets) {
    
Doe iets;
    if(
Iets anders) {
        
Doe nog iets;
    }
    else {
        
Doe iets anders;
    }
}
?>
mscholdinsdag 14 december 2004 @ 17:18
quote:
Op dinsdag 14 december 2004 16:47 schreef DutchBlood het volgende:

[..]

Indente(inspringen met tab) bij bijv. if/else/for/while is geen overbodige luxe.
Dus:
[ code verwijderd ]
das idd wel overzichtelijker..
maar dat doie ik redelijk standaard..
ikke_ookdinsdag 14 december 2004 @ 19:56
Ik heb ook weer even een kort vraagje
Waarom zie je altijd (vaak) <br /> staan als het over php gaat terwijl <br> standaard is en ook werkt?
ensifexdinsdag 14 december 2004 @ 20:03
<br> is HTML <br/> is XHTML of het komt uit een XML document!!
Ra-zdinsdag 14 december 2004 @ 20:07
quote:
Op dinsdag 14 december 2004 19:56 schreef ikke_ook het volgende:
Ik heb ook weer even een kort vraagje
Waarom zie je altijd (vaak) <br /> staan als het over php gaat terwijl <br> standaard is en ook werkt?
om je documenten xhtml compatible te maken

http://www.w3.org/TR/xhtml1/
sabandinsdag 14 december 2004 @ 22:13
quote:
Op dinsdag 14 december 2004 17:18 schreef mschol het volgende:

[..]

das idd wel overzichtelijker..
maar dat doie ik redelijk standaard..
Normaal werk ik ook met tabs, maar ben op stage, helemaal geen software, alleen notepad (en dat is zo saai, zonder highlighting) + daarbij gaat het om een klein script ... (of ik ben gewoon lui )
Heliospandinsdag 14 december 2004 @ 22:17
quote:
Op dinsdag 14 december 2004 19:56 schreef ikke_ook het volgende:
Ik heb ook weer even een kort vraagje
Waarom zie je altijd (vaak) <br /> staan als het over php gaat terwijl <br> standaard is en ook werkt?
In XHTML moet élk element worden afgesloten. Omdat er geen </br>-sluittag bestaat (die slaat immers nergens op), zit de sluittag in het element zelf. Bij <br> wordt dat dus <br />, net als bij <hr /> en <img />
Swetseneggerdinsdag 14 december 2004 @ 22:27
quote:
Op dinsdag 14 december 2004 19:56 schreef ikke_ook het volgende:
Ik heb ook weer even een kort vraagje
Waarom zie je altijd (vaak) <br /> staan als het over php gaat terwijl <br> standaard is en ook werkt?
Zoals je al begrepen hebt is <br /> dus XHTML en de uitleg waarom dit nodig is heb je ook al gekregen.
Als toevoeging.
<br> is dus GEEN standaard meer officieel. Dat was in HTML 4.01 zo, maar HTML 4.01 is sinds 2000 vervangen door XHTML 1.0.

Ik raad je aan om toch maar eens goed naar XHTML te kijken omdat ik gemerkt heb dat een strakke XHTML w3c gevalideerde pagina over het algemeen op de meeste browsers minimaal acceptabel is. (dus niet dat een zichtbaar element in firefox opeens op een compleet andere plek staat als in IE)

Dus:
  • In XHTML moet ELKE tag afgesloten worden. tags welke geen sluit tag hebben moet je dus 'self closen'
  • Geneste tags moeten op volgorde worden gesloten:
    <p><span style="color:red;">fout</p></span>
    <p><span style="color:green;">goed</span></p>
  • ALLE tags moeten in kleine letterd <td> dus en geen <TD>
  • Alle values tussen quotes.

    en verder zijn er in strict een aantal tags welke je niet meer mag gebruiken
  • mscholdinsdag 14 december 2004 @ 23:13
    quote:
    Op dinsdag 14 december 2004 22:13 schreef saban het volgende:

    [..]

    Normaal werk ik ook met tabs, maar ben op stage, helemaal geen software, alleen notepad (en dat is zo saai, zonder highlighting) + daarbij gaat het om een klein script ... (of ik ben gewoon lui )
    daar heb je gelukkig Crimson voor (gratis, highliting, snel etc... etc...)
    en luiheid?? tja ik probeer het altijd te doen, heb het mezelf aangeleerd daar op te letten, ander wordt ik er niet meer wijs uit...
    mscholdinsdag 14 december 2004 @ 23:25
    quote:
    Geneste tags moeten op volgorde worden gesloten:
    <p><span style="color:red;">fout</p></span>
    <p><span style="color:green;">goed</span></p>
    dit vind ik meer dan logisch????
    quote:
    ALLE tags moeten in kleine letterd <td> dus en geen <TD>
    doe ik toch al
    quote:
    Alle values tussen quotes.
    doe ik volgens mij ook altijd al...
    gielingdinsdag 14 december 2004 @ 23:33
    Ok, ik probeer voor de gein even een gastenboekje in elkaar te krijgen, maar nu loop ik al gelijkt tegen een probleem op: de server staat in amerika. Nu heb ik al naar wat op phpfreakz gekenen en op php.net maar kan toch niet echt vinden wat ik nou moet doen.

    Heb op dit moment:

    1
    2
    3
    4
    <?php
    $now  
    = date("Y-m-d H:i:s");     
            
    $result = mysql_query("INSERT INTO Gastenboek (Naam, Email, Site, Bericht, Tijd) VALUES     ('$Naam', '$Email', '$Site', '$Bericht', '$now')");
    ?>


    en de tijd moet dus iets van 6 uur later.

    Nu heb ik dus de table 'Tijd' met 'Datetime' en als standaard value '0000-00-00 00:00:00'

    iemand een idee/antwoord? alvast tnx!
    mscholdinsdag 14 december 2004 @ 23:42
    dit is een reactie bij deze functie:
    quote:
    I was going crazy trying to read the table above -- alpha
    sorting by option scatters similar formats all over the place.
    So, I grouped the format characters by the part of the
    timestamp they return. Enjoy!

    Fmt Description
    DAY ===========================================================
    d Day of the month, 2 digits with leading zeros
    D A textual representation of a day, three letters
    j Day of the month without leading zeros
    l A full textual representation of the day of the week
    S English ordinal suffix for the day of the month, 2 characters
    w Numeric representation of the day of the week
    z The day of the year (starting from 0)

    WEEK ==========================================================
    W ISO-8601 week number of year, weeks starting on Monday (added in PHP 4.1.0)

    MONTH =========================================================
    F A full textual representation of a month, such as January or March
    m Numeric representation of a month, with leading zeros
    M A short textual representation of a month, three letters
    n Numeric representation of a month, without leading zeros
    t Number of days in the given month

    YEAR ==========================================================
    L Whether it's a leap year
    Y A full numeric representation of a year, 4 digits
    y A two digit representation of a year

    TIME ==========================================================
    a Lowercase Ante meridiem and Post meridiem
    A Uppercase Ante meridiem and Post meridiem
    B Swatch Internet time
    g 12-hour format of an hour without leading zeros
    G 24-hour format of an hour without leading zeros
    h 12-hour format of an hour with leading zeros
    H 24-hour format of an hour with leading zeros
    i Minutes with leading zeros
    s Seconds, with leading zeros

    TIMEZONE ======================================================
    I Whether or not the date is in daylights savings time
    O Difference to Greenwich time (GMT) in hours
    T Timezone setting of this machine
    Z Timezone offset in seconds. Zones west of UTC are negative, east are positive.


    FULL DATETIME =================================================
    c ISO 8601 date (added in PHP 5)
    r RFC 2822 formatted date
    U Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
    nog een:
    quote:
    needed to change the time to the correct local time for inserting it with now() in a mysql update query.
    i came up with this:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    php
    $nowdate
    =time();
    // this are the correct dst values for norway and chile i fetched from timeanddate.com
    $chile_dst_end=mktime(0,0,0,3,14,date("Y"));
    $chile_dst_start=mktime(0,0,0,10,10,date("Y"));
    // the server is located in norway
    $norge_dst_end=mktime(3,0,0,10,31,date("Y"));
    $norge_dst_start=mktime(2,0,0,3,28,date("Y"));

    //Now it checks that it is in the six hour margin and so on..
    if ($nowdate &gt;= $norge_dst_start && $nowdate &lt;= $chile_dst_start) $hourdiff=6;
    elseif (
    $nowdate &gt;= $chile_dst_start && $nowdate &lt;= $norge_dst_end) $hourdiff=5;
    elseif (
    $nowdate &gt;= $chile_dst_end && $nowdate &lt;= $norge_dst_start) $hourdiff=5;
    else
    $hourdiff=4;

    // here i substract the amount of hours there are between chile and norway from the current server time
    $query="INSERT INTO table (time) VALUES (DATE_SUB(NOW(), INTERVAL $hourdiff HOUR)) ";
    ?>
    quote:
    Let me know if it helped you or if there is a better way to do it..


    [ Bericht 19% gewijzigd door mschol op 14-12-2004 23:48:37 ]
    DutchBloodwoensdag 15 december 2004 @ 09:48
    quote:
    Op dinsdag 14 december 2004 23:25 schreef mschol het volgende:
    doe ik volgens mij ook altijd al...
    Ook integers zoals width="30" moeten tussen qoutes.

    En dingen bij een checkbox zoals nu <input type="radio" checked> zijn in xhtml <input type="radio" checked="checked" />
    VeerManswoensdag 15 december 2004 @ 09:50
    quote:
    Op woensdag 15 december 2004 09:48 schreef DutchBlood het volgende:

    [..]

    Ook integers zoals width="30" moeten tussen qoutes.

    En dingen bij een checkbox zoals nu <input type="radio" checked> zijn in xhtml <input type="radio" checked="checked" />
    Integers hoeven niet tussen quotes in html, alleen pamameters met spaties
    Het staat wel netter
    DutchBloodwoensdag 15 december 2004 @ 09:59
    quote:
    Op woensdag 15 december 2004 09:50 schreef VeerMans het volgende:

    [..]

    Integers hoeven niet tussen quotes in html, alleen pamameters met spaties
    Het staat wel netter
    in xthml wel?
    quote:
    Attribute quotes are now mandatory.
    http://www.htmlgoodies.com/tutors/xhtml.html
    VeerManswoensdag 15 december 2004 @ 10:03
    quote:
    Op woensdag 15 december 2004 09:59 schreef DutchBlood het volgende:

    [..]

    in xthml wel?
    [..]

    http://www.htmlgoodies.com/tutors/xhtml.html
    sorry had t hele stukje niet gelezen, in xhtml wel
    sabanwoensdag 15 december 2004 @ 10:24
    quote:
    Op dinsdag 14 december 2004 23:13 schreef mschol het volgende:

    [..]

    daar heb je gelukkig Crimson voor (gratis, highliting, snel etc... etc...)
    en luiheid?? tja ik probeer het altijd te doen, heb het mezelf aangeleerd daar op te letten, ander wordt ik er niet meer wijs uit...
    Eindelijk een gratis editor die er een beetje fatsoenlijk uitziet, maar wel jammer dat ik hier op stage geen rechten heb om software te installeren.
    sabanwoensdag 15 december 2004 @ 13:28
    Ik gebruik als timestamp voor mjin database;
    20041512 (2004 15 12 = 2004 15 december).

    Ik zit te denken hoe ik bij 20041512 een week bij kan optellen.
    Zodat het dus 20042212 wordt ?

    Heb date/mktime/getdate geprobeert, ik kom er niet echt helemaal uit ..
    VeerManswoensdag 15 december 2004 @ 13:32
    php heeft geweldige tijdsfuncties, dus waarom zou je er zelf een bedenken?

    mktime() is een geweldige functie
    gielingwoensdag 15 december 2004 @ 13:32
    quote:
    Op dinsdag 14 december 2004 23:42 schreef mschol het volgende:
    dit is een reactie bij deze functie:
    [..]

    nog een:
    [..]
    [ code verwijderd ]

    [..]
    Tnx, die onderste vind ik vrij onduidelijk, maar waar/hoe moet ik die O (GMT time) dan neerzetten?
    sabanwoensdag 15 december 2004 @ 13:34
    quote:
    Op woensdag 15 december 2004 13:32 schreef VeerMans het volgende:
    php heeft geweldige tijdsfuncties, dus waarom zou je er zelf een bedenken?

    mktime() is een geweldige functie
    Werkt voor mij het makkelijkst.
    Hoe later de datum/timestamp des te groter mijn getal is, dan is het makkelijk te soorteren.
    VeerManswoensdag 15 december 2004 @ 13:39
    quote:
    Op woensdag 15 december 2004 13:34 schreef saban het volgende:

    [..]

    Werkt voor mij het makkelijkst.
    Hoe later de datum/timestamp des te groter mijn getal is, dan is het makkelijk te soorteren.
    Ja.. mktime ook

    Maargoed je wilt t niet, dan moet je dus je stamp in 3en splitsen en bij de dagen 7 optellen. Als hij het aantal dagen in een maand overschreid (Hoe weet jij of het een schrikkeljaar is?) de maand verhogen, en als hij het aantal maanden in een jaar overschreid het jaar verhogen. En dan de stamp weer bij elkaar voegen
    sabanwoensdag 15 december 2004 @ 13:42
    quote:
    Op woensdag 15 december 2004 13:39 schreef VeerMans het volgende:

    [..]

    Ja.. mktime ook

    Maargoed je wilt t niet, dan moet je dus je stamp in 3en splitsen en bij de dagen 7 optellen. Als hij het aantal dagen in een maand overschreid (Hoe weet jij of het een schrikkeljaar is?) de maand verhogen, en als hij het aantal maanden in een jaar overschreid het jaar verhogen. En dan de stamp weer bij elkaar voegen
    Het probleem is, niet iedere maand heeft evenveel dagen, maar ik dacht dat er reeds een functie voor bestond, blijkbaar niet.
    Maar mktime() kan het niet ?
    VeerManswoensdag 15 december 2004 @ 13:45
    quote:
    Op woensdag 15 december 2004 13:42 schreef saban het volgende:

    [..]

    Het probleem is, niet iedere maand heeft evenveel dagen, maar ik dacht dat er reeds een functie voor bestond, blijkbaar niet.
    Maar mktime() kan het niet ?
    ja date("t", mktime(uur, minuut, seconde,maand, dag, jaar)) geeft het aantal dagen in de betreffende maand weer
    Roonaanwoensdag 15 december 2004 @ 14:10
    * Roonaan zou inderdaad ook gewoon mktime of strtotime gaan gebruiken. Dat werkt stukken makkelijker.
    sabanwoensdag 15 december 2004 @ 15:00
    Ik heb ven geprobeert een simpel script te maken

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?php

    $timestamp = "20041223";

    $jaar = substr($timestamp,0,4);
    $maand = substr($timestamp,4,2);
    $dag = substr($timestamp,-2,2);

    $done = "no";

    if ($dag > 21 AND $maand != 12 AND $done == "no")
    {
       $dag = 1;
       $maand = substr($timestamp,4,2) + 1;
       $done = "yes";
       echo "1 <br>";
    }

    if ($dag > 21 AND $maand == 12 AND $done == "no")
    {
       $dag = 1;
       $maand = 1;
       $jaar = substr($timestamp,0,4) + 1;
       $done = "yes";
       echo "2 <br>";
    }

    if (21 > $dag AND $maand != 12 AND $done == "no")
    {
       $dag = substr($timestamp,-2,2) + 7;
       $done = "yes";
       echo "3 <br>";
    }

    if (21 > $dag AND $maand = 12 AND $done == "no")
    {
       $dag = substr($timestamp,-2,2) + 7;
       $done = "yes";
       echo "4 <br>";
    }

    echo "$jaar $maand $dag";

    ?>


    Resulteert;
    2
    2005 12 1

    Dus dit stukje is gaan werken;
    1
    2
    3
    4
    5
    6
    7
    8
    if ($dag > 21 AND $maand == 12 AND $done == "no")
    {
       $dag = 1;
       $maand = 1;
       $jaar = substr($timestamp,0,4) + 1;
       $done = "yes";
       echo "2 <br>";
    }

    Waarom maakt hij van $maand geen 1 ?
    DutchBloodwoensdag 15 december 2004 @ 17:57
    Let op de ene $maand =(de ene = dus) bij de laatste if.

    En maak er anders even een switch statement van ipv. al die if statements. Dat is overzichterlijker.
    Roonaanwoensdag 15 december 2004 @ 18:04
    Dan zou ik toch het volgende doen:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $timestamp = "20041223";

    $jaar = substr($timestamp,0,4);
    $maand = substr($timestamp,4,2);
    $dag = substr($timestamp,-2,2);

    $date = mktime(0,0,1,$maand, $dag+7, $jaar);

    echo date('Y m d', $date);
    ?>
    sabanwoensdag 15 december 2004 @ 20:43
    quote:
    Op woensdag 15 december 2004 18:04 schreef Roönaän het volgende:
    Dan zou ik toch het volgende doen:
    [ code verwijderd ]

    Alleen, kan je me ook vertellen wat er fout/verkeerd is aan mijn script ?
    sabanwoensdag 15 december 2004 @ 20:44
    quote:
    Op woensdag 15 december 2004 17:57 schreef DutchBlood het volgende:
    Let op de ene $maand =(de ene = dus) bij de laatste if.

    En maak er anders even een switch statement van ipv. al die if statements. Dat is overzichterlijker.
    Aha, nu zie ik het, thanks
    Swetseneggerwoensdag 15 december 2004 @ 21:53
    Wat is wijsheid.
    Ik wil een weblogje bouwen. Hou ik log en reacties in dezelfde database of zal ik ze scheiden....
    mscholwoensdag 15 december 2004 @ 22:01
    quote:
    Op woensdag 15 december 2004 21:53 schreef Swetsenegger het volgende:
    Wat is wijsheid.
    Ik wil een weblogje bouwen. Hou ik log en reacties in dezelfde database of zal ik ze scheiden....
    ik zou ze scheiden.. dan is het wat overzichtelijker??
    Swetseneggerwoensdag 15 december 2004 @ 22:06
    quote:
    Op woensdag 15 december 2004 22:01 schreef mschol het volgende:

    [..]

    ik zou ze scheiden.. dan is het wat overzichtelijker??
    Hoe vaak kijk je met je query browser letterlijk in je DB?
    Zal mij aan mijn reet roesten hoe die db eruit ziet, mijn script filtert het goede er wel uit
    Ik bedoel meer of ik wat over het hoofd zie wat mis kan gaan wanneer ik log en reactie in 1 db prop.
    DutchBloodwoensdag 15 december 2004 @ 22:18
    Ik zou ze in een aparte tabel gooien. Omdat er ws minder items zijn dan reacties zou het zonde zijn om elke keer als je een item wil ophalen je de database ook door de reacties moet laten bladeren.
    Lightwoensdag 15 december 2004 @ 22:33
    quote:
    Op woensdag 15 december 2004 22:06 schreef Swetsenegger het volgende:

    [..]

    Hoe vaak kijk je met je query browser letterlijk in je DB?
    Zal mij aan mijn reet roesten hoe die db eruit ziet, mijn script filtert het goede er wel uit
    Ik bedoel meer of ik wat over het hoofd zie wat mis kan gaan wanneer ik log en reactie in 1 db prop.
    Een blog plaats je zelf (neem ik tenminste aan), een reactie kan door een willekeurig persoon geplaatst worden. En een reactie hoort bij een blog, een blog is een min of meer op zichzelf staand stukje tekst. Kortom, ik zou het in 2 afzonderlijke tabellen gooien.
    Swetseneggerwoensdag 15 december 2004 @ 22:36
    Mjah, al die argumenten had ik ook aan gedacht. Simpelweg een identificatie aan de reacties meegeven voorkomt al dat je heel je db door moet. gewoon een where clausule in de query.
    Juist OMDAT de reactie bij de blog hoort leek 1 tabel me makkelijker.

    Maar ik zal de overheersende tendens mbt de adviezen niet in de wind slaan. twee tabellen it is
    ikke_ookwoensdag 15 december 2004 @ 22:47
    Ik heb een vraagje, is er een mogelijkheid om een bepaalde waarde in een tabel met 1 query 1 op te hogen? Ik heb een cel waarin staat hoeveel reacties een bepaald gastenboek bevat, en als er dan gepost wordt wil ik dit graag op een snelle en goede manier updaten. Kan dat?
    DutchBloodwoensdag 15 december 2004 @ 22:54
    quote:
    Op woensdag 15 december 2004 22:47 schreef ikke_ook het volgende:
    Ik heb een vraagje, is er een mogelijkheid om een bepaalde waarde in een tabel met 1 query 1 op te hogen? Ik heb een cel waarin staat hoeveel reacties een bepaald gastenboek bevat, en als er dan gepost wordt wil ik dit graag op een snelle en goede manier updaten. Kan dat?
    UPDATE $table SET aantal = aantal+1

    Dacht ik.
    ikke_ookwoensdag 15 december 2004 @ 22:59
    quote:
    Op woensdag 15 december 2004 22:54 schreef DutchBlood het volgende:

    [..]

    UPDATE $table SET aantal = aantal+1

    Dacht ik.
    $table is de tabelnaam?
    En dat aantal moet je er dan niet via een query uittrekken??
    Roonaanwoensdag 15 december 2004 @ 23:12
    quote:
    Op woensdag 15 december 2004 22:47 schreef ikke_ook het volgende:
    Ik heb een vraagje, is er een mogelijkheid om een bepaalde waarde in een tabel met 1 query 1 op te hogen? Ik heb een cel waarin staat hoeveel reacties een bepaald gastenboek bevat, en als er dan gepost wordt wil ik dit graag op een snelle en goede manier updaten. Kan dat?
    Je moet er een auto_increment veld van maken.
    gielingwoensdag 15 december 2004 @ 23:15
    quote:
    Op woensdag 15 december 2004 13:32 schreef gieling het volgende:

    [..]

    Tnx, die onderste vind ik vrij onduidelijk, maar waar/hoe moet ik die O (GMT time) dan neerzetten bij date()?
    iemand?
    PsychoBoBwoensdag 15 december 2004 @ 23:25
    Ook ff een vraagje

    hoe kan ik in een form valideren op getal...
    dus hoe kan ik checken of datgene wat in een tekstveld is ingevoerd ook daadwerkelijk een nummer??
    Ik kijk nu alleen of hij leeg is.

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

    if (!$_POST['variable']) { die("<br> Foutmelding...");}

    BVD...

    JR
    ikke_ookwoensdag 15 december 2004 @ 23:30
    quote:
    Op woensdag 15 december 2004 23:12 schreef Roönaän het volgende:

    [..]

    Je moet er een auto_increment veld van maken.
    Dat werkt niet, het gaat om een fotoboek, het fotoboek bevat verschillende albums.
    Deze albums staan in een tabel. Je kunt op ieder fotoboek afzonderlijk reageren, al deze reacties staan in 1 tabel. Nu wil ik dus dat er in een veld in de fotoalbumtabel staat hoeveel reacties er op dat album zijn, en deze moet dus ook ge-update worden als er een reactie bij wordt geplaatst.
    ikke_ookwoensdag 15 december 2004 @ 23:32
    quote:
    Op woensdag 15 december 2004 23:25 schreef PsychoBoB het volgende:
    Ook ff een vraagje

    hoe kan ik in een form valideren op getal...
    dus hoe kan ik checken of datgene wat in een tekstveld is ingevoerd ook daadwerkelijk een nummer??
    Ik kijk nu alleen of hij leeg is.

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

    if (!$_POST['variable']) { die("<br> Foutmelding...");}

    BVD...

    JR
    if(is_numeric($_POST['variable']))
    ikke_ookwoensdag 15 december 2004 @ 23:35
    quote:
    Op woensdag 15 december 2004 23:15 schreef gieling het volgende:

    [..]

    iemand?
    1echo date("D M j G:i:s T O Y");   // Sat Mar 10 15:16:08 MST +0200 2001
    mscholwoensdag 15 december 2004 @ 23:43
    quote:
    Op woensdag 15 december 2004 22:33 schreef Light het volgende:

    [..]

    Een blog plaats je zelf (neem ik tenminste aan), een reactie kan door een willekeurig persoon geplaatst worden. En een reactie hoort bij een blog, een blog is een min of meer op zichzelf staand stukje tekst. Kortom, ik zou het in 2 afzonderlijke tabellen gooien.
    zoiets had ik dus ook min of meer in gedachte ergens in me achterhoofd...
    DutchBlooddonderdag 16 december 2004 @ 09:34
    quote:
    Op woensdag 15 december 2004 23:25 schreef PsychoBoB het volgende:
    Ook ff een vraagje

    hoe kan ik in een form valideren op getal...
    dus hoe kan ik checken of datgene wat in een tekstveld is ingevoerd ook daadwerkelijk een nummer??
    Ik kijk nu alleen of hij leeg is.

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

    if (!$_POST['variable']) { die("<br> Foutmelding...");}

    BVD...

    JR
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    if (ereg('[0-9]+',$_POST['var'])) {
    //Is getal
    }
    else {
    //Is geen getal
    }
    ?>

    Gebruik ik meestal.
    VeerMansdonderdag 16 december 2004 @ 09:35
    quote:
    Op donderdag 16 december 2004 09:34 schreef DutchBlood het volgende:

    [..]
    [ code verwijderd ]

    Gebruik ik meestal.
    if(is_numeric($_POST['var']))
    {
    werkt ook
    }

    [ Bericht 2% gewijzigd door VeerMans op 16-12-2004 09:58:18 ]
    DutchBlooddonderdag 16 december 2004 @ 09:35
    quote:
    Op woensdag 15 december 2004 22:59 schreef ikke_ook het volgende:

    [..]

    $table is de tabelnaam?
    En dat aantal moet je er dan niet via een query uittrekken??
    $table is inderdaad de tabelnaam.

    Heb het ff geprobeerd, dat hoeft niet.
    Roonaandonderdag 16 december 2004 @ 09:55
    quote:
    Op donderdag 16 december 2004 09:34 schreef DutchBlood het volgende:

    [..]
    [ code verwijderd ]

    Gebruik ik meestal.
    Beter om jezelf is_numeric aan te leren. Die zal vast verder geoptimaliseerd zijn dan ereg() wat dat betreft. Sowieso zou je voor zoiets preg() kunnen gebruiken, vanwege efficientie etc.
    Roonaandonderdag 16 december 2004 @ 09:58
    quote:
    Op woensdag 15 december 2004 23:30 schreef ikke_ook het volgende:

    [..]

    Dat werkt niet, het gaat om een fotoboek, het fotoboek bevat verschillende albums.
    Deze albums staan in een tabel. Je kunt op ieder fotoboek afzonderlijk reageren, al deze reacties staan in 1 tabel. Nu wil ik dus dat er in een veld in de fotoalbumtabel staat hoeveel reacties er op dat album zijn, en deze moet dus ook ge-update worden als er een reactie bij wordt geplaatst.
    Sowieso moet je dan 3 queries hebben, want een update en insert in ene gaat hem niet worden.
    Voor reacties kan je dan nog steeds een auto_increment id veld gebruiken.
    Als je dan een insert gedaan hebt, doe je simpelweg een count(*) query dat getal update je vervolgens in je album. Dat is het eenvoudigste denk ik.
    gielingdonderdag 16 december 2004 @ 10:55
    quote:
    Op woensdag 15 december 2004 23:35 schreef ikke_ook het volgende:

    [..]
    [ code verwijderd ]
    Tnx, ga het vanavond even proberen
    VeerMansdonderdag 16 december 2004 @ 11:33
    Waarom werkt dit wel op een Windows server en niet op een linux

    1$configfile = "<?php\r\n\$host=\"" . $_POST['SQLHost'] . "\";\r\n\$user=\"" . $_POST['SQLUser'] . "\";\r\n\$password=\"" . $_POST['SQLPass'] . "\";\r\n\$database=\"" . $_POST['SQLDB'] . "\";\r\n?>";
    Roonaandonderdag 16 december 2004 @ 11:38
    Linux heeft \n als linebreak.
    VeerMansdonderdag 16 december 2004 @ 11:40
    quote:
    Op donderdag 16 december 2004 11:38 schreef Roönaän het volgende:
    Linux heeft \n als linebreak.
    \r\n werkt ook, en dan slaat ie em gewoon over.

    Want het probleem is dat de string dus gewoon leeg (!?) blijft.
    Roonaandonderdag 16 december 2004 @ 11:46
    Anders even

    1"\";\r\n?>"; 

    vervangen door
    1"\";\r\n?".">";
    jeroen-heeft-koffie-nodigdonderdag 16 december 2004 @ 12:29
    hoe zet ik dit in 1 geheel?:

    $sql = "UPDATE `distribiteurs` SET `Voornaam` = '".$nieuw."' WHERE `Voornaam` = '".$oud."' LIMIT 1";
    $sql = "SELECT Idnummer FROM distribiteurs ORDER BY Idnummer DESC";
    Roonaandonderdag 16 december 2004 @ 12:34
    niet?

    maar sowieso zou ik die update-where anders doen:

    "where idnummer = someid " ipv "where voornaam=oud"

    Krijg je straks dat alle theo's klaas heten omdat je er één wilde veranderen.
    jeroen-heeft-koffie-nodigdonderdag 16 december 2004 @ 13:03
    quote:
    Op donderdag 16 december 2004 12:34 schreef Roönaän het volgende:
    niet?

    maar sowieso zou ik die update-where anders doen:

    "where idnummer = someid " ipv "where voornaam=oud"

    Krijg je straks dat alle theo's klaas heten omdat je er één wilde veranderen.
    ja idd, dit had ik al gedaan maar thanks

    ik heb nu dus dit,

    $sql = "UPDATE `distribiteurs` SET `Voornaam` = '".$nieuw."' WHERE `Idnummer` = '".$select."' LIMIT 1";
    $sql = "SELECT Idnummer FROM distribiteurs ORDER BY Idnummer DESC";

    alleen hoe zet ik dit in één $sql ??

    //EDIT ik heb een 2e query aangemaakt, of is het ook op een andere manier te doen?

    [ Bericht 4% gewijzigd door jeroen-heeft-koffie-nodig op 16-12-2004 13:24:46 ]
    VeerMansdonderdag 16 december 2004 @ 13:39
    quote:
    Op donderdag 16 december 2004 13:03 schreef jeroen-heeft-koffie-nodig het volgende:

    [..]

    ja idd, dit had ik al gedaan maar thanks

    ik heb nu dus dit,

    $sql = "UPDATE `distribiteurs` SET `Voornaam` = '".$nieuw."' WHERE `Idnummer` = '".$select."' LIMIT 1";
    $sql = "SELECT Idnummer FROM distribiteurs ORDER BY Idnummer DESC";

    alleen hoe zet ik dit in één $sql ??

    //EDIT ik heb een 2e query aangemaakt, of is het ook op een andere manier te doen?
    Niet, je kan niet selecteren en updaten in 1 query.

    Wat zou het voordeel daarop zijn?
    VeerMansdonderdag 16 december 2004 @ 13:41
    quote:
    Op donderdag 16 december 2004 11:46 schreef Roönaän het volgende:
    Anders even
    [ code verwijderd ]

    vervangen door
    [ code verwijderd ]
    Nee de string blijft gewoon leeg
    BMHdonderdag 16 december 2004 @ 14:58
    Probleem!

    Ik kan via lycos webcenter geen kant en klare php sites installeren omdat "er niet genoeg databases" zijn. Ik heb 1 databse, die is leeg. Wat moet ik in godsnaam doen :S
    jeroen-heeft-koffie-nodigdonderdag 16 december 2004 @ 15:08
    quote:
    Op donderdag 16 december 2004 14:58 schreef BMH het volgende:
    Probleem!

    Ik kan via lycos webcenter geen kant en klare php sites installeren omdat "er niet genoeg databases" zijn. Ik heb 1 databse, die is leeg. Wat moet ik in godsnaam doen :S
    DROP database?
    BMHdonderdag 16 december 2004 @ 15:12
    quote:
    Op donderdag 16 december 2004 15:08 schreef jeroen-heeft-koffie-nodig het volgende:

    [..]

    DROP database?
    eeeeuuh...

    Dit zie ik:
    VeerMansdonderdag 16 december 2004 @ 15:13
    quote:
    Op donderdag 16 december 2004 14:58 schreef BMH het volgende:
    Probleem!

    Ik kan via lycos webcenter geen kant en klare php sites installeren omdat "er niet genoeg databases" zijn. Ik heb 1 databse, die is leeg. Wat moet ik in godsnaam doen :S
    Je moet al je tabellen in die ene database prakken omdat je geen rechten hbt om nieuwe databases aan te maken
    jeroen-heeft-koffie-nodigdonderdag 16 december 2004 @ 15:17
    quote:
    Op donderdag 16 december 2004 15:12 schreef BMH het volgende:

    [..]

    eeeeuuh...

    Dit zie ik:
    [afbeelding]
    ik weet niet of het kan, en of het de bedoeling is maar je moet daar dan dit invoeren:
    DROP DATABASE `Je databsenaam!`
    BMHdonderdag 16 december 2004 @ 15:21
    quote:
    Op donderdag 16 december 2004 15:17 schreef jeroen-heeft-koffie-nodig het volgende:

    [..]

    ik weet niet of het kan, en of het de bedoeling is maar je moet daar dan dit invoeren:
    DROP DATABASE `Je databsenaam!`
    "VERWIJDER DATABASE" opdrachten zijn geblokkeerd.
    VeerMansdonderdag 16 december 2004 @ 15:24
    quote:
    Op donderdag 16 december 2004 15:13 schreef VeerMans het volgende:

    [..]

    Je moet al je tabellen in die ene database prakken omdat je geen rechten hbt om nieuwe databases aan te maken
    VeerMansdonderdag 16 december 2004 @ 16:12
    weet echt niemand waarom dit wel op een Windows server en niet op een linux
    Op een linux machiene blijft te string leeg (je zou zeggen dat er dan minstens ='s in moetne staan). Hij lijkt hem over te slaan

    1$configfile = "<?php\r\n\$host=\"" . $_POST['SQLHost'] . "\";\r\n\$user=\"" . $_POST['SQLUser'] . "\";\r\n\$password=\"" . $_POST['SQLPass'] . "\";\r\n\$database=\"" . $_POST['SQLDB'] . "\";\r\n?>";
    jeroen-heeft-koffie-nodigdonderdag 16 december 2004 @ 16:42
    quote:
    Op donderdag 16 december 2004 16:12 schreef VeerMans het volgende:
    weet echt niemand waarom dit wel op een Windows server en niet op een linux
    Op een linux machiene blijft te string leeg (je zou zeggen dat er dan minstens ='s in moetne staan). Hij lijkt hem over te slaan
    [ code verwijderd ]
    moet dit: <?php\r\n\$host
    niet dit zijn: "<?php \r\n\$host
    let op de spatie achter < ?php
    VeerMansdonderdag 16 december 2004 @ 16:52
    quote:
    Op donderdag 16 december 2004 16:42 schreef jeroen-heeft-koffie-nodig het volgende:

    [..]

    moet dit: <?php\r\n\$host
    niet dit zijn: "<?php \r\n\$host
    let op de spatie achter < ?php
    problem solved, hij viel blijkbaar over <?php
    <? doet het wel (brakke php install ofzo )
    Roonaandonderdag 16 december 2004 @ 18:35
    en als je "<"."?php" doet ipv "<?php

    ?

    -r-
    VeerMansdonderdag 16 december 2004 @ 18:56
    quote:
    Op donderdag 16 december 2004 18:35 schreef Roönaän het volgende:
    en als je "<"."?php" doet ipv "<?php

    ?

    -r-
    werkte ook niet
    Zjappadonderdag 16 december 2004 @ 19:30
    Ik zit hier al 2 uur te prutsen aan een stukje PHP en ik kom er echt niet uit.

    Ik heb een script dat volgende code kan genereren
    1
    2
    <P><STRONG>Test!!!</STRONG></P>
    <P>Dit is een test</P>


    Nu wil ik die eerste <P> tag laten verdwijnen waar ik volgende functie voor gebruik:
    1
    2
    3
    4
    <?php
    $tekst
    = ltrim($tekst, "<P>");
    $tekst = ltrim($tekst, "</P>");
    ?>


    Het probleem is nu dat ik volgende code terugkrijg:
    1
    2
    STRONG>Test!!!</STRONG></P>
    <P>Dit is een test</P>


    Zoals je kan zien is het < - teken voor strong ook verdwenen terwijl dit niet mag.

    Ziet iemand wat ik verkeerd doe?
    Zjappadonderdag 16 december 2004 @ 19:43
    Ik heb het al opgelost als volgt

    1
    2
    3
    4
    5
    6
    7
    <?php
    if(substr($tekst,0,3) == '<P>')
    {
        
    $tekst = preg_replace('/<P>/',"",$tekst,1);
        
    $tekst = preg_replace('/<\/P>/',"",$tekst,1);
    }
    ?>
    huizdonderdag 16 december 2004 @ 21:00
    quote:
    Op woensdag 15 december 2004 22:36 schreef Swetsenegger het volgende:
    Juist OMDAT de reactie bij de blog hoort leek 1 tabel me makkelijker.
    Volgens mij krijg je dat praktisch niet eens voor elkaar, maak je dan voor elke reactie 1 nieuwe kolom aan? Of voeg je alle reacties samen in 1 veld?

    Gelukkig maak je toch twee tabellen Als je in de tabel met reacties meer opslaat dan alleen de reactie (bv ook ip, datum, username of wat dan ook) dan kun je daar ook nog leuke dingen mee, zoals het totaal aantal berichten van een user weergeven, of in 1 keer verwijderen bv.
    Dark_Killahdonderdag 16 december 2004 @ 21:18
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php         
    <div align="center">
    <TABLE WIDTH="800" BORDER="0" CELLPADDING="0" CELLSPACING="0">    
       <TR>
          <TD COLSPAN="6">
             <IMG SRC="images/index_01.gif" WIDTH="800" HEIGHT="149" ALT=""></TD>
       </TR>
       <TR>
          <TD WIDTH="134" HEIGHT="440">dsafadsf</TD>
          <TD ROWSPAN="2">
             <IMG SRC="images/index_03.gif" WIDTH="17" HEIGHT="451" ALT=""></TD>
          <TD WIDTH="504" HEIGHT="440">asfdasfd</TD>
          <TD ROWSPAN="2">
             <IMG SRC="images/index_05.gif" WIDTH="20" HEIGHT="451" ALT=""></TD>
          <TD WIDTH="115" HEIGHT="451" ROWSPAN="2">dfsafdsa</TD>
          <TD ROWSPAN="2">
             <IMG SRC="images/index_07.gif" WIDTH="10" HEIGHT="451" ALT=""></TD>
       </TR>
       <TR>
          <TD>
             <IMG SRC="images/index_08.gif" WIDTH="134" HEIGHT="11" ALT=""></TD>
          <TD>
             <IMG SRC="images/index_09.gif" WIDTH="504" HEIGHT="11" ALT=""></TD>
       </TR>
    </TABLE></div>
    ?>

    Ik ben nogal een leek maar hij zegt "arse error: parse error, unexpected '<' in C:\domains\darkkillah.com\wwwroot\index.php on line 2". Kan iemand mij helpen?
    Heliospandonderdag 16 december 2004 @ 21:21
    Je hebt html binnen phptags gezet, dat kan niet (tenzij je voor de html echo ' zet en na de html echo ';. De html moet buiten de <? en ?> staan.
    Dark_Killahdonderdag 16 december 2004 @ 21:27
    huh, bij mij in mijn code staan er geen html tags hoor..
    DutchBlooddonderdag 16 december 2004 @ 21:28
    quote:
    Op donderdag 16 december 2004 21:27 schreef Dark_Killah het volgende:
    huh, bij mij in mijn code staan er geen html tags hoor..
    <TD><IMG> Zijn HTML tags?!
    Dark_Killahdonderdag 16 december 2004 @ 21:30
    ow.. op die manier. Dankje .
    Dark_Killahdonderdag 16 december 2004 @ 21:35
    Parse error: parse error, unexpected '<', expecting ',' or ';' in C:\domains\darkkillah.com\wwwroot\index.php on line 3

    ?
    DutchBlooddonderdag 16 december 2004 @ 21:40
    Wat doet die <?php daar?
    mscholdonderdag 16 december 2004 @ 21:42
    @ Dark_Killah

    waarom zet je pure HTML in php tags???
    Dark_Killahdonderdag 16 december 2004 @ 21:47
    Ik wil graag iets doen met includen..
    DutchBlooddonderdag 16 december 2004 @ 21:47
    Inderdaad, weg met die <?php tags.
    DutchBlooddonderdag 16 december 2004 @ 21:51
    quote:
    Op donderdag 16 december 2004 21:47 schreef Dark_Killah het volgende:
    Ik wil graag iets doen met includen..
    Zoek eerst even de echte basis uit dan, dus wanneer je uberhaupt php-tags gebruikt etc.
    mscholdonderdag 16 december 2004 @ 21:51
    als je zoiets wilt moet je het volgende doen:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?php
    php
    echo('       
    <div align="center">
    <TABLE WIDTH="800" BORDER="0" CELLPADDING="0" CELLSPACING="0">    
       <TR>
          <TD COLSPAN="6">
             <IMG SRC="images/index_01.gif" WIDTH="800" HEIGHT="149" ALT=""></TD>
       </TR>
       <TR>
          <TD WIDTH="134" HEIGHT="440">dsafadsf</TD>
          <TD ROWSPAN="2">
             <IMG SRC="images/index_03.gif" WIDTH="17" HEIGHT="451" ALT=""></TD>
          <TD WIDTH="504" HEIGHT="440">asfdasfd</TD>
          <TD ROWSPAN="2">
             <IMG SRC="images/index_05.gif" WIDTH="20" HEIGHT="451" ALT=""></TD>
          <TD WIDTH="115" HEIGHT="451" ROWSPAN="2">dfsafdsa</TD>
          <TD ROWSPAN="2">
             <IMG SRC="images/index_07.gif" WIDTH="10" HEIGHT="451" ALT=""></TD>
       </TR>
       <TR>
          <TD>
             <IMG SRC="images/index_08.gif" WIDTH="134" HEIGHT="11" ALT=""></TD>
          <TD>
             <IMG SRC="images/index_09.gif" WIDTH="504" HEIGHT="11" ALT=""></TD>
       </TR>
    </TABLE></div>'
    );
    ?>
    Dark_Killahdonderdag 16 december 2004 @ 21:57
    Parse error: parse error, unexpected T_ECHO in C:\domains\darkkillah.com\wwwroot\index.php on line 3

    .. . Sorry dat ik jullie lastig val..
    DutchBlooddonderdag 16 december 2004 @ 22:04
    Even die PHP van de 2de regel weghalen.
    SuperRembodonderdag 16 december 2004 @ 22:14
    quote:
    Op donderdag 16 december 2004 21:51 schreef mschol het volgende:
    als je zoiets wilt moet je het volgende doen:
    [ code verwijderd ]
    Als je dat wil dan doe je dat 't makkelijkst zo
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
      // Hier een zooi platte html
    ?>
    <div>
      Hier wat html code
    </div>
    <?
      // Hier nog meer php code
    ?>

    (Dit is wel heel basic, zelfs voor dummies)
    Heliospandonderdag 16 december 2004 @ 22:15
    quote:
    Op donderdag 16 december 2004 21:47 schreef Dark_Killah het volgende:
    Ik wil graag iets doen met includen..
    Je zou bijvoorbeeld zoiets kunnen gebruiken:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    if(!isset($_GET['p'])) $_GET['p'] = 'index';

    switch(
    $_GET['p']) {

      case
    "index":
      case
    "overmij":
      case
    "links":
      case
    "fotoos":
      if(
    file_exists($_GET['p'].".php"))  include($_GET['p']."php");
      break;

    }
    ?>
    (niet getest)

    Als je dat opslaat als index.php kun je andere bestanden includen om te laten zien. Met index.php?p=links wordt links.php geladen (als die bestaat). Op deze manier vermijd je dat mensen bijvoorbeeld index.php?p=admin kunnen doen om andere bestanden te bekijken.

    Maar ik weet niet of dit is wat je zoekt natuurlijk

    [ Bericht 2% gewijzigd door Heliospan op 16-12-2004 22:23:58 ]
    DutchBlooddonderdag 16 december 2004 @ 22:19
    Je vergeet de break; na elke case.
    Heliospandonderdag 16 december 2004 @ 22:21
    Nee hoor, nou wordt voor elke case dat stuk code uitgevoerd

    -edit-
    ik vergat wel een haakje
    gielingdonderdag 16 december 2004 @ 22:50
    quote:
    Op woensdag 15 december 2004 23:35 schreef ikke_ook het volgende:

    [..]
    [ code verwijderd ]
    mm, nu komt er Thu Dec 16 16:47:48 EST -0500 te staan, en het is hier nu 22:47 dus help niet aan het server amerika tijdverschil... (diffirence to greenwitch mean time werkt blijkbaar niet )

    iemand? (tijd moet in db worden opgeslagen)

    [ Bericht 14% gewijzigd door gieling op 16-12-2004 23:06:08 ]
    mscholdonderdag 16 december 2004 @ 23:28
    quote:
    Op donderdag 16 december 2004 22:14 schreef SuperRembo het volgende:

    [..]

    Als je dat wil dan doe je dat 't makkelijkst zo
    [ code verwijderd ]

    (Dit is wel heel basic, zelfs voor dummies)
    dat is ook een optie idd
    maar ik doe vaak alles in php code (dus ook platte HTML)
    sabanvrijdag 17 december 2004 @ 10:24
    En hoe doen jullie dit;

    Manier 1:
    1
    2
    3
    4
    5
    <?php
      echo "
            Evenement: <a href=\"eventsinfo.php?id=$gegevens[id]\">$gegevens[naam]</a><br>
           ";
    ?>


    of

    Manier 2:
    1
    2
    3
    4
    5
    6
    7
    <?
    ..code
    ?>
            Evenement: <a href="eventsinfo.php?id=<? echo $gegevens[id]; ?>"><? echo $gegevens[naam]; ?></a><br>
    <?
    ..code.
    ?>
    VeerMansvrijdag 17 december 2004 @ 10:26
    Ik zou het op manier 2 doen, maar ja wie ben ik he
    DutchBloodvrijdag 17 december 2004 @ 12:08
    Ligt eraan hoeveel htmlcode er omheen staat. voor alleen Evenement: zou ik manier 1 kiezen maar dan zo:
    1
    2
    3
    4
    <?php
    php
    echo 'Evenement: <a href="eventsinfo.php?id=' . $gegevens['id]'.'">'.$gegevens['naam'].'</a><br>';
    ?>

    Let erop dat je de waardes in de array(naam, id) tussen qoutes moet zetten.
    Roonaanvrijdag 17 december 2004 @ 12:09
    1
    2
    3
    4
    5
    <?php
      $id = htmlspecialchars($gegevens['id']);
      $naam = htmlspecialchars($gegevens['naam'])
      echo 'Evenement:<a href="eventsinfo.php?id='.$id.'">'.$naam.'</a><br />';
    ?>
    ikke_ookvrijdag 17 december 2004 @ 12:58
    quote:
    Op donderdag 16 december 2004 22:50 schreef gieling het volgende:

    [..]

    mm, nu komt er Thu Dec 16 16:47:48 EST -0500 te staan, en het is hier nu 22:47 dus help niet aan het server amerika tijdverschil... (diffirence to greenwitch mean time werkt blijkbaar niet )

    iemand? (tijd moet in db worden opgeslagen)
    Wat moet er precies komen te staan want ik snap even niet wat het probleem is... ( Ik denk dat ik je eerste post gemist heb ofzo..)
    DutchBloodvrijdag 17 december 2004 @ 13:16
    quote:
    Op vrijdag 17 december 2004 12:09 schreef Roönaän het volgende:

    [ code verwijderd ]
    Als ie slim is checkt ie als er een evenemt in de database gestopt wordt of id wel numeriek is en er niks anders als letters en een paar tekens in de naam voorkomt.
    Dark_Killahvrijdag 17 december 2004 @ 13:38
    quote:
    Op donderdag 16 december 2004 22:15 schreef Heliospan het volgende:

    [..]

    Je zou bijvoorbeeld zoiets kunnen gebruiken:
    [ code verwijderd ]

    (niet getest)

    Als je dat opslaat als index.php kun je andere bestanden includen om te laten zien. Met index.php?p=links wordt links.php geladen (als die bestaat). Op deze manier vermijd je dat mensen bijvoorbeeld index.php?p=admin kunnen doen om andere bestanden te bekijken.

    Maar ik weet niet of dit is wat je zoekt natuurlijk
    Hmm, als ik het op die manier doe en ik probeer zo'n pagina te laden blijft mijn middelste frame wit of hetzelfde als de index...
    ikke_ookvrijdag 17 december 2004 @ 23:30
    Ik ben bezig met een fotoalbum en nu heb ik een tooltje gemaakt om files te uploaden. Alleen is dit niet zo handig want je moet voor iedere file opnieuw het pad aangeven, het zijn dus heel veel browse schermpjes eigenlijk. Is er niet iets anders waardoor je de directory aangeeft zodat hij de hele directory upload?
    mscholzaterdag 18 december 2004 @ 00:07
    quote:
    Op vrijdag 17 december 2004 23:30 schreef ikke_ook het volgende:
    Ik ben bezig met een fotoalbum en nu heb ik een tooltje gemaakt om files te uploaden. Alleen is dit niet zo handig want je moet voor iedere file opnieuw het pad aangeven, het zijn dus heel veel browse schermpjes eigenlijk. Is er niet iets anders waardoor je de directory aangeeft zodat hij de hele directory upload?
    weet niet of het mogelijk is maar misschien een zip maken van dit en die op de server uit pakken (wel leuk voor je cpu belasting )

    want volgens mij kan je geen dir selecteren of in 1 keer uploaden
    mscholzaterdag 18 december 2004 @ 00:21
    quote:
    Op vrijdag 17 december 2004 13:38 schreef Dark_Killah het volgende:

    [..]

    Hmm, als ik het op die manier doe en ik probeer zo'n pagina te laden blijft mijn middelste frame wit of hetzelfde als de index...
    waarom gebriuik je frames als het met includen nou juist zo mooi zonder frames kan?
    gielingzaterdag 18 december 2004 @ 01:09
    quote:
    Op vrijdag 17 december 2004 12:58 schreef ikke_ook het volgende:

    [..]

    Wat moet er precies komen te staan want ik snap even niet wat het probleem is... ( Ik denk dat ik je eerste post gemist heb ofzo..)
    ik heb gezocht op gmdate in php.net en in een reactie stond ongeveer dit:

    1
    2
    3
    4
    5
    <?php
               $zone
    = "3600*2";
               
    $Tijd  = gmdate("H:i:s", time() + $zone);
               
    $Datum = date("d-m-Y");
    ?>


    en dat werkte!
    Lightzaterdag 18 december 2004 @ 01:25
    quote:
    Op zaterdag 18 december 2004 01:09 schreef gieling het volgende:

    [..]

    ik heb gezocht op gmdate in php.net en in een reactie stond ongeveer dit:
    [ code verwijderd ]

    en dat werkte!
    Houd je er wel rekening mee dat we zomertijd en wintertijd hebben?
    gielingzaterdag 18 december 2004 @ 01:35
    quote:
    Op zaterdag 18 december 2004 01:25 schreef Light het volgende:

    [..]

    Houd je er wel rekening mee dat we zomertijd en wintertijd hebben?
    Ehhhmmm... nee niet echt eigenlijk, was even iets te blij dat dit werkte

    Idee hoe ik dit kan oplossen?
    DutchBloodzaterdag 18 december 2004 @ 06:40
    date('I');

    I (hoofdletter i) - "1" wanneer Daylight Savings Time, anders "0".
    http://nl3.php.net/manual/nl/function.date.php
    gielingzaterdag 18 december 2004 @ 12:11
    quote:
    Op zaterdag 18 december 2004 06:40 schreef DutchBlood het volgende:
    date('I');

    I (hoofdletter i) - "1" wanneer Daylight Savings Time, anders "0".
    http://nl3.php.net/manual/nl/function.date.php
    Tnx, zal het vanavond even proberen!

    kan je bij phpinfo() zien of DST aanstaat?
    DutchBloodzaterdag 18 december 2004 @ 17:51
    quote:
    Op zaterdag 18 december 2004 12:11 schreef gieling het volgende:

    [..]

    Tnx, zal het vanavond even proberen!

    kan je bij phpinfo() zien of DST aanstaat?
    Dat ligt denk ik aan de timezone.

    Let wel op dat je dus $dst = date('i',$timestamp); doet. Dus date wel toepast op de timestamp, en niet op de huidige datum die date dan automatisch pakt.
    sabandinsdag 21 december 2004 @ 17:55
    Ik moet een 'offerte systeem' maken.

    Alleen ik denk dat ik te omslachtig werk, er moet vast wel een makkelijkere/snellere/betere manier zijn.

    Wat ik nu heb is;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
    $aantal = $_POST['aantal'];
    $bedrukking = $_POST['bedrukking'];
    $papiersoort = $_POST['papiersoort'];
    $papierdikte = $_POST['papierdikte'];

    if ($aantal == "500" AND $bedrukking == "1")

    {
         $prijs = "105";
    }

    if ($aantal == "1000" AND $bedrukking == "1")
    {
         $prijs = "130";
    }

    if ($aantal == "1500" AND $bedrukking == "1")
    {
         $prijs = "150";
    }

    if ($aantal == "2000" AND $bedrukking == "1")
    {
         $prijs = "165";
    }

    if ($aantal == "2500" AND $bedrukking == "1")
    {
         $prijs = "178";
    }
    ?>


    $bedrukking kan ook 2,3 of 4 zijn, die hebben ook aparte prijzen, dus moet ik weer aparte if's gaan maken ..

    straks komt ook nog $papiersoort en $papierdikte ook in de 'if', dus wordt het veelste druk.

    Hoe kan ik dit makkelijker oplossen ?
    Tiemiedinsdag 21 december 2004 @ 18:47
    wat is "beter"? en waarom?

    1
    2
    3
    4
    5
    6
    7
    <?php
    $query
    = 'SELECT * FROM tabel';
    while(list(
    $naam, $achternaam) = mysql_fetch_assoc($query))
    {
       echo
    '<td>'.$naam.'</td><td>'.$achternaam.'</td>';
    }
    ?>

    of
    1
    2
    3
    4
    5
    6
    7
    <?php
    $query
    = 'SELECT * FROM tabel';
    while(
    $result = mysql_fetch_assoc($query))
    {
       echo
    '<td>'.$result['naam'].'</td><td>'.$result['achternaam'].'</td>';
    }
    ?>


    ik gebruik zelf meestal de 2e manier, maar de 1e manier kom je ook vaak tegen.
    WheeleEwoensdag 29 december 2004 @ 10:30
    Hmmm...er lopen 2 topics..
    Een beetje crossposten dan maar:
    quote:
    Op dinsdag 28 december 2004 14:48 schreef WheeleE het volgende:
    Ik waag het er ook maar eens op. Het volgende probleem doe zich voor.
    Hoe krijg ik de indeling van een sportcompetitie fatsoenlijk en bruikbaar in een phpstructuur? Ik wil er uiteindelijk een standenoverzicht mee genereren.
    Ik heb het met multidimensionale arrays geprobeerd, maar daar kwam ik er niet mee.
    De competitiegegevens die ik gebruik zijn (simpel gezegd) als volgt:
    1
    2
    3
    4
    5
    Subcompetitie A - Groep 1 - Klasse 1 en 2
                    Groep 2 - Klasse 1, 2 en 3
    Subcompetitie B - Groep 1 - Klasse 1
                    Groep 2 - Klasse 1, 2 en 3
                    Groep 3 - Klasse 1, 2 en 3

    Dit krijg ik nog wel in een multidim. array. Als ik er per groep en klasse nog een code bij plak, loopt het in de soep.
    De bovenstaande lijst, alleen de groepen, komen in een selectlijstje. Hierin kan de gebruiker een groep kiezen waarvan hij de standen wil zien. De code wordt meegegeven als POST-waarde aan de pagina. aan de hand van die POST-waarde wordt bij binnenkomst weer bepaald welke klassen hij daarbij moet weergeven. De codes van de klassen worden op hun beurt weer gebruikt om in een loopje per klasse de betreffende egevens uit de database te halen.

    Op dit moment heb ik het werkend door eerst voor de selectlijst een apart array te definieren met de codes en de omschrijvingen van de groepen. Daarna check ik de POST-waarde en definieer ik weer een apart array met de codes en omschrijvingen van de klassen.
    Naar mijn idee kan dit veel makkeljiker en sneller, alleen kom ik er niet op.

    Wie weet raad?
    Heliospanwoensdag 29 december 2004 @ 13:30
    quote:
    Op dinsdag 21 december 2004 18:47 schreef Tiemie het volgende:
    wat is "beter"? en waarom?
    [ code verwijderd ]

    of
    [ code verwijderd ]

    ik gebruik zelf meestal de 2e manier, maar de 1e manier kom je ook vaak tegen.
    De 2e is een miljoenste seconde sneller omdat list() niet aangeroepen wordt. De eerste zie ik nu voor het eerst en lijkt me erg handig

    ze zullen echter beide niet werken zoals ze daar staan
    Kapt.Ruigbaardwoensdag 29 december 2004 @ 15:23
    Ik ben bezig met een script wat eerst door middel van een link een id mee neemt. Aan de hand van deze id moet een waarde, in dit geval categorie_naam omgezet worden in categorie. Vervolgens moet het hele zaakje, inclusief de waarde die in categorie staat (welke dus uit categorie_naam gehaald wordt) opgeslagen worden in een andere tabel.
    Ik heb twee tabellen: 1 tabel: Categorie met daarin id en categorie_naam en 1 tabel fotoalbum met daarin thumb, url, beschrijving en categorie.

    Ik heb van alles geprobeerd maar telkens blijft het veld categorie in de tabel fotoalbum leeg. De overige velden worden wel gevult.
    Ik gebruik het volgende script:

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


    include ("toevoegen/config.inc.php");
    $query = "SELECT * FROM categorie WHERE id = '$id'";
    $resultaat = mysql_query($query) or die ("Query mislukt");

    if (
    $submit)
    {
      
    $insertquery = "INSERT INTO gp2004 (thumb, url, beschrijving, categorie)
      VALUES ('$thumb','$url','$beschrijving','$categorie')"
    ;
      
    mysql_query($insertquery) or die ("Het toevoegen is mislukt");
    }
    else
    {
      
    ?>

    <FORM ACTION="toevoegen.php" METHOD="post">
    <INPUT TYPE="hidden" NAME="submit" VALUE="bla">
    <BR>Voer een thumbnail URL in:
    <BR><INPUT TYPE="text" NAME="thumb" SIZE=50 MAXLENGHT=120>
    <BR>Voer een foto URL in:
    <BR><INPUT TYPE="text" NAME="url" SIZE=50 MAXLENGHT=120>
    <BR>Voer een beschrijving van de foto in:
    <BR><INPUT TYPE="text" NAME="beschrijving" SIZE=50 MAXLENGHT=120>
    <P><INPUT TYPE="submit" VALUE="Voeg foto toe">
    </FORM>
    1
    2
    3
    4
    <?php
      
    }
    ?>


    Iemand enige idee hoe ik dit voor elkaar kan krijgen?

    [ Bericht 50% gewijzigd door Kapt.Ruigbaard op 29-12-2004 15:34:54 ]
    Kapt.Ruigbaardwoensdag 29 december 2004 @ 23:28
    Ik ben al iets verder.. Denk ik
    Even wat aanpassingen gemaakt:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    include ("toevoegen/config.inc.php");
    $query = "SELECT categorie_naam FROM categorie WHERE id = '$id'";
    $resultaat = mysql_query($query) or die ("Query mislukt");
    while(
    $Rij = mysql_fetch_assoc($resultaat))
    {
      echo
    "$Rij[categorie_naam]";
    }

    if(!empty(
    $_POST['submit']))
    {
      
    $insertquery = "INSERT INTO gp2004 (thumb, url, beschrijving, categorie)
      VALUES ('"
    .$thumb ."','" .$url ."','" .$beschrijving ."','" .$categorie ."')";
      
    mysql_query($insertquery) or die ("Het toevoegen is mislukt");
    }
    else
    {
      
    ?>

    <FORM ACTION="toevoegen.php" METHOD="post">
    <INPUT TYPE="hidden" NAME="submit" VALUE="bla">
    <BR>Voer een thumbnail URL in:
    <BR><INPUT TYPE="text" NAME="thumb" SIZE=50 MAXLENGHT=120>
    <BR>Voer een foto URL in:
    <BR><INPUT TYPE="text" NAME="url" SIZE=50 MAXLENGHT=120>
    <BR>Voer een beschrijving van de foto in:
    <BR><INPUT TYPE="text" NAME="beschrijving" SIZE=50 MAXLENGHT=120>
    <BR><INPUT TYPE="hidden" NAME="categorie" VALUE="">
    <P><INPUT TYPE="submit" VALUE="Voeg foto toe">
    </FORM>
    1
    2
    3
    <?php
    }
    ?>


    Ik had nu uitgevogelt een hidden field in het formulier te maken die als value de waarde meegeeft die in $Rij[categorie_naam] staat. Kan dit eigenlijk wel? En zo ja, hoe dan?
    WheeleEdonderdag 30 december 2004 @ 13:47
    Het vorige probleem heb ik kunen verhelpen maar nu zit ik met het volgende *zucht*.
    <knip>
    Lamaar....ik ben aan vakantie toe .

    [ Bericht 96% gewijzigd door WheeleE op 30-12-2004 14:07:14 (Blegh...) ]
    SHERMANdonderdag 30 december 2004 @ 14:29
    is het de moeite om voor dit topic een .txt van de op te maken?
    Heliospanmaandag 3 januari 2005 @ 20:03
    Wat de fok?? Kan iemand me even vertellen of ik gek ben geworden?
    Ik ben bezig met een phpscript, en ik krijg andere waarden in Firefox dan in IE?? Terwijl het niks met de browser te maken kán hebben!

    Deze pagina: http://www.amptracker.net/layout.html
    In IE zie ik in het iFramepje linksonder deze array:
    Array ( [0] => 1 [1] => 95f1805dc72b77dc334b0592bf5df4c6 )
    In Firefox zie ik deze array:
    Array ( [0] => )
    Hierdoor werkt het script niet. Hoe kan ik in godsnaam andere waarden krijgen bij verschillende browsers? Kan het iets met sessions te maken hebben?
    Roonaanmaandag 3 januari 2005 @ 20:41
    Mja, wordt vrij ingewikkeld achterhalen zo
    Heliospanmaandag 3 januari 2005 @ 20:46
    Dit is het stuk code tot het die()-commando. Die zette ik op de plek waarvan ik vermoedde dat het fout ging. Ik denk niet dat de rest ook nodig is:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?php
      
    // Sessiegedoe + niet cachen
      
    session_start();
      
    header("Cache-control: private");
      
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
      
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
      
    header("Cache-Control: no-store, no-cache, must-revalidate");
      
    header("Cache-Control: post-check=0, pre-check=0", false);
      
    header("Pragma: no-cache");

      
    // Loginstatus
      
    define ("BANNED", -1);
      
    define ("GUEST", 0);
      
    define ("LOGGED_IN", 1);
      
    define ("ADMIN", 2);

      
    define ("ADDTO", 1);
      
    define ("INSTO", 2);
      
    // Veiligheidsinclude
      
    define ("IS_INCLUDED", true);

      
    // Variabelen
      
    $comm = "";
      
    $page['CRITICAL'] = FALSE;

      
    // Verbinding met database
      
    $db = mysql_connect ("localhost", "****", "****") or die ('Databasefout: ' . mysql_error());
      
    mysql_select_db ("chilloso_amp", $db);


      
    setcookie("amp_cookie", "1|95f1805dc72b77dc334b0592bf5df4c6", 3600);
    //  die($_COOKIE['amp_cookie']);

      // Bestaat de cookie?
      
    if(empty($_COOKIE['amp_cookie'])) $_SESSION['user_status'] = GUEST;

      
    // Loginstatus, sessiestatus
      
    if(empty($_SESSION['user_status'])) {

        
    $tmp['COOKIE_DATA'] = explode("|", $_COOKIE['amp_cookie']);

        
    print_r($tmp['COOKIE_DATA']);
        die();
    ?>


    Die set_cookie-functie en de print_r op het eind staan er ook in om te testen.
    DutchBloodmaandag 3 januari 2005 @ 20:46
    quote:
    Op maandag 3 januari 2005 20:03 schreef Heliospan het volgende:
    Wat de fok?? Kan iemand me even vertellen of ik gek ben geworden?
    Ik ben bezig met een phpscript, en ik krijg andere waarden in Firefox dan in IE?? Terwijl het niks met de browser te maken kán hebben!

    Deze pagina: http://www.amptracker.net/layout.html
    In IE zie ik in het iFramepje linksonder deze array:
    Array ( [0] => 1 [1] => 95f1805dc72b77dc334b0592bf5df4c6 )
    In Firefox zie ik deze array:
    Array ( [0] => )
    Hierdoor werkt het script niet. Hoe kan ik in godsnaam andere waarden krijgen bij verschillende browsers? Kan het iets met sessions te maken hebben?
    Ik zie in IE ook Array ( [0] => )
    Heliospanmaandag 3 januari 2005 @ 20:47
    quote:
    Op maandag 3 januari 2005 20:46 schreef DutchBlood het volgende:

    [..]

    Ik zie in IE ook Array ( [0] => )
    Ahh, dan is het natuurlijk de cookie die al in IE stond en ik nog niet weg had gehaald
    Dom. Bedankt

    -edit-
    1
    2
    3
    <?php
    setcookie
    ("amp_cookie", "1|95f1805dc72b77dc334b0592bf5df4c6", 3600);
    ?>

    En het is ook geen wonder dat de cookies niet werken. Sjeez

    [ Bericht 46% gewijzigd door Heliospan op 03-01-2005 20:55:27 ]
    Chandlermaandag 3 januari 2005 @ 21:40
    time() + 3600?
    Heliospanmaandag 3 januari 2005 @ 22:22
    DutchBlooddonderdag 6 januari 2005 @ 15:40
    Ik ben bezig met een login systeem, en bij het inloggen kan de user aangeven of er wel of geen cookie geplaatst moet worden of dat het enkel voor deze sessie is.

    Het probleem is dat de sessie met een cookie voor het sessie-id de andere gegevens in de cookie overschrijft.

    Hoe los ik dit op?
    cygnusxdonderdag 6 januari 2005 @ 16:16
    volgende deel.
    [PHP] voor dummies - Deel 4