abonnement Unibet Coolblue Bitvavo
pi_45720135
In eerste instantie werkte hij alleen met $_SESSION en omdat dat niet werkte kwamen we $_HTTP_enz.. tegen en hebben we die geprobeerd.
Het is wel zo dat er eerst een versie van php (4.1.2) opstond die een bug had die geen sessie variablen instelde ( http://bugs.php.net/bug.php?id=16102 ) maar hij heeft die versie van php eraf gegooit en de laatste versie van appserv met php5 geinstalleerd maar het probleem bleef bestaan. Zou het kunnen dat er toch nog ergens php bestanden zijn achtergebleven?
-
pi_45720192
quote:
Op zaterdag 27 januari 2007 10:20 schreef splendor het volgende:
Zou het kunnen dat er toch nog ergens php bestanden zijn achtergebleven?
Door phpinfo() of phpversion() te gebruiken kom je erachter of PHP5 daadwerkelijk werkt.
pi_45720259
quote:
Op zaterdag 27 januari 2007 10:25 schreef JeRa het volgende:

[..]

Door phpinfo() of phpversion() te gebruiken kom je erachter of PHP5 daadwerkelijk werkt.
Die werkte wel gewoon, daarmee hebben we zijn sessie instelling vergeleken met die van mij. Of is het zo dat je echt heel gericht op zoek moet gaan om te kijken of er ergens stukjes php4 zijn achtergebleven?
-
pi_45720318
quote:
Op zaterdag 27 januari 2007 10:31 schreef splendor het volgende:

[..]

Die werkte wel gewoon, daarmee hebben we zijn sessie instelling vergeleken met die van mij. Of is het zo dat je echt heel gericht op zoek moet gaan om te kijken of er ergens stukjes php4 zijn achtergebleven?
Als PHP zegt dat ie op versie 5 draait, dan is de kans klein dat er ergens stukjes PHP4 achter zijn gebleven

Verder is het een goed idee om de configuratie met elkaar te vergelijken. Zolang die code die je net liet zien de enige relevante code is en je in eerste instantie alleen $_SESSION hebt gebruikt zonder dat dat werkte, is er iets vreemds aan de hand en is het slim om zo even het één en het ander te vergelijken ja.
pi_45722389
Vraagje!

Stel je hebt een tabel met heel veel velden en records... echter mis je de record ID. En je wilt iets verwijderen... maar data in dit tabel kan voor meerdere gebruikers gelijk zijn aan elkaar (op username na dan) dan zijn er 2 opties.

1. Delete alles met de zelfde teksten die jij wilt laten verwijderen
2. Delete het record met LIMIT

Welke gebruiken jullie? en waarom?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_45722589
Ik gebruik geen van beide omdat ik er altijd voor zorg dat mijn tabellen een unieke index hebben.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_45723679
Ik normaal ook, maar ik heb nu met een nieuw tiepe database te maken

die niet van mezelf is
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_45727658
Is de username ook niet uniek dan, zodat je die als ID kan gebruiken?
pi_45727746
quote:
Op donderdag 25 januari 2007 23:52 schreef profielnaam het volgende:
ik wil een RSS waarin de verkeerde spelling staat van een bepaald woord alsnog omzetten naar html maar dan met de mogelijkheid een woord bijvoorbeeld: "acces" te renamen naar het juiste woord "access" is dit mogelijk bijv met een if of foreach statement, hoe zou dit in zn werk gaan ?
Iemand hier nog een brauwseltje voor ? punt waar ik tegenaanloop is dat je een string moet opgeven welke de bron is.

Terwijl het in mijn geval om de hele body van een page gaat (eerst moet de rss ingelezen worden) en dan pas kan ie in de de body dingen uit deze rss replacen.
  zondag 28 januari 2007 @ 04:04:58 #110
46383 Tiemie
sowieso wel!
pi_45749078
quote:
Op zaterdag 27 januari 2007 12:29 schreef Chandler het volgende:
Vraagje!

Stel je hebt een tabel met heel veel velden en records... echter mis je de record ID. En je wilt iets verwijderen... maar data in dit tabel kan voor meerdere gebruikers gelijk zijn aan elkaar (op username na dan) dan zijn er 2 opties.

1. Delete alles met de zelfde teksten die jij wilt laten verwijderen
2. Delete het record met LIMIT

Welke gebruiken jullie? en waarom?
Je kan natuurlijk ook gewoon een auto incrediment veld toevoegen.
  zondag 28 januari 2007 @ 11:43:39 #111
12880 CraZaay
prettig gestoord
pi_45751612
quote:
Op zaterdag 27 januari 2007 12:29 schreef Chandler het volgende:
Vraagje!

Stel je hebt een tabel met heel veel velden en records... echter mis je de record ID. En je wilt iets verwijderen... maar data in dit tabel kan voor meerdere gebruikers gelijk zijn aan elkaar (op username na dan) dan zijn er 2 opties.

1. Delete alles met de zelfde teksten die jij wilt laten verwijderen
2. Delete het record met LIMIT

Welke gebruiken jullie? en waarom?
Je zegt toch dat de username uniek is? Dan kun je dat toch als unieke factor gebruiken?

LIMIT heb je weinig aan, je verwijdert dan de eerste n matches, zonder controle te hebben welke dat dan precies zijn
pi_45762632
quote:
Op zondag 28 januari 2007 04:04 schreef Tiemie het volgende:

[..]

Je kan natuurlijk ook gewoon een auto incrediment veld toevoegen.
Nee want een dubbele versie van auto_incre werkt niet. ivm sub_id's die in het tabel zelf verwerkt zitten, maar ik verwijder nu gewoon op datum en tekst...
quote:
Op zondag 28 januari 2007 11:43 schreef CraZaay het volgende:
Je zegt toch dat de username uniek is? Dan kun je dat toch als unieke factor gebruiken?

LIMIT heb je weinig aan, je verwijdert dan de eerste n matches, zonder controle te hebben welke dat dan precies zijn
Correct, en ik heb het fout gezegd in sommige tabellen is de username uniek, maar in vele niet... daar zit weer een auto_incre... op 2 velden (combi dus) bv user & linkid

maar goed zoals ik hier boven al zei; ik delete nu op meerdere gegevens...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_45762823
@Chandler

Hoezo een 'dubbele versie' van een AUTO_INCREMENT? Zit er al eentje op dan? Want dat zou betekenen dat je al een unieke key hebt.
pi_45762888
Zo te lezen kan je dus een Primary Key maken, bestaande uit Username & LinkID?

Dan kan je die combinatie toch als uniek gebruiken en opnemen in je WHERE?
pi_45762949
@ JeRa: volgens mij bedoeld hij dit:

1
2
3
4
5
6
7
User    Nummer
HuHu    0
JeRa    0
Piet    0
Piet    1
Piet    2
Kees    0


Als er dus dubbele namen zijn, dan wordt het Nummer veld opgehoogt, zodat de rij uniek blijft. Maar dan kan je gewoon de combinatie van naam & nummer gebruiken als uniek ID.
pi_45768794
quote:
Op zondag 28 januari 2007 17:15 schreef JeRa het volgende:
@Chandler

Hoezo een 'dubbele versie' van een AUTO_INCREMENT? Zit er al eentje op dan? Want dat zou betekenen dat je al een unieke key hebt.
Correct uniek op 2 velden...
quote:
Op zondag 28 januari 2007 17:18 schreef HuHu het volgende:
@ JeRa: volgens mij bedoeld hij dit:
[ code verwijderd ]

Als er dus dubbele namen zijn, dan wordt het Nummer veld opgehoogt, zodat de rij uniek blijft. Maar dan kan je gewoon de combinatie van naam & nummer gebruiken als uniek ID.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_45769019
@HuHu

Op die manier werkt een AUTO_INCREMENT niet, die hoogt bij elke rij de waarde op. Daarom snap ik ook niet waarom een tweede AUTO_INCREMENT 'niet werkt'.

Maar goed, je kunt gewoon een PK op die twee velden aanmaken idd.
pi_45769251
quote:
Op zondag 28 januari 2007 20:30 schreef JeRa het volgende:
@HuHu

Op die manier werkt een AUTO_INCREMENT niet, die hoogt bij elke rij de waarde op. Daarom snap ik ook niet waarom een tweede AUTO_INCREMENT 'niet werkt'.

Maar goed, je kunt gewoon een PK op die twee velden aanmaken idd.
Jah klopt... een AUTO-INCREMENT werkt inderdaad niet zo, maar ik vermoedde dat hij het dus verkeerd verwoordde.
pi_45769687
Hee ik probeer php code binnen een javascript uit te voeren, de php moet zich includen in dit javascriptje. Ik weet dat php server side is en javascript client side en dat het daarom niet zou moeten werken.
Maar het resultaat wat ik verlang.. moet toch wel mogelijk zijn ? dus eigenlijk de code die hier beneden staat.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 <DIV align=center>
        <p><a href="javascript:InsertContent('spoiler')" class="link">Find out the spoiler !</a></p>
      <div id="spoiler" style="font-size: 24px; display: none;">
        <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
    <TR>
      <TD>
       <?php include ('include.php');


?>

        </TD>
    </TR>
  </TBODY>
</TABLE>

<script type="text/javascript" language="JavaScript"><!--
function InsertContent(d) {
document.getElementById(d).style.display = "";
}
//--></script>
  </div>
  zondag 28 januari 2007 @ 20:53:23 #120
62215 qu63
..de tijd drinkt..
pi_45769946
quote:
Op zondag 28 januari 2007 20:46 schreef profielnaam het volgende:
Hee ik probeer php code binnen een javascript uit te voeren, de php moet zich includen in dit javascriptje. Ik weet dat php server side is en javascript client side en dat het daarom niet zou moeten werken.
Maar het resultaat wat ik verlang.. moet toch wel mogelijk zijn ? dus eigenlijk de code die hier beneden staat.


[ code verwijderd ]
Het zou wel moeten kunnen met AJAX geloof ik..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_45770644
quote:
Op zondag 28 januari 2007 20:46 schreef profielnaam het volgende:
Hee ik probeer php code binnen een javascript uit te voeren, de php moet zich includen in dit javascriptje. Ik weet dat php server side is en javascript client side en dat het daarom niet zou moeten werken.
Maar het resultaat wat ik verlang.. moet toch wel mogelijk zijn ? dus eigenlijk de code die hier beneden staat.
[ code verwijderd ]
Nee... zoals je het daar hebt staan is het niet mogelijk.

De uitvoer van de PHP code wordt namelijk IN het document gezet, en niet de PHP functies zelf. Je kan deze dus niet meer aanroepen.

Eventueel kan je met behulp van AJAX een verzoek doen aan de server, daar de functie laten uitvoeren, en het resultaat terug laten sturen. Zie daarvoor bijvoorbeeld: http://www.prototypejs.org/.
pi_45771557
quote:
Op zondag 28 januari 2007 21:09 schreef HuHu het volgende:

[..]

Nee... zoals je het daar hebt staan is het niet mogelijk.

De uitvoer van de PHP code wordt namelijk IN het document gezet, en niet de PHP functies zelf. Je kan deze dus niet meer aanroepen.

Eventueel kan je met behulp van AJAX een verzoek doen aan de server, daar de functie laten uitvoeren, en het resultaat terug laten sturen. Zie daarvoor bijvoorbeeld: http://www.prototypejs.org/.
zou het wel kunnen als je de php functies gewoon in je page zelf gooit, ipv te includen (aanroepen, zoals jij zei ?)
  zondag 28 januari 2007 @ 21:36:41 #123
107951 JortK
Immer kwaliteitsposts
pi_45771903
Ik heb net me eerste stapjes met PHP gezet, en heb een form gemaakt:

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
<?php

?>

<HTML><HEAD></HEAD><BODY>
<?php
/* Variabele voor connectie naar MySQL Server */ 
$hostname = '***';
$username = '***';
$password = '***';

/* Variabele voor selecteren juiste database */
$database_name = 'maximusdb';

/* Connecteren aan juiste server en database */
$connection = mysql_connect($hostname,$username,$password) or die ("Kan geen connectie maken met de Database server!");
$db = mysql_select_db($database_name,$connection) or die ("Database kan niet gevonden worden!");

echo '<form action="form_add_todo.php" method="POST">
   <input type = "text" name = "Omschrijving">
   <input type = "text" name = "Memo">
   <input type = "submit" value = "OK!"></form>';
mysql_close($connection);
?>
</BODY></HTML>


En die roept dit bestand aan:

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
<?php

?>

<HTML><HEAD></HEAD><BODY>
<?php
/* Variabele voor connectie naar MySQL Server */ 
$hostname = '***';
$username = '****';
$password = '****';

/* Variabele voor selecteren juiste database */
$database_name = 'maximusdb';

/* Connecteren aan juiste server en database */
$connection = mysql_connect($hostname,$username,$password) or die ("Kan geen connectie maken met de Database server!");
$db = mysql_select_db($database_name,$connection) or die ("Database kan niet gevonden worden!");

/* Form code */
$omschrijving = strip_tags(trim($_POST["Omschrijving"]));
$memo = strip_tags(trim($_POST["Memo"]));

/* Query Library */
$query01 = "INSERT INTO todo (OMS, MEMO, READY) 
         VALUES ($omschrijving, $memo, '0')";

/* Result Library */
$result01 = mysql_query($query01) or die ("Kan de query niet uitvoeren (query01)");


mysql_close($connection);
?>
</BODY></HTML>


Nu krijg ik de volgende meldingen wanneer ik de OK! knop indruk in me form:

1
2
3
Notice: D:DownloadsYou Know MeGeeckerDBform_add_todo.php line 20 - Undefined index:  Omschrijving

Notice: D:DownloadsYou Know MeGeeckerDBform_add_todo.php line 21 - Undefined index:  Memo


Wie kan me vertellen waarom hij het record niet aan de database toevoegd?
pi_45772870
quote:
Op zondag 28 januari 2007 21:29 schreef profielnaam het volgende:

[..]

zou het wel kunnen als je de php functies gewoon in je page zelf gooit, ipv te includen (aanroepen, zoals jij zei ?)
Dan moet je er JavaScript functies van maken, dan is het geen enkel probleem. Je kan dan echter niet communiceren met de server.
  zondag 28 januari 2007 @ 21:57:44 #125
85514 ralfie
!Yvan eht nioj
pi_45772968
@JortK
Die notices moet je je even niks van aan trekken, de reden dat er niks in de database gezet wordt is omdat je query een aantal 'jes mist rond de twee in te vullen variabelen
1
2
$query01 = "INSERT INTO todo (OMS, MEMO, READY) 
         VALUES ('$omschrijving', '$memo', '0')";
Mocht je later willen weten waarom een bepaalde query bij mysql niet werkt, gebruik dan de mysql_error() functie om een error-string op te vragen waarin precies aangegeven staat waarom de query niet lukte.
pi_45772980
quote:
Op zondag 28 januari 2007 21:36 schreef JortK het volgende:
Ik heb net me eerste stapjes met PHP gezet, en heb een form gemaakt:
[ code verwijderd ]

En die roept dit bestand aan:
[ code verwijderd ]

Nu krijg ik de volgende meldingen wanneer ik de OK! knop indruk in me form:
[ code verwijderd ]

Wie kan me vertellen waarom hij het record niet aan de database toevoegd?
Er moeten quotes rond de VALUES in je query.

1
2
$query01 = "INSERT INTO todo (OMS, MEMO, READY) 
         VALUES ('{$omschrijving}', '{$memo}', '0')";
  zondag 28 januari 2007 @ 22:01:29 #127
107951 JortK
Immer kwaliteitsposts
pi_45773163
Whahaha thanks jongens... beginnersfouten denk ik zomaar... net zoals de semicolon vergeten hah
pi_45773748
1
2
$query01 = "INSERT INTO todo (OMS, MEMO, READY) 
         VALUES ('" . $omschrijving . "', '" . $memo . "', '0')";


waarom niet gewoon zo? is ook mooier in je hightlighting editor ;)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 28 januari 2007 @ 23:21:20 #129
12880 CraZaay
prettig gestoord
pi_45776376
quote:
Op zondag 28 januari 2007 22:12 schreef Chandler het volgende:

[ code verwijderd ]

waarom niet gewoon zo? is ook mooier in je hightlighting editor
Omdat het een paar milliseconden trager is (je gebruikt dubbele quotes voor een string die je eigenlijk niet geparsed wilt hebben)?
  zondag 28 januari 2007 @ 23:21:59 #130
12880 CraZaay
prettig gestoord
pi_45776397
quote:
Op zondag 28 januari 2007 17:18 schreef HuHu het volgende:
@ JeRa: volgens mij bedoeld hij dit:
[ code verwijderd ]

Als er dus dubbele namen zijn, dan wordt het Nummer veld opgehoogt, zodat de rij uniek blijft. Maar dan kan je gewoon de combinatie van naam & nummer gebruiken als uniek ID.
Wat een zeldzaam ranzig datamodel
pi_45777287
quote:
Op zondag 28 januari 2007 23:21 schreef CraZaay het volgende:

[..]

Wat een zeldzaam ranzig datamodel
Valt wel mee, m:n koppeltabellen zien er 'ongeveer' ook zo uit.
  maandag 29 januari 2007 @ 08:38:17 #132
85514 ralfie
!Yvan eht nioj
pi_45781498
quote:
Op zondag 28 januari 2007 22:12 schreef Chandler het volgende:

[ code verwijderd ]

waarom niet gewoon zo? is ook mooier in je hightlighting editor
Jij hebt geen editor die variabelen in een dubbelgequote string (al dan niet tussen {} ) highlight?
  maandag 29 januari 2007 @ 09:34:10 #133
37634 wobbel
Da WoBBeL King
pi_45782132
quote:
Op vrijdag 26 januari 2007 17:29 schreef DoDie het volgende:
Je hebt een ID dus bijv Record 1 heeft ID 1. Dan pak je de ID van Waarde 1, ID + 3 is dus waarde 4 ed
maar hoe zorg ik dat ik dit geautomatiseerd kan aanpasen?

Het staat dus nu zo in de DB:

ID - WAARDE - RANK
1 - Waarde 4 - 4
2 - Waarde 2 - 3
3 - Waarde 3 - 2
4 - Waarde 1 - 1

Als ik dan soorteer op RANK DESC komt waarde 4 eerst, dan 2, 3 en 1.

Maar hoe kan ik met PHP nu aanpassen dat als ik Waarde 1 omhoog wil hebben, en Waarde 3 dus 1 omlaag, hij dit automagisch helemaal goed doet enzo?
pi_45782239
quote:
Op zondag 28 januari 2007 23:21 schreef CraZaay het volgende:

[..]

Omdat het een paar milliseconden trager is (je gebruikt dubbele quotes voor een string die je eigenlijk niet geparsed wilt hebben)?
Is het echt sneller? maar werkt het dan ook met $_POST etc?
quote:
Op zondag 28 januari 2007 23:21 schreef CraZaay het volgende:
Wat een zeldzaam ranzig datamodel
Zo zeldzaam is het niet hoor wordt in vele websites gebruikt, maar handig is anders
quote:
Op zondag 28 januari 2007 23:51 schreef JeRa het volgende:
Valt wel mee, m:n koppeltabellen zien er 'ongeveer' ook zo uit.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  maandag 29 januari 2007 @ 10:04:59 #135
12880 CraZaay
prettig gestoord
pi_45782630
quote:
Op zondag 28 januari 2007 23:51 schreef JeRa het volgende:

[..]

Valt wel mee, m:n koppeltabellen zien er 'ongeveer' ook zo uit.
Om te koppelen ja, waarbij in dat geval 'nummer' een verwijzing is naar een record in een andere tabel neem ik aan. Wat ik ervan begrepen heb is Chandler's tabel geen koppeltabel, maar wordt 'nummer' gebruikt om uniciteit aan te geven (standaard 0, tenzij er al een record met een bepaalde username is, dan ophogen).

Voor zover ik weet is dat in dagelijks MySQL gebruik niet echt normaal. Ik zou het iig nooit gebruiken. Of begrijp ik de werking van je tabel verkeerd Chandler?
  maandag 29 januari 2007 @ 10:08:01 #136
12880 CraZaay
prettig gestoord
pi_45782684
quote:
Op maandag 29 januari 2007 09:42 schreef Chandler het volgende:

[..]

Is het echt sneller? maar werkt het dan ook met $_POST etc?
Ja, maar het verschil is echt minimaal.
pi_45783787
quote:
Op maandag 29 januari 2007 10:08 schreef CraZaay het volgende:

[..]

Ja, maar het verschil is echt minimaal.
Om consequent te zijn gebruik ik altijd exact dezelfde coding style, in mijn geval voor strings dus enkele quotes (apostrofes) en concatenatie om variabelen in te voegen.

Echter ben ik ook van mening dat je, zodra je dat nodig hebt om tijdswinst te boeken, er iets fundamenteels mis is aan je script.
pi_45784099
quote:
Op maandag 29 januari 2007 10:04 schreef CraZaay het volgende:
Voor zover ik weet is dat in dagelijks MySQL gebruik niet echt normaal. Ik zou het iig nooit gebruiken. Of begrijp ik de werking van je tabel verkeerd Chandler?
Tja bv voor een link tabel. (met meerdere gebruikers)

userid
linkid
link

auto_incr zit op userid incombi met linkid oftewel bij 0 links is linkid 0 bij 9 links is linkid=9 en dat voor iedere gebruiker zo... maar goed, het is niet een database die ik bedacht heb
quote:
Op maandag 29 januari 2007 11:04 schreef JeRa het volgende:
Om consequent te zijn gebruik ik altijd exact dezelfde coding style, in mijn geval voor strings dus enkele quotes (apostrofes) en concatenatie om variabelen in te voegen.

Echter ben ik ook van mening dat je, zodra je dat nodig hebt om tijdswinst te boeken, er iets fundamenteels mis is aan je script.
LOL, ik gebruik ook altijd " . $blaat . " gewoon om het feit dat ik idd ook consequent wil zijn in mijn coding style
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_45785028
quote:
Op maandag 29 januari 2007 11:04 schreef JeRa het volgende:
[..]
Om consequent te zijn gebruik ik altijd exact dezelfde coding style, in mijn geval voor strings dus enkele quotes (apostrofes) en concatenatie om variabelen in te voegen.
Gebruik je dan ook enkele qoutes voor sql strings? Dan moet je dus een heleboel qoutejes escapen. Dat lijkt me niet handig en het maakt het er ook niet leesbaarder op.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_45785252
quote:
Op maandag 29 januari 2007 11:50 schreef SuperRembo het volgende:

[..]

Gebruik je dan ook enkele qoutes voor sql strings? Dan moet je dus een heleboel qoutejes escapen. Dat lijkt me niet handig en het maakt het er ook niet leesbaarder op.
Jouw 'dan moet je dus' klopt van geen kanten zie een mooi prepared statement voor PgSQL:

1
2
3
4
5
6
<?php
$stmt
= $db->prepare('INSERT INTO "tabel" ("userid", "value") VALUES (:userid, :value)');
$stmt->bindParam('userid', $userid);  // integer
$stmt->bindParam('value', $value);  // string
$res = $stmt->execute();
?>


Et voila, snel, uitermate veilig en zonder ook maar iets te hoeven escapen die dubbele quotes in het statement zijn overigens geen strings, het is de ANSI manier van tabel- en veldnamen quoten (zoals de niet-standaard backticks in MySQL).
  maandag 29 januari 2007 @ 14:31:56 #141
12880 CraZaay
prettig gestoord
pi_45789708
quote:
Op maandag 29 januari 2007 11:17 schreef Chandler het volgende:

[..]

Tja bv voor een link tabel. (met meerdere gebruikers)

userid
linkid
link

auto_incr zit op userid incombi met linkid oftewel bij 0 links is linkid 0 bij 9 links is linkid=9 en dat voor iedere gebruiker zo... maar goed, het is niet een database die ik bedacht heb
Ah, dan begreep ik je verkeerd. 'nummer' is dus daadwerkelijk een verwijzing naar een record in een andere tabel? Zo ja, dan vind ik alleen de naamgeving waardeloos
  maandag 29 januari 2007 @ 14:33:05 #142
12880 CraZaay
prettig gestoord
pi_45789743
-dubbel-
  maandag 29 januari 2007 @ 14:35:41 #143
12880 CraZaay
prettig gestoord
pi_45789831
99% van de mensen hier zal MySQL gebruiken denk ik In dat geval is het inderdaad lastig. Ik gebruik enkele quotes en dubbele quotes door elkaar, afhankelijk van welk doel ze dienen. Dit vind ik netjes en conform de PHP syntax; ik gebruik niet selchts 1 van de 2 omdat dat 'mooier' of 'consistenter' is, maar gebruik de quotes waar ze imo voor zijn.

1
2
3
4
5
<php
$var = 'string';
$query = "test = '$var'"
$query = "test = '{$array[1]}'"
?>


Ik ben het overigens eens met je statement dat je enkele quotes niet nodig zou hoeven hebben voor snelheidswinst
pi_45789876
quote:
Op maandag 29 januari 2007 14:33 schreef CraZaay het volgende:

[..]

99% van de mensen hier zal MySQL gebruiken denk ik
Dat wat ik daar liet zien is PDO, dus dat kan net zo goed met MySQL of SQL server of wat dan ook
pi_45790142
quote:
Op maandag 29 januari 2007 11:57 schreef JeRa het volgende:
Jouw 'dan moet je dus' klopt van geen kanten zie een mooi prepared statement voor PgSQL:
Dat was mss een beetje kort door de bocht.
quote:
[ code verwijderd ]
Et voila, snel, uitermate veilig en zonder ook maar iets te hoeven escapen
Ziet er netjes uit. Is die db class van eigen fabricaat?
Waarom geef je bij bindParam() eigenlijk geen type informatie mee, het lijk me dat je dat (meestal) wel nodig hebt. Of wordt die informatie er door de db layer zelf bij gehaald?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 29 januari 2007 @ 14:50:52 #146
12880 CraZaay
prettig gestoord
pi_45790329
quote:
Op maandag 29 januari 2007 14:37 schreef JeRa het volgende:

[..]

Dat wat ik daar liet zien is PDO, dus dat kan net zo goed met MySQL of SQL server of wat dan ook
Rephrase: de meesten hier hakken de SQL-statements rechtstreeks in hun code denk ik (de mensen hier die MVC-concepten e.d. gebruiken zijn op 1 hand te tellen volgens mij ).
pi_45791174
Ik controlleer tegenwoordig zowat alle input, of het nu via een cookie, get,post of wat dan ook is heb er een paar leuke includes voor geschreven... altijd handig
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  maandag 29 januari 2007 @ 15:24:13 #148
12880 CraZaay
prettig gestoord
pi_45791478
quote:
Op maandag 29 januari 2007 15:15 schreef Chandler het volgende:
Ik controlleer tegenwoordig zowat alle input, of het nu via een cookie, get,post of wat dan ook is heb er een paar leuke includes voor geschreven... altijd handig
'zowat'? Da's dan net te weinig
pi_45792541
quote:
Op maandag 29 januari 2007 14:45 schreef SuperRembo het volgende:

[..]

Dat was mss een beetje kort door de bocht.
[..]

Ziet er netjes uit. Is die db class van eigen fabricaat?
Waarom geef je bij bindParam() eigenlijk geen type informatie mee, het lijk me dat je dat (meestal) wel nodig hebt. Of wordt die informatie er door de db layer zelf bij gehaald?
Het is gewoon PDO http://nl2.php.net/PDO

En verder is het in PHP gewoon mogelijk om het type te bepalen zonder extra argumenten mee te leveren hoor, daar heb je dingen als is_string() en is_float() voor
pi_45794133
Hoe kan ik makkelijk controleren of een referer afkomstig is van mijn eigen site of extern?
  maandag 29 januari 2007 @ 16:44:29 #151
12880 CraZaay
prettig gestoord
pi_45794260
quote:
Op maandag 29 januari 2007 16:40 schreef super-muffin het volgende:
Hoe kan ik makkelijk controleren of een referer afkomstig is van mijn eigen site of extern?
Checken of je domein voorkomt in de referer?
pi_45794615
quote:
Op maandag 29 januari 2007 15:59 schreef JeRa het volgende:

[..]

Het is gewoon PDO http://nl2.php.net/PDO

En verder is het in PHP gewoon mogelijk om het type te bepalen zonder extra argumenten mee te leveren hoor, daar heb je dingen als is_string() en is_float() voor
En is_date()?

Het data type in php hoeft natuurlijk niet overeen te komen met het data type in de database.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_45794716
quote:
Op maandag 29 januari 2007 16:55 schreef SuperRembo het volgende:

[..]

En is_date()?

Het data type in php hoeft natuurlijk niet overeen te komen met het data type in de database.
Nee, maar ik zet dan ook nooit data of tijden direct zo in de database. Vaak kun je now() of '-infinity' als standaardwaarden gebruiken, en als ik dan toch een willekeurige datum moet invoeren doe ik dat door de datum eerst in PHP te controleren en om te zetten naar een Unix epoch timestamp die voer ik dan vervolgens aan de juiste functies van de RDBMS.
  maandag 29 januari 2007 @ 17:12:33 #154
107951 JortK
Immer kwaliteitsposts
pi_45795240
Weet iemand trouwens of je iets van GUID's aan kan maken in een MySQL database?

MS-SQL heeft hier gewoon newid() voor, maar deze kan ik niet terugvinden in MySQL
pi_45795263
quote:
Op maandag 29 januari 2007 15:24 schreef CraZaay het volgende:

[..]

'zowat'? Da's dan net te weinig
tja kan altijd iets over het hoofd zien hé
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  maandag 29 januari 2007 @ 17:18:47 #156
12880 CraZaay
prettig gestoord
pi_45795424
quote:
Op maandag 29 januari 2007 17:12 schreef JortK het volgende:
Weet iemand trouwens of je iets van GUID's aan kan maken in een MySQL database?

MS-SQL heeft hier gewoon newid() voor, maar deze kan ik niet terugvinden in MySQL
UUID()
pi_45795434
quote:
Op maandag 29 januari 2007 16:44 schreef CraZaay het volgende:

[..]

Checken of je domein voorkomt in de referer?
Ja daar zat ik ook aan te denken. Met preg_match.
Maar ik dacht, misschien is er een makkelijkere manier.
pi_45795487
quote:
Op maandag 29 januari 2007 17:18 schreef super-muffin het volgende:

[..]

Ja daar zat ik ook aan te denken. Met preg_match.
Maar ik dacht, misschien is er een makkelijkere manier.
Die is er, je kunt een scherm tonen met daarin de referer en de bezoeker vragen of hij/zij in die string jouw domeinnaam ziet. Echter is de veiligste methode om het gewoon maar zelf te doen met idd een regular expression
pi_45795628
vraagje; weet iemand een tutoriaal over hoe te werken met externe modules m.b.t. een CMS systeem?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  maandag 29 januari 2007 @ 18:06:26 #160
12880 CraZaay
prettig gestoord
pi_45797065
quote:
Op maandag 29 januari 2007 17:24 schreef Chandler het volgende:
vraagje; weet iemand een tutoriaal over hoe te werken met externe modules m.b.t. een CMS systeem?
Die zijn er niet. Een 'externe module' is niets generieks, en 'een CMS systeem' ook niet.
pi_45797949
Ik probeer een pagina op een website binnen te halen middels file_get_contents(). Gaat allemaal goed, alleen omdat dit een beveiligde pagina is (joomla-cms) krijg ik dan niet de hele inhoud van de pagina te zien, maar de mededeling "je bent niet gemachtigd, etc". Logisch, want ik ben niet ingelogd op die site.

Okay, cookies meesturen. Maar hoe werkt dit (of specifieker, hoe werkt dit bij een Joomla pagina)? Welke cookies zijn belangrijk? Ik heb nu deze code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$uri
= "http://www.example.com/index.php?option=blaat";

$contextOptions = array(
    
"http" => array (
        
"header" => "Cookie: jalUserName=Username;PHPSESSID=abc12345;419f256etc.=532d83678etc.rn"
        
)
    );

$context = stream_context_create( $contextOptions );

$page = file_get_contents( $uri, false, $context );

echo
$page;
?>

Waarbij die laatste waarde in de cookie (419..) een 32 tekens lange Hex-waarde is met als waarde (532...) een 67 tekens lange hex-waarde. Als ik dit zo stuur krijg ik een error "Redirection limit reached". Kan ik daaruit concluderen dat de login op zich werkt, alleen dat ik word teruggestuurd naar de pagina en dat er daar wat mis gaat (ik draai dat script vanaf www.mijnsite.nl/script.php)? Of gaat die login sowieso niet goed? Als ik die laatste waarde met al die hex-shit weglaat, krijg ik gewoon de "niet gemachtigd deze pagina te bekijken error".

Weet iemand of dit gaat werken? Of kijkt Joomla naar meer dingen tijdens het inloggen, zoals IP waar het vandaan komt of User-Agent? En is dat dan nog ergens mee te nemen?

disclaimer: het gaat om het automatisch inlezen van een grote pagina met data waar ik wel toegang tot heb via de browser, maar dus niet via een script
Die Welt ist alles was der Fall ist.
pi_45799293
quote:
Op maandag 29 januari 2007 18:06 schreef CraZaay het volgende:
Die zijn er niet. Een 'externe module' is niets generieks, en 'een CMS systeem' ook niet.
Hoezo niet? er zijn ook tutorialen over het maken van een CMS zelf (voor standaard pagina's ed) maar is er anders dan een beschrijving hoe anderen werken met externe modules? zou fijn vinden om hier wat meer informatie over te hebben.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_45799770
quote:
Op maandag 29 januari 2007 17:18 schreef super-muffin het volgende:

[..]

Ja daar zat ik ook aan te denken. Met preg_match.
Maar ik dacht, misschien is er een makkelijkere manier.
Ik weet niet waar je het voor wil gebruiken maar hou er wel rekening mee dat de headers van een website vrij makkelijk zijn aan te passen waardoor een bezoeker ook kan doen alsof hij van jou domein afkomt.
-
pi_45799858
quote:
Op zaterdag 27 januari 2007 10:36 schreef JeRa het volgende:

[..]

Als PHP zegt dat ie op versie 5 draait, dan is de kans klein dat er ergens stukjes PHP4 achter zijn gebleven

Verder is het een goed idee om de configuratie met elkaar te vergelijken. Zolang die code die je net liet zien de enige relevante code is en je in eerste instantie alleen $_SESSION hebt gebruikt zonder dat dat werkte, is er iets vreemds aan de hand en is het slim om zo even het één en het ander te vergelijken ja.
Hij heeft uiteindelijk maar een ander pakket geïnstalleerd (xamp ofzo?) en die deed het wel gelukkig. Geen idee wat het probleem is geweest maar bedankt in ieder geval voor de hulp.
-
  maandag 29 januari 2007 @ 19:33:38 #165
107951 JortK
Immer kwaliteitsposts
pi_45800687
Weet iemand hoe dit kan? Ik krijg de volgende error: General error: 1406 Data too long for column 'search_d' at row 1 . Ik gebruik mysql en php5 en het veld type is 'text'.
..///
pi_45800837
Het datatype TEXT kan maar 216+2 bytes aan, oftewel 65538 tekens. Je zou een MEDIUMTEXT (224+2) of LONGTEXT (232+2) kunnen nemen.

Bron: http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html.
pi_45801051
quote:
Op maandag 29 januari 2007 19:48 schreef HuHu het volgende:
Het datatype TEXT kan maar 216+2 bytes aan, oftewel 65538 tekens. Je zou een MEDIUMTEXT (224+2) of LONGTEXT (232+2) kunnen nemen.

Bron: http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html.
Zowel met mediumtext als met longtext krijg ik de zelfde error. Het gaat overigens om 4399 tekens, dus waarschijnlijk ligt het ergens anders aan?
..///
pi_45801172
Ik moet er overigens bij zeggen dat ik gebruik maak van 'TRADITIONAL' als SQL mode en utf-8.
quote:
TRADITIONAL is shorthand for "both strict modes, plus a bunch of other restrictions."
This is more like the way that other "traditional" SQL DBMSs act with regard to data checking.
edit:

dit is dus de boosdoener: 'SET NAMES utf8'. (dat uitgevoerd wordt bij iedere verbinding). Moet ik dit maar gewoon weghalen of is er een andere manier om dit op te lossen?

[ Bericht 20% gewijzigd door wipes66 op 29-01-2007 20:05:09 ]
..///
pi_45801333
Ik lees ook dingen dat het zou kunnen liggen aan het feit dat je characters in de cel probeert te stoppen die niet voorkomen in de gebruikte charset.
  maandag 29 januari 2007 @ 20:05:18 #171
12880 CraZaay
prettig gestoord
pi_45801444
quote:
Op maandag 29 januari 2007 19:08 schreef Chandler het volgende:

[..]

Hoezo niet? er zijn ook tutorialen over het maken van een CMS zelf (voor standaard pagina's ed) maar is er anders dan een beschrijving hoe anderen werken met externe modules? zou fijn vinden om hier wat meer informatie over te hebben.
CMS systemen kun je op ontelbare manieren bouwen. 'Externe modules' (wat dat ook moge zijn) ook. Hoe wil je hier dan ooit een tutorial over schrijven, tenzij je definieert wat voor externe module voor welk CMS?

Om het anders te stellen: als je naar een garage gaat en je vraagt of ze een uitbreiding voor een auto kunnen bouwen, wat denk je dat ze dan zeggen?

[ Bericht 8% gewijzigd door CraZaay op 29-01-2007 20:22:55 ]
  maandag 29 januari 2007 @ 20:12:00 #172
107951 JortK
Immer kwaliteitsposts
pi_45801735
Damn kut IIS 5.1

Heb net PHP erbij geinstalleerd, maar nu iedere keer als ik een link naar een PHP pagina aanklik, wil me browser de PHP pagina gaan downloaden :S

Weet iemand wat er misgaat?

* JortK is nog een PHP n00bie
pi_45803342
Eerder een IIS newbie dan . Heb je alle stappen op deze pagina gedaan: http://www.php.net/manual/en/install.windows.iis.php?
  maandag 29 januari 2007 @ 21:04:29 #174
107951 JortK
Immer kwaliteitsposts
pi_45803991
quote:
Op maandag 29 januari 2007 20:50 schreef HuHu het volgende:
Eerder een IIS newbie dan . Heb je alle stappen op deze pagina gedaan: http://www.php.net/manual/en/install.windows.iis.php?
Nu wanneer ik de link aanklik naar het script... blijft deze oneindig laden

De zoektocht gaat door
pi_45804141
Een reboot gedaan?
  maandag 29 januari 2007 @ 21:19:28 #176
107951 JortK
Immer kwaliteitsposts
  FOK!-Schrikkelbaas maandag 29 januari 2007 @ 21:50:31 #177
1972 Swetsenegger
Egocentrische Narcist
pi_45806234
quote:
Op maandag 29 januari 2007 21:04 schreef JortK het volgende:

[..]

Nu wanneer ik de link aanklik naar het script... blijft deze oneindig laden
heb je geen infinite loop in je script?
  maandag 29 januari 2007 @ 22:07:30 #178
107951 JortK
Immer kwaliteitsposts
pi_45806958
Neej er zat een fout in me configuratie.

Echter wanneer ik nu het PHP script open, geeft Firefox de volgende melding:



* JortK heeft nog nooit zoveel geleerd op een avond
  maandag 29 januari 2007 @ 22:09:40 #179
107951 JortK
Immer kwaliteitsposts
  FOK!-Schrikkelbaas maandag 29 januari 2007 @ 22:41:26 #180
1972 Swetsenegger
Egocentrische Narcist
pi_45808379
Je php is blijkbaar niet goed geinstalleerd. Waarom wil je uberhaupt met IIS werken?
  maandag 29 januari 2007 @ 22:43:46 #181
107951 JortK
Immer kwaliteitsposts
pi_45808482
Omdat Apache een fucking foutmelding geeft op de een of andere manier... Is er ook een pakket waarin Apache en PHP al in één zitten... dat net zo lief
pi_45808800
quote:
Op maandag 29 januari 2007 22:43 schreef JortK het volgende:
Omdat Apache een fucking foutmelding geeft op de een of andere manier... Is er ook een pakket waarin Apache en PHP al in één zitten... dat net zo lief
AppServ, XAMPP
-
  maandag 29 januari 2007 @ 22:51:20 #183
107951 JortK
Immer kwaliteitsposts
  FOK!-Schrikkelbaas maandag 29 januari 2007 @ 23:06:23 #184
1972 Swetsenegger
Egocentrische Narcist
pi_45809539
quote:
Op maandag 29 januari 2007 22:43 schreef JortK het volgende:
Omdat Apache een fucking foutmelding geeft op de een of andere manier...
IIS ook
quote:
Is er ook een pakket waarin Apache en PHP al in één zitten... dat net zo lief
Like hundreds

Maar inderdaad, AppServ, Xamp en tientallen andere zogenaamde WAMP (windows Apache MySql PHP) installers, die er uiteraard ook zijn voor Linux (LAMP) en Mac (MAMP)
  maandag 29 januari 2007 @ 23:12:41 #185
107951 JortK
Immer kwaliteitsposts
pi_45809839
Ja sorry ik moet leren... dus kan zijn dat ik stomme vragen stel

Nu heb ik XAMPP geinstalleerd.. Apache draait ook weer (how strange)

Alleen nu als ik het PHP script run krijg ik een blank scherm, en als ik me source bekijk zie ik wel de code staan (de php code)

Iets gaat er dus nog niet goed
  FOK!-Schrikkelbaas maandag 29 januari 2007 @ 23:17:32 #186
1972 Swetsenegger
Egocentrische Narcist
pi_45810027
quote:
Op maandag 29 januari 2007 23:12 schreef JortK het volgende:
Ja sorry ik moet leren... dus kan zijn dat ik stomme vragen stel
Nee hoor, ik moest alleen even lachen
quote:
Nu heb ik XAMPP geinstalleerd.. Apache draait ook weer (how strange)
Hoezo is dat strange Apache is onderdeel van XAMPP
quote:
Alleen nu als ik het PHP script run krijg ik een blank scherm, en als ik me source bekijk zie ik wel de code staan (de php code)

Iets gaat er dus nog niet goed
Je hebt een fout in je script. je bent een ; of een } ofzo vergeten.
  maandag 29 januari 2007 @ 23:52:57 #187
18008 hornage
FOK! Movie Trivia-Prijsmeester
pi_45811218
ff in je php.ini show_errors ofzo aanzetten, dan geeft ie precies aan wat er misgaat.
Test je filmkennis! Speel mee met FOK! Movie Trivia en win prijzen!
pi_45815045
quote:
Op maandag 29 januari 2007 19:48 schreef HuHu het volgende:
Het datatype TEXT kan maar 216+2 bytes aan, oftewel 65538 tekens. Je zou een MEDIUMTEXT (224+2) of LONGTEXT (232+2) kunnen nemen.
Je zit er telkens ééntje te hoog
pi_45815182
quote:
Op dinsdag 30 januari 2007 06:42 schreef JeRa het volgende:

[..]

Je zit er telkens ééntje te hoog
Euh, 3 te hoog toch?
pi_45815313
quote:
Op dinsdag 30 januari 2007 07:31 schreef Light het volgende:

[..]

Euh, 3 te hoog toch?
Klopt
pi_45816137
quote:
Op maandag 29 januari 2007 20:05 schreef CraZaay het volgende:

[..]

CMS systemen kun je op ontelbare manieren bouwen. 'Externe modules' (wat dat ook moge zijn) ook. Hoe wil je hier dan ooit een tutorial over schrijven, tenzij je definieert wat voor externe module voor welk CMS?

Om het anders te stellen: als je naar een garage gaat en je vraagt of ze een uitbreiding voor een auto kunnen bouwen, wat denk je dat ze dan zeggen?
Je hebt deels gelijk, maar ik zie dus steeds meer scripts komen waarbij men apparte modules kan aanschaffen zoals een gastenboek, galerij, contact formulier, downloads, forum, etc etc etc... nu kun je deze scripts zo in een directory zetten en een installer draaien en klaar is kees!

Ik wil graag weten hoe verwerk je dit in een huidig systeem zoals een CMS die met modules werkt, oftewel modules aan / modules uit..

heb al aardig wat systemen bekeken maar kan er geen wijs uit worden...

zelf heb ik nu het volgende bedacht voor mijn CMS.

Iedere module bestaat uit 3 bestanden.
1. config
2. admin
3. het script

het script heeft een paar verschillende functies die voor alle scripts het zelfde zijn. (bv)

gallery.php

functions:
gallery_post() // om postings te verwerken
gallery_run() // laat gallery zien, $_GET kan deze zelf wel verwerken!
gallery_etc() // etc etc etc

nu gaat mijn CMS bij een $_SERVER['REQUEST_METHOD'] == "POST" eerst van deze module gallery_post() draaien voordat het gallery_run() draait..

snap je mijn idee? maar wil weten of het ook handig is zo?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_45816722
Is het niet makkelijker om zo'n module OO te schrijven?

Dus dat je een class gallery maakt, die allerlei erft van een parent class waarin dbase, authenticatie, variabele checks e.d. worden gedaan.

Dat lijkt me makkelijker te onderhouden en later uit te bereiden.
pi_45817498
smesjz: ik ben zelf helaas nog niet erg into OO maar zou je mij de voordelen daarvan kunnen vertellen en eventueel een voorbeeld?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 30 januari 2007 @ 10:52:41 #194
12880 CraZaay
prettig gestoord
pi_45817881
quote:
Op dinsdag 30 januari 2007 10:33 schreef Chandler het volgende:
smesjz: ik ben zelf helaas nog niet erg into OO maar zou je mij de voordelen daarvan kunnen vertellen en eventueel een voorbeeld?
Je hebt nog nooit met classes gewerkt Chandler? Zie voor meer info: http://nl3.php.net/oop

Je kunt classes 'extenden', waardoor deze nieuwe class toegang heeft tot de methods van z'n 'parent'.

Je gebruikt dan dus 1 class voor het standaard werk (dbase, etc), en een extension voor iedere module die je eraan wilt knopen. Dit zou je kunnen gebruiken voor je 'het script heeft een paar verschillende functies die voor alle scripts hetzelfde zijn'-verhaal
pi_45817961
Een vergelijking tussen OO en functioneel programmeren kan je met een beetje Google werk zelf ook wel vinden.
De verschillen zijn te groot vind ik om zo ff uit te leggen, dat is al door anderen duidelijker gedaan

Bij een CMS zou je kunnen een Pagina als een object kunnen beschouwen. Zo'n pagina kan je bijv. tonen, verwijderen, activeren e.d. (methods). En een pagina heeft wat eigenschappen zoals een titel, auteur, status, datum e.d. (properties).

En ieder Pagina object heeft een aantal Content elementen (children) die op hun beurt ook weer kunnen objecten zijn. Zo'n element heeft bijv. een type (video, tekst, link, e.d.) en kan verwijderd worden, gewijzigd, toegevoegd e.d. worden.

Het brengt wat meer logica in je code denk ik.
pi_45818803
quote:
Op dinsdag 30 januari 2007 10:52 schreef CraZaay het volgende:
Je hebt nog nooit met classes gewerkt Chandler? Zie voor meer info: http://nl3.php.net/oop
Tuurlijk wel, maar dan wel simpele oplossingen
quote:
Je kunt classes 'extenden', waardoor deze nieuwe class toegang heeft tot de methods van z'n 'parent'.

Je gebruikt dan dus 1 class voor het standaard werk (dbase, etc), en een extension voor iedere module die je eraan wilt knopen. Dit zou je kunnen gebruiken voor je 'het script heeft een paar verschillende functies die voor alle scripts hetzelfde zijn'-verhaal
ah, nu snap ik er helemaal de ballen meer van, maar ik ga php.net eens doorspitten.
quote:
Op dinsdag 30 januari 2007 10:56 schreef smesjz het volgende:
Een vergelijking tussen OO en functioneel programmeren kan je met een beetje Google werk zelf ook wel vinden.
De verschillen zijn te groot vind ik om zo ff uit te leggen, dat is al door anderen duidelijker gedaan
Ik dacht dus altijd dat classes vooral makkelijk te gebruiken waren wanneer je vaak dezelfde functies moest aanroepen met verschillende waarden zodat je bv gemakkelijker een 3d berekening kon doen...
quote:
Bij een CMS zou je kunnen een Pagina als een object kunnen beschouwen. Zo'n pagina kan je bijv. tonen, verwijderen, activeren e.d. (methods). En een pagina heeft wat eigenschappen zoals een titel, auteur, status, datum e.d. (properties).

En ieder Pagina object heeft een aantal Content elementen (children) die op hun beurt ook weer kunnen objecten zijn. Zo'n element heeft bijv. een type (video, tekst, link, e.d.) en kan verwijderd worden, gewijzigd, toegevoegd e.d. worden.
Ah, nog niet helemaal duidelijk maar ik begin het wat meer te begrijpen.
quote:
Het brengt wat meer logica in je code denk ik.
Hoeft natuurlijk niet, tis net waar je code voor gebruikt gaat worden...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_45819073
Ik wil me ook wel eens gaan verdiepen in OOP. Ik begin het nu (ook na de uitleg van Smesjz) een beetje te snappen.
pi_45819848
quote:
Op dinsdag 30 januari 2007 11:33 schreef Chandler het volgende:
Hoeft natuurlijk niet, tis net waar je code voor gebruikt gaat worden...
Logica in de zin dat je niet OF een hoop variabele global hoeft te maken OF mee als parameter heen en weer hoeft te gooien.

Zeker als je veel code gaat schrijven kan je losse classes denk ik makkelijker geschikt maken voor hergebruik. Je hoeft ook minder bang te zijn voor conflicten bij variabele en functie naamgeving.

Je kan een render() method hebben binnen een Pagina object en binnen een Element object en beiden zitten ze elkaar niet de weg. Maar als je geen OO gebruikt moet je dus altijd een prefix gebruiken.

Kortom: zowel functioneel als OO hebben voor- en nadelen, maar ik denk dat zeker bij grote projectjes als een CMS een OO achtige aanpak het slimst is.

Voor kleine zaken maakt het weinig uit welke aanpak je hanteert.


Zo kan je een abstracte classe maken als framework voor verdere implementatie door anderen en op die manier structuur afdwingen.
  FOK!-Schrikkelbaas dinsdag 30 januari 2007 @ 12:39:38 #199
1972 Swetsenegger
Egocentrische Narcist
pi_45820490
Het OO kwartje wil bij mij ook maar niet vallen.
Ik begrijp het concept, maar het goed toepassen blijft zo compleet anders denken dan dat ik na 25 jaar functioneel programmeren gewend ben.
  dinsdag 30 januari 2007 @ 12:49:01 #200
85514 ralfie
!Yvan eht nioj
pi_45820759
quote:
Op dinsdag 30 januari 2007 12:39 schreef Swetsenegger het volgende:
Het OO kwartje wil bij mij ook maar niet vallen.
Ik begrijp het concept, maar het goed toepassen blijft zo compleet anders denken dan dat ik na 25 jaar functioneel programmeren gewend ben.
Dat heb ik ook. Bij c++, java en zelfs javascript kan ik zat toepassingen bedenken, maar bij php gaat het niet verder als $db->query("select blah from blah where bla='blabla'"); En zelfs daar is het nut tegenover gewone functies mij nauwelijks duidelijk
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')