abonnement Unibet Coolblue Bitvavo
pi_24900456
Die functie kun je beter is_oneven noemen, want true = oneven. (zie edit)
pi_24902285
Ik zit met een database probleem, ik weet niet of jullie mij kunnen helpen maar ik denk het wel.
Ik wil het volgende maken voor een paar vogelaars : Een site waar ze de waarnemingen op kunnen zetten van verschillende excursies. Alleen nu weet ik niet goed hoe ik de database structuur op moet/kan zetten.

Ik heb 3 mogelijkheden bedacht

-3 tabellen, 1 tabel met excursie informatie, 1 met alle vogels die ooit gezien zijn, en 1 met een lijst vogels die een bepaalde excursie zijn gezien. Die 3e tabel zie ik dan als volgt : iedere keer dat er een nieuwe excursie is geweest vul je die tabel aan met alle vogels die zijn gezien en in de kolom "excursie" zet je het id van de desbetreffende excursie zodat je weet om welke excursie het gaat. Dus stel dat je iedere excursie 60 verschillende vogels ziet, groeit de tabel met 60 rijen.

-de 2e optie is 2 tabellen, 1 met alle excursie informatie net zo als bij optie 1, en 1 tabel met daarin alle vogels die ooit zijn gezien. Iedere keer dat je een excursie toevoegt groeit de tabel met 1 kolom waarin je (met bijv 1tjes en nulletjes) aangeeft welke vogels gezien zijn.

-de 3e optie is hetzelfde idee als de 2e optie alleen dan met tabel 2 omgedraaid, dus dat alle vogels een eigen kolom hebben en de rijen dus steeds groeien met iedere excursie.

Ik hoor graag welke optie het beste is of als ze alledrie niet goed zijn hoe het dan wel moet
pi_24902568
Ik zou voor 3 tabellen gaan.
  donderdag 3 februari 2005 @ 14:40:21 #154
73209 dnzl
Minimalist.
pi_24902699
quote:
Op dinsdag 1 februari 2005 20:49 schreef capetonian het volgende:

[..]

Um , ..... dit is een makkie, ..... in je process, .... gebruik php's mail() functie om een bericht te versturen, laat dit dan direct naar de database insert gebeuren, ... wat leuk is is dan nog twee kleine tooltjes in te bouwen, .... een zodat jij een bericht krijgt op het moment dat je collega zijn of haar bericht leest (je kan het als optie aanvinken bij het versturen van je bericht), en om evt een subroutine in te bouwen dat checkt of de bericht al is gelezen en deze dan (bijvoorbeeld) een herrinering laten versturen
[ code verwijderd ]

Uuuh, .. als je niet uitkomt, .. mag je me op msn toevoegen.
Zou je me misschien verder kunnen helpen? (MSN stayfan [@] gmail.com).

Thanks
pi_24902831
quote:
Op donderdag 3 februari 2005 14:34 schreef Roönaän het volgende:
Ik zou voor 3 tabellen gaan.
Ok bedankt!
Dat leek mij ook de beste eigenlijk.
Dan ga ik die eens wat verder uitwerken of zijn er nog andere mensen die een beter idee hebben?
pi_24903063
Nee ik ga Mr -r- achterna
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  donderdag 3 februari 2005 @ 16:19:50 #157
73209 dnzl
Minimalist.
pi_24903852
quote:
Op donderdag 3 februari 2005 14:40 schreef dnzl het volgende:

[..]

Zou je me misschien verder kunnen helpen? (MSN stayfan [@] gmail.com).

Thanks
Even anders / makkelijker geformuleerd.

Op dit moment heb onderstaand script voor het invoegen van gegevens die via een formulier binnnen komen. Deze gegevens zijn zichtbaar als "nsiemp" inlogt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php 
$aannemer=$user['firstname']; 
$contact=$_POST['contact']; 
$bedrijf=$_POST['bedrijf']; 
$tel=$_POST['tel']; 
$email=$_POST['betreft']; 
$betreft=$_POST['betreft']; 
$bericht=$_POST['bericht']; 
$nsiemp=$_POST['nsiemp']; 

$sql = "  
INSERT INTO calls (aannemer, contact, bedrijf, tel, email, betreft, bericht, nsiemp) VALUES ('$aannemer','$contact','$bedrijf','$tel','$email','$betreft','$bericht','$nsiemp') ";   
mysql_query($sql) or die (mysql_error());  
?> 


De invoer in nsiemp staat ook in de database in de tabel 'users'. Ik zou zo graag willen dat erop dit e-mailadres een standaard mailtje terecht kwam met de melding "Er staan nieuwe gegevens voor u klaar, ga naar....". Meer niet.

De vergelijking die gemaakt moet worden is dus alsvolgt nsiemp -> user -> user1 -> user1@mail.com.

Kan iemand me hiermee helpen?
pi_24903950
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_24906642
quote:
Op donderdag 3 februari 2005 16:19 schreef dnzl het volgende:

[..]

Even anders / makkelijker geformuleerd.

Op dit moment heb onderstaand script voor het invoegen van gegevens die via een formulier binnnen komen. Deze gegevens zijn zichtbaar als "nsiemp" inlogt.
[ code verwijderd ]

De invoer in nsiemp staat ook in de database in de tabel 'users'. Ik zou zo graag willen dat erop dit e-mailadres een standaard mailtje terecht kwam met de melding "Er staan nieuwe gegevens voor u klaar, ga naar....". Meer niet.

De vergelijking die gemaakt moet worden is dus alsvolgt nsiemp -> user -> user1 -> user1@mail.com.

Kan iemand me hiermee helpen?
Je oplossing voor het probleem is vrij eenvoudig, namelijk de mail functie aanroepen na je insert. Daarna blijft natuurlijk de vraag waarom je van je $_POST array op zo'n omslachtige wijze losse variabelen maakt. Ten eerste is dat onnodig en ten tweede zou je dat via de extract functie kunnen doen en ten derde zou je gewoon netjes niets moeten doen de array en gewoon als een array gebruiken .
pi_24907229
quote:
Op donderdag 3 februari 2005 19:23 schreef rickmans het volgende:

[..]

Je oplossing voor het probleem is vrij eenvoudig, namelijk de mail functie aanroepen na je insert. Daarna blijft natuurlijk de vraag waarom je van je $_POST array op zo'n omslachtige wijze losse variabelen maakt.

Ten eerste is dat onnodig
Als je er verder niets mee doet dan is het vrij zinloos. Maar het is een mooie gelegenheid om te controleren op ongewenste input.
quote:
en ten tweede zou je dat via de extract functie kunnen doen
Hebben ze eindelijk om veiligheidsredenen register_globals=off gezet, ga jij ff de extract-funtie promoten
quote:
en ten derde zou je gewoon netjes niets moeten doen de array en gewoon als een array gebruiken .
Huh? wat?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_24907457
quote:
Op donderdag 3 februari 2005 20:02 schreef SuperRembo het volgende:

[..]

Als je er verder niets mee doet dan is het vrij zinloos. Maar het is een mooie gelegenheid om te controleren op ongewenste input.
Wat is er mis om per key te controleren? dus:
1
2
3
4
5
<?php
if(empty($_POST["bloep"])){
//blaat
}
?>
Het is nutteloos om alleen daarom een array te vervormen tot aparte variabelen.
quote:
[..]

Hebben ze eindelijk om veiligheidsredenen register_globals=off gezet, ga jij ff de extract-funtie promoten
Ik volg je niet, waar zit volgens jou een veiligheidsprobleem?
quote:
[..]

Huh? wat?
http://php.net/array zie de documentatie over wat een array precies is en wat voor functionaliteit het biedt .
pi_24908444
quote:
Op donderdag 3 februari 2005 20:15 schreef rickmans het volgende:

[..]

Wat is er mis om per key te controleren? dus:
[ code verwijderd ]
Ja zo kan 't ook.
Ik maak m'n script altijd zo dat in $_POST ongevalideerde data staat. Als ik een andere variabele gebruik dan weet ik zeker dat 't gevalideerd is. Als je $_POST[..] variabelen ook elders in je script gebruikt dan kan 't gebeuren dat je 'm vergeet te controleren.
quote:
Het is nutteloos om alleen daarom een array te vervormen tot aparte variabelen.
[..]
Ik volg je niet, waar zit volgens jou een veiligheidsprobleem?
extract($_POST) gebruiken geeft dezelfe risico's als register_globals = on, het overschrijven van variabelen. Overschrijven is 't standaard gedrag als je geen extract_type opgeeft.
quote:
http://php.net/array zie de documentatie over wat een array precies is en wat voor functionaliteit het biedt .
"en ten derde zou je gewoon netjes niets moeten doen de array en gewoon als een array gebruiken"
Een array ken ik wel, maar die zin is krom en ik snap 'm niet.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_24909465
quote:
Op donderdag 3 februari 2005 21:13 schreef SuperRembo het volgende:

[..]

extract($_POST) gebruiken geeft dezelfe risico's als register_globals = on, het overschrijven van variabelen. Overschrijven is 't standaard gedrag als je geen extract_type opgeeft.
Nee dat is niet het geval. $_POST["foo"] is net zo min of net zo makkelijk te overschrijven als $foo met de setting van register_globals. Extract zorgt alleen voor het onndige feit dat je je array splits in een aantal variabelen. Deze variabelen zijn met de juiste register_globals niet overschrijfbaar. Mocht je weten hoe dat wel zou moeten, dan zou ik graag een stukje proof of concept zien .
quote:
[..]

Een array ken ik wel, maar die zin is krom en ik snap 'm niet.
Hetgeen dat ik bedoelde is dat je een array gewoon moet benutten waar die bedoelt voor is en dat het maken van aparte variabelen voor iedere key volstrekt onnodig typwerk is en wellicht zelfs nog overhead veroorzaakt. Daarnaast kan het onduidelijkheid veroorzaken met het debuggen aangezien het niet direct duidelijk hoe de variabele in het process terecht is gekomen, dat laatste kan uiteraard voorkomen worden door een goede naming convention, maar dan nog is het voor mij dezelfde actie als:
1
2
3
4
5
6
7
8
9
<?php
$a
= 1;
$b = $a;

//wat in jouw geval te lezen is als:
$a = array(1,2);
$
1 = $a[0];
$
2 = $a[1];
?>


Indien je gebruik maakt van andere variabelen zodat je weet dat deze gevalideerd zijn is dat een kleine valide reden (namelijk verzicht) en waarschijnlijk veroorzaakt het een voor jou niet merkbare overhead. Echter het blijft te overwegen of het wel overzichtelijk blijft en of het de overhead waard is .
pi_24910109
quote:
Op donderdag 3 februari 2005 22:04 schreef rickmans het volgende:
Nee dat is niet het geval. $_POST["foo"] is net zo min of net zo makkelijk te overschrijven als $foo met de setting van register_globals. Extract zorgt alleen voor het onndige feit dat je je array splits in een aantal variabelen. Deze variabelen zijn met de juiste register_globals niet overschrijfbaar. Mocht je weten hoe dat wel zou moeten, dan zou ik graag een stukje proof of concept zien .
1
2
3
4
5
6
7
8
if (authenticated_user()) { 
   $authorized = true; 

extract($_POST);
// $authorized _kan_ nu overschreven zijn
if ($authorized) {
    echo $secrect_information; 
}

(Hier mankeert natuurlijk meer aan dan aleen het gebruik van extract(), het is dan ook slechts een voorbeeld)
quote:
Hetgeen dat ik bedoelde is dat je een array gewoon moet benutten waar die bedoelt voor is en dat het maken van aparte variabelen voor iedere key volstrekt onnodig typwerk is en wellicht zelfs nog overhead veroorzaakt. Daarnaast kan het onduidelijkheid veroorzaken met het debuggen aangezien het niet direct duidelijk hoe de variabele in het process terecht is gekomen, dat laatste kan uiteraard voorkomen worden door een goede naming convention, maar dan nog is het voor mij dezelfde actie als:
[ code verwijderd ]

Indien je gebruik maakt van andere variabelen zodat je weet dat deze gevalideerd zijn is dat een kleine valide reden (namelijk verzicht) en waarschijnlijk veroorzaakt het een voor jou niet merkbare overhead.
Ach, een key zoeken in een array kost ook tijd.
quote:
Echter het blijft te overwegen of het wel overzichtelijk blijft en of het de overhead waard is .
Ik vind het zeer overzichtelijk dat ongevalideerde user-input maar op 1 plaats voor komt.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_24916115
quote:
Op donderdag 3 februari 2005 22:35 schreef SuperRembo het volgende:

[..]
[ code verwijderd ]

(Hier mankeert natuurlijk meer aan dan aleen het gebruik van extract(), het is dan ook slechts een voorbeeld)
! dat is geen security issue, dat is gewoon heel slecht programmeer werk, waarbij je een variable overschijft door een andere waarde terwijl dat niet de bedoeling is !.
  Admin vrijdag 4 februari 2005 @ 08:42:04 #166
725 crew  Breuls
Bad Wolf
pi_24916241
1// $authorized _kan_ nu overschreven zijn


Ik zou niet graag zulke onzekerheden in mijn code programmeren.
I am a leaf on the wind.
Watch how I soar.
pi_24919679
ok ik heb het volgende:

1
2
3
4
5
<?php
// Dit wordt uit de datbase uitgelezen
$buttonname = "$record->buttonname";
$buttonname = explode(",", $buttonname);
?>


Nu heb ik ook dit:

1
2
3
4
<?php
echo '<td width="0%"><div align="center"><B><a href="?page='.$buttonlink[0].'">'.str_replace("%20", "
"
, $buttonname[0]);'</a></div</td>';
?>


Nu wil dat dit laatste zich blijft weergeven netzolang totdat $buttonname leeg is. Maar elke keer als deze 'td' wordt weergegeven, dan moet er bij buttonname en buttonlink een 1 dr bij worden opgeteld.
  FOK!-Schrikkelbaas vrijdag 4 februari 2005 @ 12:57:53 #168
1972 Swetsenegger
Egocentrische Narcist
pi_24919729
quote:
Op vrijdag 4 februari 2005 12:53 schreef jeroen-heeft-koffie-nodig het volgende:


Nu wil dat dit laatste zich blijft weergeven netzolang totdat $buttonname leeg is. Maar elke keer als deze 'td' wordt weergegeven, dan moet er bij buttonname en buttonlink een 1 dr bij worden opgeteld.
Ehmz, als je elke keer bij $buttonname 1 optelt wordt ie toch nooit leeg

ow, wacht je wilt de volgende uit de array? Correct?
pi_24919754
quote:
Op vrijdag 4 februari 2005 12:57 schreef Swetsenegger het volgende:

[..]

Ehmz, als je elke keer bij $buttonname 1 optelt wordt ie toch nooit leeg

ow, wacht je wilt de volgende uit de array? Correct?
ja klopt!

edit netzolang totdat de array leeg is!
  FOK!-Schrikkelbaas vrijdag 4 februari 2005 @ 13:01:25 #170
1972 Swetsenegger
Egocentrische Narcist
pi_24919780
quote:
Op vrijdag 4 februari 2005 12:59 schreef jeroen-heeft-koffie-nodig het volgende:

[..]

ja klopt!

edit netzolang totdat de array leeg is!
1
2
3
4
5
6
<?php
foreach($buttonname as $whatever){

//doe je html ding met $whatever ipv $buttonname]
}
?>
pi_24919896
quote:
Op vrijdag 4 februari 2005 13:01 schreef Swetsenegger het volgende:

[..]
[ code verwijderd ]
1
2
3
4
5
6
7
8
<?php
$buttonname
= explode(",", $buttonname);
foreach(
$buttonname as $buttonname){
echo
'<td width="0%"><div align="center"><B>
<a href="?page='
.$buttonlink[0].'">'.str_replace("%20", "
"
, $buttonname['0']);'</a></div</td>';
}
?>


Heb ik nu gedaan, het werkt gedeeltelijk, hoewel ik nu alleen nog maar elke keer de 1e letter van de array krijg, en niet het gehele woord voor de komma. Ook blijft overal buttonlink hetzelfde
  FOK!-Schrikkelbaas vrijdag 4 februari 2005 @ 13:13:17 #172
1972 Swetsenegger
Egocentrische Narcist
pi_24919936
quote:
Op vrijdag 4 februari 2005 13:11 schreef jeroen-heeft-koffie-nodig het volgende:

[..]
[ code verwijderd ]

Heb ik nu gedaan, het werkt gedeeltelijk, hoewel ik nu alleen nog maar elke keer de 1e letter van de array krijg, en niet het gehele woord voor de komma. Ook blijft overal buttonlink hetzelfde

met foreach $buttonname as $buttonname overschrijf je je array.
Doe eens foreach $buttonname as $knopnaam en gebruik $knopnaam in je html
En uiteraard blijft buttonlink hetzelfde, die staat niet in de foreach.

1
2
3
4
5
6
7
8
9
10
<?php
$a
=0;
foreach(
$buttonname as $knopnaam){

echo
'<td width="0%"><div align="center"><B>
<a href="?page='
.$buttonlink[$a].'">'.str_replace("%20", "
"
, $knopnaam);'</a></div</td>';
$a++;
}
?>


NB: Niet getest, maar zoiets zou moeten werken.

[ Bericht 29% gewijzigd door Swetsenegger op 04-02-2005 20:05:58 (; vergeten :')) ]
  FOK!-Schrikkelbaas vrijdag 4 februari 2005 @ 13:51:30 #173
1972 Swetsenegger
Egocentrische Narcist
pi_24920633
Trouwens... ik neem aan dat de naam van de knop en de link van de knop in 1 record staan en je dus meerdere records in de database hebt, zoiets dus:

0 | home | www.website.com/index.php
1 | info | www.website.com/info.php

etc.

Klopt dat?
Waarom lees je de resultaten van je query dan in een array? Het is toch handiger om gewoon met een whilelus je resultaten in je HTML te zetten?
pi_24923453
quote:
Op vrijdag 4 februari 2005 13:51 schreef Swetsenegger het volgende:
Waarom lees je de resultaten van je query dan in een array? Het is toch handiger om gewoon met een whilelus je resultaten in je HTML te zetten?
Hij heeft dat vast in een data access layer staan die netjes een array terug geeft
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_24923647
quote:
Op vrijdag 4 februari 2005 08:22 schreef rickmans het volgende:

[..]

! dat is geen security issue, dat is gewoon heel slecht programmeer werk, waarbij je een variable overschijft door een andere waarde terwijl dat niet de bedoeling is !.
Dat is dus het standaard gedrag van extract() zonder extract_type parameter. Het gebruik van extract() bevorderd slecht programmeerwerk, dat was mijn punt.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')