abonnement Unibet Coolblue Bitvavo
pi_31588956
Ik heb een mailfunctie die mij een zipbestand als attachment stuurt:
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
Define
(DB,"database12");//define database
Define(EMAIL,"backup@domein.com");//define email
function MailBackup($content)
{
    
$filename = "Backup_".DB."_".date("d_m_y").".zip";    
    
$content = gzencode($content);

    
//should be a "more unique" string, worked for the test
    
$boundary = md5(time());

    
//base-64 encode
    
$content = chunk_split(base64_encode($content));

    
$subject = 'Backup van '.DB.' - '.date("m_d_y");

    
$headers  = 'MIME-Version: 1.0' ."\n"
              
. 'Content-type: multipart/mixed; boundary="' .$boundary .'"' ."\n"
              
. 'From: archive.php <postmaster@domein.nl>' ."\n"
              
. 'Reply-To: postmaster@domein.nl ' ."\n";

    
$headers .= "--" .$boundary ."\n"
             
. "Content-type: multipart/mixed;\n"
             
. 'Content-Disposition: attachment;'
             
. 'filename='.$filename .";\n"
             
. 'Content-transfer-encoding: base64' ."\n\n"
             
. $content ."\n\n"
             
. '--' .$boundary .'--';

    
mail(EMAIL, $subject, $message, $headers);
}
?>

Lijkt me dat je er wel wat mee kunt.
pi_31589497
Bedankt ikke_ook. Ik zal er morgen alles eens uitgebreid gaan bestuderen. Ik denk dat het wel moet lukken met de info die ik tot nu toe heb gekregen.

pi_31589522
hmm ik zie dat t eigenlijk [PHP/(My)SQL] voor dummies - deel 14 had moeten zijn
Kan een modje die zich verveelt dat ff fixen?Staat mooier in t lijstje
pi_31589773
tvp!

Ben nu maar weer eens MySQL aan het proberen te instaleren... Is nooit gelukt

Met mijn Reg_exp voor urls en emails wil ook niet echt
  Lieve Belg donderdag 20 oktober 2005 @ 22:11:36 #6
86282 Jump
[Belg.] Jump (de ~ (m.))
pi_31589782
ikko_ook: aangepast
Op zondag 28 oktober 2007 01:07 schreef clumsy_clown het volgende:
Jump daarentegen, is wįy minder braaf en lief dan hij lijkt
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; «shmoop|dingen» jawel, jij bent Superjump
  Lieve Belg donderdag 20 oktober 2005 @ 22:29:26 #7
86282 Jump
[Belg.] Jump (de ~ (m.))
pi_31590403
Ff sommige mensen op volgend topic attent maken: Voor alle users die TVP's gebruik(t)en.

Hoe spijtig ik het ook vind
Op zondag 28 oktober 2007 01:07 schreef clumsy_clown het volgende:
Jump daarentegen, is wįy minder braaf en lief dan hij lijkt
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; «shmoop|dingen» jawel, jij bent Superjump
pi_31606833
Ik heb een tellertje gebouwd, nu wil ik doormiddel van een cookie zorgen dat mensen maar 1 keer per dag geteld worden.

Hoe kan ik er voor zorgen dat een cookie ALTIJD verloopt om twaalf uur s'nachts. Mijn hele script werkt al, het cookie verloopt nu alleen al na een uur.


1
2
3
4
<?php
setcookie
("tellerblokkeren", "true",time()+3600, "/");

?>
Ja lekker!
pi_31607121
De tijd die staat voor 12 uur die nacht - time() is het aantal seconden dat time() verwijderd is van middernacht. Dat kun je vervolgens in setcookie voor 3600 in de plaats zetten. Het uitvinden hoe je de middernachtdatum uit kunt vinden lukt je vast wel
Hatsjoe!
pi_31607337
quote:
Op vrijdag 21 oktober 2005 16:42 schreef Ali Salami het volgende:
De tijd die staat voor 12 uur die nacht - time() is het aantal seconden dat time() verwijderd is van middernacht. Dat kun je vervolgens in setcookie voor 3600 in de plaats zetten. Het uitvinden hoe je de middernachtdatum uit kunt vinden lukt je vast wel
Ehm.. nee.. Hier snap ik dus serieus helemaal geen hol van. Maar misschien ligt dat gewoon aan mij. :s
Ja lekker!
  vrijdag 21 oktober 2005 @ 17:16:46 #11
1607 Ali Salami
Altijd actueel
pi_31607815
Nou, je zet die cookie op 12 uur 's nachts. Je moet dus weten op welke timestamp hij moet aflopen. Die timestamp is per dag variabel.

Overigens had ik het fout zonet, want je kunt uiteraard met die timestamp ook meteen het koekje zetten. Je gaat dus de timestamp uitzoeken die staat voor 12 uur die nacht. Dat doe je doormiddel van mktime(). Uiteraard moet je vantevoren uitzoeken welke dag het dan is, welke maand en welk jaar.

Je krijgt dus iets als

1
2
3
<?php
$koekje
=mktime(00,00,00,$maand,$dag,$jaar);
?>


Die waarde zet je vervolgens in het koekje

1
2
3
<?php
setcookie
("tellerblokkeren", "true",$koekje, "/");  
?>
Hatsjoe!
pi_31608475
En waarom niet gewoon:
1
2
3
<?php
setcookie
("tellerblokkeren", "true", strtotime("tomorrow 0"), "/");
?>
  vrijdag 21 oktober 2005 @ 18:18:39 #13
1607 Ali Salami
Altijd actueel
pi_31609076
Die nul geeft dan aan dat het op 00.00 uur moet worden gezet? Zo ja, dan is dat nog simpeler
Hatsjoe!
pi_31609191
quote:
Op vrijdag 21 oktober 2005 18:18 schreef Ali Salami het volgende:
Die nul geeft dan aan dat het op 00.00 uur moet worden gezet? Zo ja, dan is dat nog simpeler
Yep. Je mag ipv 0 ook 0:0:0 schrijven, dat komt op hetzelfde neer
pi_31613161
strtotime() is een erg ondergewaardeerde functie waarmee je heel gemakkelijk relatieve tijden kunt maken (in de trant van '+1 day') en welke rekening houdt met zomer- en wintertijd. Aanradertje

Tevens tvp
pi_31614565
strtotime() is inderdaad een handige functie, zolang je er maar voor zorgt dat de input correct is.
pi_31621833
Even een kort vraagje...
Ik ben met een spelletje bezig in php en alles voorloopt voorspoedig alleen heb ik wat problemen met de random in php, je zou kunnen zeggen dat het een hele goeie random is want je hebt werkelijk geen idee wat je krijgt alleen het nadeel is dat een spelletje een stabiele random nodg heeft en geen random die heel veel meer extremen laat zien dan gewoon elk getal ongeveer even vaak.

Voorbeeldje:
rand(1,10);
dan laat ie zien: 1,3,1,4,8,7,8,8,6,1,2
en ik heb dus liever dat ie wat 'eerlijker' omgaat met de getallen en niet de uitersten extra vaak, een spel moet een beetje eerlijk zijn en anders krijg je dat je werkelijk geen idee hebt hoe de uitkomst zal zijn.

Wat valt hieraan te doen?
-
pi_31621891
Volgens mij is rand toch behoorlijk random. Dat kun je zelf ook testen met iets als:
1
2
3
4
5
6
7
8
9
<?php
$randoms
= array();
for(
$i=0;$i&lt;10000;$i++) {
    
$randoms[rand(1,10)] += 1;
}
echo
"<pre>";
var_dump($randoms);
echo
"</pre>";
?>


Een uitkomst die ik daarmee krijg is
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
array(10) {
  [9]=>
  int(993)
  [1]=>
  int(991)
  [4]=>
  int(1021)
  [6]=>
  int(1065)
  [2]=>
  int(956)
  [10]=>
  int(1069)
  [5]=>
  int(982)
  [3]=>
  int(949)
  [7]=>
  int(995)
  [8]=>
  int(979)
}


Niet allemaal precies 1000 keer, maar de afwijking is ook niet echt groot.
pi_31621896
Het is normaal, omdat uitersten gewoon meer voorkomen. (1-3,7-10) en (4-6)

Je zou met 2 random's (dobbelstenen) kunnen werken, en deze laten optellen.

dus bv:
rand(1,5) en rand(0,5)

1 maal een nul om een uitkomst 1 ook mogelijk te maken.
Nu is een kans op 6 groter dan op een 1:
getallen om 6 te krijgen: 0+6,1+5,2+4,3+3,4+2,5+1
getallen om 1 te krijgen: 0+1

Ofwel: de kans om een 6 te krijgen, is 6 maal groter dan de kans op een 1
pi_31623155
quote:
Op zaterdag 22 oktober 2005 09:32 schreef the_disheaver het volgende:
Het is normaal, omdat uitersten gewoon meer voorkomen. (1-3,7-10) en (4-6)
Hoe kom je daar bij rand() heeft een uniforme distributie, elke mogelijke uitkomst heeft een gelijke kans.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31623971
quote:
Op vrijdag 21 oktober 2005 17:49 schreef Light het volgende:
En waarom niet gewoon:
[ code verwijderd ]
Dit werkt perfect! Thx!
Ja lekker!
  zaterdag 22 oktober 2005 @ 12:15:50 #22
47819 vbmot
Are those my feet?
pi_31624138
quote:
Op zaterdag 22 oktober 2005 11:21 schreef SuperRembo het volgende:

[..]

Hoe kom je daar bij rand() heeft een uniforme distributie, elke mogelijke uitkomst heeft een gelijke kans.
Er is heel wat geschreven over de bagger implementaties van random functies die in heel wat compilers e.d. worden gebruikt. Ik zou er dus niet blindelings op vertrouwen.
Looking for hotspots: wardriving or whoredriving?
Personal spam: http://www.kenya2ndhand.com
pi_31624473
quote:
Op zaterdag 22 oktober 2005 12:15 schreef vbmot het volgende:

[..]

Er is heel wat geschreven over de bagger implementaties van random functies die in heel wat compilers e.d. worden gebruikt. Ik zou er dus niet blindelings op vertrouwen.
Dat zal best. Maar geldt dat ook voor php? Uit een testje zoals die van Light blijkt helemaal geen afwijking.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31624481
quote:
Op zaterdag 22 oktober 2005 11:21 schreef SuperRembo het volgende:

[..]

Hoe kom je daar bij rand() heeft een uniforme distributie, elke mogelijke uitkomst heeft een gelijke kans.
Ja, de uitkomst zou iig gelijk zijn, en is het waarschijnlijk nagenoeg ook.

Maar als je naar de getallen 1-10 kijkt, en daar de uiterste waarde uit gaat halen:

Dat zijn 1,2,3&8,9,10
De niet uiterste waarde zijn 4,5,6,7

Ofwel: 6/10de is een uiterste waarde, ofwel de kans op een uiterste waarde is 60%.
pi_31624579
quote:
Op zaterdag 22 oktober 2005 12:15 schreef vbmot het volgende:

[..]

Er is heel wat geschreven over de bagger implementaties van random functies die in heel wat compilers e.d. worden gebruikt. Ik zou er dus niet blindelings op vertrouwen.
Dan ga je het testen, zoals met die paar regels code van mij.
pi_31624796
quote:
Op zaterdag 22 oktober 2005 12:33 schreef the_disheaver het volgende:

[..]

Ja, de uitkomst zou iig gelijk zijn, en is het waarschijnlijk nagenoeg ook.

Maar als je naar de getallen 1-10 kijkt, en daar de uiterste waarde uit gaat halen:

Dat zijn 1,2,3&8,9,10
De niet uiterste waarde zijn 4,5,6,7

Ofwel: 6/10de is een uiterste waarde, ofwel de kans op een uiterste waarde is 60%.
Dat ligt gewoon aan wat jij onder "uiterste waarde" verstaat. Je kan ook zeggen dat 1 en 10 de uiterste waarden zijn, dan is de kans op een uiterste waarde 20%.
Voor gewoon gebruik kan je er van uit gaan dat de rand() functie eerlijk is, elke waarde heeft een gelijke kans.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31632883
Vraagje:
Ik heb een cms gebouw, de pagina;s worden opgelagen in een mysql tabel.
Maar ik wil in een enkele pagina ook php gebruiken hoe kan ik dat doen?
pi_31635498
Ik ben opzoek naar een script om fotoalbums 'online' te krijgen. Ik heb al redelijk wat gezocht, gecopy-paste, maar het lukt met maar niet..

Ik zoek een script waarbij je:
>> Zipfiles uploaden
>> Zipfiles die je ftp hebt geupload openen
>> De foto's automatisch resizen
>> De foto dumpen in een aparte map per fotoalbum

Iemand?
pi_31642558
quote:
Op zaterdag 22 oktober 2005 20:45 schreef fokME2 het volgende:
Ik ben opzoek naar een script om fotoalbums 'online' te krijgen. Ik heb al redelijk wat gezocht, gecopy-paste, maar het lukt met maar niet..

Ik zoek een script waarbij je:
>> Zipfiles uploaden
>> Zipfiles die je ftp hebt geupload openen
>> De foto's automatisch resizen
>> De foto dumpen in een aparte map per fotoalbum

Iemand?
Gallery?
pi_31649606
quote:
Op zaterdag 22 oktober 2005 18:38 schreef Darkomen het volgende:
Vraagje:
Ik heb een cms gebouw, de pagina;s worden opgelagen in een mysql tabel.
Maar ik wil in een enkele pagina ook php gebruiken hoe kan ik dat doen?
Misschien iets met eval() ?
pi_31650945
quote:
Op zaterdag 22 oktober 2005 18:38 schreef Darkomen het volgende:
Vraagje:
Ik heb een cms gebouw, de pagina;s worden opgelagen in een mysql tabel.
Maar ik wil in een enkele pagina ook php gebruiken hoe kan ik dat doen?
niet?

je wilt gebruikers toch niet toestaan om php te gaan intypen? Het is toch een content management en niet "script hier buggy zooi" management.
pi_31650985
Is niet voor gebruikers, is gewoon voor mezelf en 2 anderen, die zijn te vertrouwen.
pi_31651069
Die kunnen dus scripts uploaden en die bied je via het cms aan om een script te kunnen selecteren uit de geuploade scripts, of op basis van filename. die include je vervolgens..

Maar inderdaad, eval is je vriend als je het anders wilt.

-r-
pi_31675227
hee ff gauw tussendoor,

wat is een acceptabele grootte voor een mysql tabel? met andere woorden, wanneer wordt het teveel?

de query's zullen vooral bestaan uit 'select dit waar dat is 1', dus een hoop zoekwerk. Hoeveel rijen zou ongeveer acceptabel zijn, en wat kan beter echt mijn limiet zijn?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_31675273
Zolang je database-structuur in orde is, is er eigenlijk geen limiet.
  dinsdag 25 oktober 2005 @ 11:15:39 #36
61660 Lariekoek
Zo, jij bent echt grappig.
pi_31676201
Ik ben bezig met een webshop. Bij elk artikel moet ook een unieke tekst toegevoegd kunnen worden. Deze laad ik in een sessie en laat ik in het winkelmandje zien. Alleen wanneer ik nu meerdere artikellen van tekst wil voorzien staat bij elk artikel dezelfde tekst.

Ik gebruik de volgende code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if (isset($verzonden))
          {
            
$_SESSION['tekst'] = $tekst;
          }
          echo
"<form method=\"post\" action=\"$PHP_SELF\">\n";
          echo
"<td><font color=\"#DAAE57\"> Tekst: </td>";
          echo
"<td><input type=\"text\" name=\"tekst\" size=\"17\" maxlength=\"9\">";
          echo
"<td><font size=\"1\" face=\"Arial\"><font color=\"#FFFFFF\">Max. 9 posities in hoofdletters</font</td>";
          echo
"</tr><tr>";
          echo
"<td><font color=\"#DAAE57\"> Kleur opdruk: </td>";
          echo
"<td><select size=\"1\" name=\"kleuropdruk\">
                <option>Zwart</option>
                <option>Wit</option></select></td>"
;
          echo
"<input type=\"submit\" name=\"verzonden\" value=\"Toevoegen\">";
          echo
"</form>";
?>


Iemand een idee hoe ik ervoor zorg dat bij elk artikel de eigen unieke tekst komt te staan? Het scherm laat trouwens in een keer alle artikkelen zien waaraan tekst toegevoegd kan worden. En dit is ook de bedoeling.
la·rie·koek (de ~ (m.)) 1 onzin
  dinsdag 25 oktober 2005 @ 11:38:49 #37
2391 Jimmy
Door het bot
pi_31676736
Waarom zou je zoveel tekst in een sessie gaan plaatsen?

Edit: als die tekst uit de database komt, waarom zou je het dan via de sessie in de html zetten?

Je kan die stap toch ook overslaan en het vanuit de database in de html plakken.
Rock 'n Roll Motherfucker - Join the Rock 'n Roll Jihad!
www.last.fm/user/JimmyShelter
Jimmy Shelter
Sleazerock.nl
  dinsdag 25 oktober 2005 @ 11:55:00 #38
61660 Lariekoek
Zo, jij bent echt grappig.
pi_31677074
Nee het word niet in de database opgeslagen.
De tekst bij het artikel moeten klanten zelf kunnen toevoegen.
la·rie·koek (de ~ (m.)) 1 onzin
pi_31677855
$_SESSION['tekst'] is geen array.

hint:
1
2
3
<?php
$_SESSION
['tekst']['__ARTICLE_ID__']
?>
pi_31682250
Ik heb weer is een probleem

Voor mijn forum een of andere hack er in geplaatst zodat ik PHP kan invoegen. Alleen de volgende regel geeft een foutmelding:

1while (preg_match("x3C% INCLUDE \"(S*?)\" %x3E",$ibforums->skin['template'],$incmatches)>0)


quote:
Warning: Delimiter must not be alphanumeric or backslash in /usr/home/jeroen/www/forum/sources/functions.php on line 2135
edit: whats wrong with it ? hoe kan ik het werkend krijgen? danku!
La derecha oprime, la izquierda libera
pi_31684056
1while (preg_match("/x3C% INCLUDE \"(\\S*?)\" %x3E/",$ibforums->skin['template'],$incmatches)>0)


Of

1'/x3C% INCLUDE "(\S*?)" %x3E/'


Dat scheelt een paar keer het escapen van de " en \.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31684068
wat dacht je van een / aan het begin en het einde van je delimiter? (Je eerste argument van preg_match)
Denk ik...
pi_31684096
niet delimiter maar pattern bedoelde ik.
Bah wat is het traag, ik bedoel dus wat SR zegt...
pi_31686189
Hmm de foutmelding is weg, maar ik kan nog steeds geen pagina include-en.. mischien dat iemand iets in deze code ziet wat niet klopt?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
///

/// Find file sources/functions.php

/// at the beginning after php and copyright insert these lines (between ///)

///

function include_hack_handler($buf)

{       

    global
$include_temp_str;

    
$include_temp_str.=$buf;

    return
"";

}

///


/// In sources/functions.php find this line:

$text = preg_replace( "/(<|<)% (BOARD HEADER|CSS|JAVASCRIPT|TITLE|BOARD|STATS|GENERATOR|COPYRIGHT|NAVIGATION) %(>|>)/i", "&#60;% \2 %&#62;", $text );

/// Replace it with

$text = preg_replace( "/(<|<)% (BOARD HEADER|CSS|JAVASCRIPT|TITLE|BOARD|STATS|GENERATOR|COPYRIGHT|NAVIGATION|INCLUDE \"\S*?\") %(>|>)/i", "&#60;% \2 %&#62;", $text );

///


///

///In file sources/functions.php find

    
function do_output($output_array) {

        global
$DB, $Debug, $skin_universal, $ibforums;

/// replace with

    
function do_output($output_array) {

        global
$DB, $Debug, $skin_universal, $ibforums, $include_temp_str;

///


///

///In file sources/functions.php after

  
$ibforums-&gt;skin['template'] = str_replace( "<% NAVIGATION %>"     , $nav                     , $ibforums-&gt;skin['template']);


/// insert this

                //

                //  Include tag hack

                //

                
$incmatches=array();

                while (
preg_match("x3C% INCLUDE \"(S*?)\" %x3E",$ibforums-&gt;skin['template'],$incmatches)&gt;0)

                {

                    
$include_temp_str="";

                    
ob_start('include_hack_handler');

                    include(
$incmatches[1]);

                    
ob_end_flush();

                    
$ibforums-&gt;skin['template'] = str_replace("<".$incmatches[0].">",$include_temp_str,$ibforums-&gt;skin['template']);

                    
$incmatches=array();

                }

///


//Now you can use this directive in board wrapper:


&lt;% INCLUDE "http://www.yourdomain.com/test.php" %&gt;


//You can include any valid PHP or HTML file this way.
?>
La derecha oprime, la izquierda libera
pi_31686579
Ik zie wel dat de nieuwe code-tag met scrollbars knap waardeloos is als de horizontale scrollbar buiten beeld is
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31687222
quote:
Op dinsdag 25 oktober 2005 21:16 schreef SuperRembo het volgende:
Ik zie wel dat de nieuwe code-tag met scrollbars knap waardeloos is als de horizontale scrollbar buiten beeld is
[offtopic]
Ik vind de oplossing van GoT in ieder geval beter, die bieden een knopje waarmee je weliswaar de layout verneukt (nou ja, voor één post), maar wel in één keer de code ziet
pi_31693763
In principe kan je code tags idd gewoon collapsen tot één regel waar alleen "klik hier voor alle code" staat. Geen idee of dat is wat GoT doet?
pi_31693767
GoT laat normaal een scrollbare versie van de code zien, en indien gewenst kun je de code tot volledige breedte uitklappen goeiemorgen trouwens!
pi_31693810
Goedemorgen

Een ander forum waar ik zit is simpelweg niet gecentreerd en daar loopt de layout gewoon aan de rechterkant door. Daar is ook geen ubb, maar is het invoerveld hetzelfde als de post wordt, dmv pre en een mooie font. Ik moet zeggen dat dat erg prettig werkt. Images plaatsen kan alleen via links natuurlijk dan, maar goed. Het is erg clean.
pi_31693845
quote:
Op woensdag 26 oktober 2005 05:53 schreef Roļæ½aļæ½ het volgende:
In principe kan je code tags idd gewoon collapsen tot één regel waar alleen "klik hier voor alle code" staat. Geen idee of dat is wat GoT doet?
Dat heb ik inderdaad ook wel eens gezien, en dat werkt ook wel handig
pi_31693851
quote:
Op woensdag 26 oktober 2005 06:40 schreef Light het volgende:

[..]

Dat heb ik inderdaad ook wel eens gezien, en dat werkt ook wel handig
Wow, volgens mij gaat er iets niet goed met de encoding van Roönaäns naam in die quote

[ Bericht 2% gewijzigd door JeRa op 26-10-2005 06:50:01 ]
pi_31693858
Hmmja, vaag.
pi_31693867
Browser restart werkt ook al niet
pi_31695383
Maar iemand enig idee hoe ik die 'hack' werkend krijg?
La derecha oprime, la izquierda libera
  woensdag 26 oktober 2005 @ 12:22:04 #55
61660 Lariekoek
Zo, jij bent echt grappig.
pi_31697740
Nog even 2 vraagjes..
Ik ben bezig met een winkelmandje waarbij gebruikers een artikel kunnen selecteren en hier zelf een persoonlijke tekst bij kunnen toevoegen.

Vanuit het winkelmandje volgt er een link naar de pagina teksttoevoegen.php waar de tekst toegevoegd kan worden. Dit sla ik op in een sessie.

1
2
3
4
5
6
7
8
9
<?php
if (isset($verzonden))
          {
            
$_SESSION['tekst']['artikel_id'] = $tekst;
          }
          echo
"<form method=\"post\" action=\"$PHP_SELF\">\n";
          echo
"<td><font color=\"#DAAE57\">Tekst:</td>";
          echo
"<td><input type=\"text\" name=\"tekst\" size=\"17\" maxlength=\"9\">";
?>


In het winkelmandje lees ik dit vervolgens weer uit

1
2
3
4
<?php

      
echo "<td width=\"85\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#FFFFFF\">".$tekst['artikel_id']."</td>";
?>


Nu heb ik 2 probleempjes.

De eerste keer tekst toevoegen gaat goed, en laat hij keurig de ingevoerde tekst zien. Wanneer ik deze tekst nu wil wijzigen krijg ik als tekst terug Array.

Wanneer er van 1 artikel twee stuks besteld worden moet er twee keer tekst ingevuld worden. Dit mag twee keer een andere tekst zijn, alleen neemt hij de eerst ingevoerde tekst klakkeloos over.

Iemand enig idee hoe ik deze 2 problemen kan oplossen?
la·rie·koek (de ~ (m.)) 1 onzin
pi_31698696
1) Dan maak je dus niet goed gebruik van Arrays.
2) Zie 1.

Btw, wat leesvoer: http://nl3.php.net/variables.predefined & http://nl3.php.net/register_globals

Tip: laat meer van je code zien, want we kunnen op deze manier niks
  woensdag 26 oktober 2005 @ 13:23:59 #57
61660 Lariekoek
Zo, jij bent echt grappig.
pi_31699061
Dit is zeg maar de gehele code.

winkelwagen.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?php
php
session_start
();
include
"config.inc.php";
echo
"<body bgcolor=\"#000000\">";
echo
"<body link=\"#FFFFFF\" vlink=\"#FFFFFF\" alink=\"#FFFFFF\">";

// Toevoegen
if( isset( $_POST['ADD'] ) && ereg('^[1-9][0-9]*$', $_POST['aantal'])) {
$_SESSION['winkelwagen'][$_POST['artikelid']] = $_POST['aantal'];
}
// Verwijderen
if( isset( $_GET['DEL'] ) ) {
unset(
$_SESSION['winkelwagen'][$_GET['DEL']]);
}
// Laat lijst zien
if( $_SESSION['winkelwagen'] ) {
  
$totaal = 0;
  
$totaalart = 0;
  echo
"<table border=\"0\" width=\"539\" cellspacing=\"0\" cellpadding=\"0\" id=\"table1\">";
  echo
"<tr>";
  echo
"<td width=\"47\" align=\"center\"><b><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\">Aantal</font></b></td>";
  echo
"<td width=\"58\" align=\"center\"><b><font face=\"Verdana\" color=\"#DAAE57\" size=\"2\">Naam</font></b></td>";
  echo
"<td width=\"152\" align=\"center\"><b><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\">Omschrijving</font></b></td>";
  echo
"<td width=\"73\" align=\"center\"><b><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\">Prijs in ¤</font></b></td>";
  echo
"<td width=\"85\" align=\"center\"><b><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\">Tekst</font></b></td>";
  echo
"<td width=\"91\" align=\"center\"><b><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\">Tekst kleur</font></b></td>";
  echo
"<td width=\"20\" align=\"center\"> </td>";
  echo
"</tr>";
  foreach (
$_SESSION['winkelwagen'] as $key=&gt;$val )
  {
    
$sql = "SELECT * FROM artikel WHERE artikel_id=$key";
    
$resultaat = mysql_query($sql);
    while (
$rij = mysql_fetch_array($resultaat))
    {
      echo
"<tr>";
      echo
"<td width=\"47\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#FFFFFF\">$val</td>";
      echo
"<td width=\"58\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#FFFFFF\">".$rij["naam"]."</td>";
      echo
"<td width=\"152\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#FFFFFF\">".$rij["omschrijving"]."</td>";
      
$totaalart = totaalart + ($rij["prijs"] * $val);
      echo
"<td width=\"73\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#FFFFFF\">".number_format($totaalart, 2, ',', ' ')."</td>";
      echo
"<td width=\"85\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#FFFFFF\">".$tekst[$artikel_id]."</td>";
      echo
"<td width=\"91\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#FFFFFF\"></td>";
      echo
"<td width=\"20\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\"><a href=\"$PHP_SELF?DEL=$key\"><img src=\"images\del.gif\" border=\"0\" alt=\"Verwijder ".$rij["naam"]."\"></a></td>";
      echo
"</tr>";
      
$totaal = $totaal + ($rij["prijs"] * $val);
    }
  }
  echo
"<tr>";
  echo
"<td width=\"47\" align=\"center\"> </td>";
  echo
"<td width=\"58\" align=\"center\"> </td>";
  echo
"<td width=\"152\" align=\"center\"><b><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\">Totaal bedrag:</font></b></td>";
  echo
"<td width=\"73\" align=\"center\"><font size=\"2\" face=\"Verdana\" color=\"#DAAE57\">".number_format($totaal, 2, ',', ' ')."</font></td>";
  echo
"<td width=\"85\" align=\"center\"> </td>";
  echo
"<td width=\"91\" align=\"center\"> </td>";
  echo
"<td width=\"20\" align=\"center\"> </td>";
  echo
"</tr>";
  echo
"</table>";
  } else {

    echo
"<font color=\"#FFFFFF\">De winkelwagen is momenteel leeg...";

}

if (
$_GET["artikelid"]) {

    
$sql = "SELECT * FROM artikel WHERE artikel_id=".$_GET["artikelid"];
    
$result = mysql_query($sql);
    if (
mysql_num_rows($result) &gt; 0) {
    
$naam = mysql_result($result, 0, "Naam");
    
$prijs = number_format(mysql_result($result, 0, "Prijs"), 2, ',', ' ');
    echo
"<font color=\"#DAAE57\">Artikel toevoegen aan winkelwagen</font>";
    echo
"<form method=\"post\" action=\"$PHP_SELF\">";
    echo
"<input type=\"hidden\" name=\"artikelid\" value=\"$artikelid\">";
    echo
"<input type=\"text\" name=\"aantal\" value=\"1\" size=\"2\" maxlength=2>";
    echo
"<font color=\"#FFFFFF\"> x Artikel: $naam (prijs: $prijs euro)</font>";
    echo
"<input type=\"submit\" name=\"ADD\" value=\"Toevoegen\">";
    echo
"</form>";
    }
}
?>


teksttoevoegen.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
php
session_start
();
include
"config.inc.php";
echo
"<body bgcolor=\"#000000\">";
echo
"<body link=\"#FFFFFF\" vlink=\"#FFFFFF\" alink=\"#FFFFFF\">";
$sitepad = "images/";

if(
$_SESSION['winkelwagen'] )
{
  foreach(
$_SESSION['winkelwagen'] as $key=&gt;$val )
  {
    
$sql = "SELECT * FROM artikel WHERE artikel_id=$key";
    
$resultaat = mysql_query($sql);
    while (
$rij = mysql_fetch_array($resultaat))
    for (
$nr=1; $nr&lt;=$val; $nr++)
    {
      
$sql = "SELECT * FROM afbeelding WHERE artikel_id=".$rij["artikel_id"];
      
$afbeeldingen = mysql_query($sql);
      if (
mysql_num_rows($afbeeldingen) &gt; 0)
      {
        while (
$afb_rij = mysql_fetch_array($afbeeldingen))
        {
          
$bestandsnaam = $sitepad.$afb_rij["afbeelding_id"].$afb_rij["bestandstype"];
          echo
"$key";
          echo
"".$tekst['__artikel_id__']."";
          echo
"<table border=0>";
          echo
"<tr>";
          echo
"<td><font color=\"#DAAE57\">Artikel:</td>";
          echo
"<td><img src=\"$bestandsnaam\" width=\"125\" height=\"30\"></td>";
          echo
"<td align=\"left\" valign=\"top\"></td>";
          echo
"</tr><tr>";
          echo
"<td>";
          echo
"<font color=\"#DAAE57\">Prijs per stuk:";
          echo
"</td>";
          echo
"<td><font color=\"#DAAE57\">".number_format($rij["prijs"], 2, ',', '')."</td>";
          echo
"<td></td>";
          echo
"</tr><tr>";
          if (isset(
$verzonden))
          {
            
$_SESSION['tekst'][$artikel_id] = $tekst;
          }
          echo
"<form method=\"post\" action=\"$PHP_SELF\">\n";
          echo
"<td><font color=\"#DAAE57\">Tekst:</td>";
          echo
"<td><input type=\"text\" name=\"tekst\" size=\"17\" maxlength=\"9\">";
          echo
"<td><font size=\"1\" face=\"Arial\"><font color=\"#FFFFFF\">Max. 9 posities in hoofdletters</font></td>";
          echo
"</tr><tr>";
          echo
"<td><font color=\"#DAAE57\">Kleur opdruk:</td>";
          echo
"<td></td>";
          echo
"<input type=\"submit\" name=\"verzonden\" value=\"Toevoegen\">";
          echo
"</form>";
          echo
"</tr>";
          echo
"</table>";
        }
      }
    }
  }
}
?>
la·rie·koek (de ~ (m.)) 1 onzin
pi_31699170
1
2
$tip = 'als je enkele quotes gebruikt 
    dan hoef je "dubbele quotes" niet te escapen';
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  woensdag 26 oktober 2005 @ 13:33:48 #59
61660 Lariekoek
Zo, jij bent echt grappig.
pi_31699288
quote:
Op woensdag 26 oktober 2005 13:29 schreef SuperRembo het volgende:

[ code verwijderd ]
Ok thnx
la·rie·koek (de ~ (m.)) 1 onzin
pi_31699613
teksttoevoegen.php
r41 $_SESSION['tekst'][$artikel_id] = $tekst;
Waar staan $artikel_id & $tekst ?

Ik ga 'm verder niet debuggen, is niet te doen met zo'n code (nofi). Ik raad je aan om toch maar eens een goed boek of een aantal goede tutorials te lezen.
pi_31702987
Ik heb mijn code nu min of meer werkend.. Alleen mn script moet een cookie controlleren (of je ingelogd bent) en dan een slowchat weergeven. Wat er nu gebeurd is dat alleen de regel Welkom gast! log in voor meer opties. .

Terwijl ik, als ik naar het document zelf ga, wel gewoon alles zie (dus cookie klopt nogsteeds).

Iemand een idee? Werkt mn controlle niet na een include?
La derecha oprime, la izquierda libera
pi_31703893
ik heb het min of meer opgelost nog wel wat kleine kinderziektes..
La derecha oprime, la izquierda libera
pi_31706174
Ik heb een probleem en ik begin ondertussen redelijk wanhopig te worden. Ik kan namelijk geen enkele oplossing bedenken/vinden. Ik heb een PHP bestand dat een afbeelding upload en deze vervolgens aan mij mailt. Maar bij dat laatste gaat het soms mis. Behoorlijk mis.

De afbeelding wordt wél geupload, maar de mail met de afbeelding wordt niet naar mij verzonden. Dat terwijl degene die de afbeelding upload wél een bedankmailtje krijgt.

Ik ben erachter gekomen dat afbeeldingen met extra data niet worden gemailt. Een gewoon JPEG-tje gaat prima. Maar een foto van een digitale camera, met daarin allerlei gegevens als merk, datum, tijd, thumbnail, enz... , loopt compleet in de soep.

Hieronder de code voor het mailtje naar mij toe:

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
$header
="";
$message="";
$boundary='--' . md5( time() );
$priority='3 (Normal)';
$charset="iso-8859-1";
$ctencoding="8bit";
$subject="Een nieuwe afbeelding";
$body  = "Een nieuwe afbeelding.";
$to="mij@mail.nl";
$from=$naam."<".$email.">";
$sep= chr(13) . chr(10);
$ctype=$_FILES['imagefile']['type'];
$disposition="inline";
$filename = basename($path);
$message .="--$boundary\n";
$message .= "Content-Type: text/plain; charset=$charset\n";
$message .= "Content-Transfer-Encoding: $ctencoding\nContent-Disposition: $disposition\n\n" . $body ."\n";
$message .="--$boundary\nContent-Type: $ctype; name=\"$filename\"\n";
$message .="Content-Transfer-Encoding: base64\nContent-Disposition: attachment; filename=\"$filename\"\n";
$linesz= filesize($path)+1;
$fp= fopen( $path, 'r' );
$content = chunk_split(base64_encode(fread( $fp, $linesz)));
fclose($fp);
$message .= $sep.$content.$sep.$boundary."--";

$header.="From: $from\nX-Priority: $priority\n";
$header.="Mime-Version: 1.0\nContent-Type: multipart/mixed;\n boundary=\"$boundary\"\n";
$header.="Content-Transfer-Encoding: $ctencoding\nX-Mailer: Php/libMailv1.3\n";

mail($to,$subject,$message."\n",$header);
?>


Als iemand hierin een fout ziet, of een goed werkend script weet, dan hoor ik het graag.
pi_31706206
Owja: de $naam, $email en $path worden bovenin ergens gemaakt. Dat gaat gewoon goed.
pi_31708367
quote:
Die bovenste link is niet voor bijlagen, voor zover ik het begrijp.

Die andere 2 links zijn classes die je moet installeren, maar daar kan ik (volgens mij) niet bij. Ik heb gewoon een server bij een hosting provider en niet een eigen server.

Of begrijp ik het gewoon verkeerd?
pi_31708401
Overigens heb ik de code overgenomen van http://nl3.php.net/manual/en/ref.mail.php#54863 .
pi_31716373
Gewoon phpmailer gebruiken. Een class is niets meer dan een phpscript met een class definition erin. Als je zelf php files op je server kan zetten, kan je ook de derde class erop zetten. PEAR kan je ook zelf erop zetten, maar kost wat meer moeite als je beginnende PHPer bent. (Niet veel moeite though).
pi_31717391
Ik ben niet zo goed met joins etc, dus dat wil ik leren maar wat doe ik fout bij deze join?

"SELECT p.username,p.id,p.Model FROM profielen p INNER JOIN profielen_images i ON i.user_id = p.id WHERE COUNT(i.id) > 0"

Ik heb dus 2 tabellen, profielen en profielen_images en ik wil de profielen selecteren welke 1 of meerdere fotos hebben?
pi_31717425
quote:
Op donderdag 27 oktober 2005 05:47 schreef Roonaan het volgende:
Gewoon phpmailer gebruiken. Een class is niets meer dan een phpscript met een class definition erin. Als je zelf php files op je server kan zetten, kan je ook de derde class erop zetten. PEAR kan je ook zelf erop zetten, maar kost wat meer moeite als je beginnende PHPer bent. (Niet veel moeite though).
Ok... ik heb PHPmailer geinstalleerd en hij werkt. Maar mijn probleem is nog steeds niet over. JPG bestanden met daarin EXIF informatie (eigenaar, merk, datum, enz...) kan ik niet als bijlage meegeven. De mail wordt dan gewoon niet verzonden. Dat terwijl PHPmailer gewoon een "Message has been sent" geeft.

Kan het soms aan de mailserver liggen?
pi_31717578
quote:
Op donderdag 27 oktober 2005 09:13 schreef Darkomen het volgende:
Ik ben niet zo goed met joins etc, dus dat wil ik leren maar wat doe ik fout bij deze join?

"SELECT p.username,p.id,p.Model FROM profielen p INNER JOIN profielen_images i ON i.user_id = p.id WHERE COUNT(i.id) > 0"

Ik heb dus 2 tabellen, profielen en profielen_images en ik wil de profielen selecteren welke 1 of meerdere fotos hebben?
Als je de count in je WHERE clausule zet, moet je die ook wel in je select zetten. Dat INNER JOIN is volgens mij niet nodig, en kan je gewoon vervangen door een komma.

SELECT count(*), p.id FROM profielen p, profielen_images i WHERE i.user_id = p.id AND count(p.id) > 0

Ik weet niet zeker of het werkt, maar ik denk dat je zo in de goede richting zit.
Vicariously I live while the whole world dies
pi_31717645
quote:
Op donderdag 27 oktober 2005 09:15 schreef HuHu het volgende:

[..]

Ok... ik heb PHPmailer geinstalleerd en hij werkt. Maar mijn probleem is nog steeds niet over. JPG bestanden met daarin EXIF informatie (eigenaar, merk, datum, enz...) kan ik niet als bijlage meegeven. De mail wordt dan gewoon niet verzonden. Dat terwijl PHPmailer gewoon een "Message has been sent" geeft.

Kan het soms aan de mailserver liggen?
Echo de mail eens, eens kijken wat je krijgt.

Edit: Die query klopt ook niet, ik begin er steeds minder van te begrijpen :S
pi_31717744
quote:
Op donderdag 27 oktober 2005 09:31 schreef Darkomen het volgende:

[..]

Echo de mail eens, eens kijken wat je krijgt.

Edit: Die query klopt ook niet, ik begin er steeds minder van te begrijpen :S
Het werkt wel, de headers en zo zijn allemaal correct. Er wordt alleen niets verzonden. Gebruik ik een andere JPG of een tekst-document als bijlage, dan krijg ik binnen een seconde die mail in m'n inbox.

En probeer jij de query van nyny83 eens. Een inner join is gewoon een lijstje van tabellen die je bij de FROM opneemt (gescheiden door komma's) en de voorwaarden (i.user_id = p.id) neem je op in de WHERE.
pi_31717825
Hij zegt al dat het niet werkt.. welke foutmelding krijg je? Ik kan het hier natuurlijk niet zelf testen, ik heb jouw tabellen niet etc. Misschien kunnen we wat met je foutmelding.
Vicariously I live while the whole world dies
pi_31717876
even niet goed gelezen. Misschien is dit wat. Ik neem aan dat de profielen zonder image niet voorkomen in profielen_images.

1
2
3
4
SELECT p.id
FROM profielen p
WHERE p.id IN (SELECT i.user_id
               FROM profielen_images i)


Met deze query verzamel je alle ID's uit profielen die voorkomen in profielen_images. Dacht ik.
pi_31718006
Huhu uddm die komen daar niet in voor, ik kreeg "SELECT count(*), p.id FROM profielen p, profielen_images i WHERE i.user_id = p.id AND count(p.id) > 0
Invalid use of group function"

Ik ga zo even die andere query proberen.


Verdwijnt die mail trouwens niet gewoon in een junkmail of geblokeerd door je provider? eg. probeer eens een andere email adres om na te verzenden?
pi_31718066
aha... da's waar ook ja, als je een count doet moet je altijd een group by doen. Probeer eens aan het einde GROUP BY p.id te doen.
Vicariously I live while the whole world dies
pi_31718101
Een ander mailadres maakt ook niet uit. Heb het geprobeerd met Demon, HCCnet. Gmail en de Universiteit Utrecht.

Ik ga toch echt vermoeden dat het aan mijn server ligt. Ik ga eens kijken of ik op een andere server kan testen.
pi_31718103
Nah je bovenstaande query werkt ook al dus ik ben blij, maar toch even geprobeerd
SELECT count(*), p.id FROM profielen p, profielen_images i WHERE i.user_id = p.id AND count(p.id) > 0 GROUP BY p.id
Invalid use of group function
  FOK!-Schrikkelbaas donderdag 27 oktober 2005 @ 10:01:24 #80
2057 Tokus
whale oil beef hooked
pi_31718106
quote:
Op donderdag 27 oktober 2005 09:56 schreef Darkomen het volgende:
Huhu uddm die komen daar niet in voor, ik kreeg "SELECT count(*), p.id FROM profielen p, profielen_images i WHERE i.user_id = p.id AND count(p.id) > 0
Invalid use of group function"
zoals hierboven al gezegd, voor een count moet je een Group By in je query hebben.
Maar... je "and count(p.id) > 0" zal ook niet werken.
Daarvoor moet je "having count(p.id) > 0" gebruiken.
Nothing lasts forever but the certainty of change
pi_31718158
quote:
Op woensdag 26 oktober 2005 16:49 schreef LeeHarveyOswald het volgende:
ik heb het min of meer opgelost nog wel wat kleine kinderziektes..
En 1 van die kinderziektes blijkt toch iets ernstiger...

Als ik als 'gast' naar www.pestforum.nl/chat.php ga krijg ik netjes 'welkom gast log in voor meer opties'

Als ik de regel invoeg in het forum, en dan als gast het forum bekijk, dan krijg ik enkel een blanco pagina.. (zelfs als ik bovenin de PHP code van de pagina die ik include een echo zet, dan zie ik die niet).

Echter, als ik wel ingelogd ben, dan werkt het wel goed..

iemand een idee?
La derecha oprime, la izquierda libera
pi_31718233
Kutserver

Op een andere server werkt het zonder problemen

Maar het probleem is dus (deels) opgelost. Het ligt in ieder geval niet aan mij.
pi_31718361
quote:
Op donderdag 27 oktober 2005 10:01 schreef Darkomen het volgende:
Nah je bovenstaande query werkt ook al dus ik ben blij, maar toch even geprobeerd
SELECT count(*), p.id FROM profielen p, profielen_images i WHERE i.user_id = p.id AND count(p.id) > 0 GROUP BY p.id
Invalid use of group function
nou snap ik het ff niet meer, met mn eerste query kreeg je toch ook een error? Werkt het nou allemaal wel of niet?
Vicariously I live while the whole world dies
pi_31718439
het werkt met de query:

SELECT p.id
FROM profielen p
WHERE p.id IN (SELECT i.user_id
FROM profielen_images i)
  FOK!-Schrikkelbaas donderdag 27 oktober 2005 @ 10:30:59 #85
2057 Tokus
whale oil beef hooked
pi_31718652
quote:
Op donderdag 27 oktober 2005 10:19 schreef Darkomen het volgende:
het werkt met de query:

SELECT p.id
FROM profielen p
WHERE p.id IN (SELECT i.user_id
FROM profielen_images i)
dat is onnodig moeilijk doen.

select p.id
from profielen p, profielen_images i
where p.id = i.user_id

zou precies hetzelfde resultaat moeten geven, maar is wel beter.
Nothing lasts forever but the certainty of change
pi_31718911
quote:
Op donderdag 27 oktober 2005 10:30 schreef Tokus het volgende:

[..]

dat is onnodig moeilijk doen.

select p.id
from profielen p, profielen_images i
where p.id = i.user_id

zou precies hetzelfde resultaat moeten geven, maar is wel beter.
Deze levert mij meerdere (157) resultaten op , dus alle images die in profiel_images staan.
De eerste query geeft me de disctincte userid op.
  FOK!-Schrikkelbaas donderdag 27 oktober 2005 @ 10:50:15 #87
2057 Tokus
whale oil beef hooked
pi_31719024
quote:
Op donderdag 27 oktober 2005 10:45 schreef Darkomen het volgende:

[..]

Deze levert mij meerdere (157) resultaten op , dus alle images die in profiel_images staan.
De eerste query geeft me de disctincte userid op.
Ah a, meerdere images. Dan zet je er een distinct tussen.
select distinct p.id......

maare, kan je tabel profielen_images user_id's bevatten die niet voorkomen in je tabel profielen? zo nee, dan kun je toch gewoon alleen selecteren uit je tabel profielen_images?
Nothing lasts forever but the certainty of change
pi_31719156
Niet alle info die ik nodig heb staat in de images tabel, vandaar dat ik de profielen tabel nodig heb.
pi_31719763
Is het mogelijk om te checken of een pagina ge-include is of niet?

Ik heb namelijk een probleem dat een php pagina af en toe ge-include wordt door een andere pagina, maar meestal gewoon direct wordt aangeroepen.

Deze pagina maakt gebruik van sessies, op het moment dat deze pagina ge-include wordt door een andere pagina krijg ik dus een session start error.

Nu wil ik dus eigenlijk in deze pagina een check maken of hij direct is aangeroepen of dat de pagina ge-include is. Aan de hand van het resultaat van deze check wil ik dan bepalen of de sessie gestart moet worden.

Ik hoop dat ik zo duidelijk genoeg ben geweest, zoja... is zoiets mogelijk?
Ja lekker!
pi_31720180
quote:
Op donderdag 27 oktober 2005 11:19 schreef Pronk het volgende:
Is het mogelijk om te checken of een pagina ge-include is of niet?

Ik heb namelijk een probleem dat een php pagina af en toe ge-include wordt door een andere pagina, maar meestal gewoon direct wordt aangeroepen.

Deze pagina maakt gebruik van sessies, op het moment dat deze pagina ge-include wordt door een andere pagina krijg ik dus een session start error.

Nu wil ik dus eigenlijk in deze pagina een check maken of hij direct is aangeroepen of dat de pagina ge-include is. Aan de hand van het resultaat van deze check wil ik dan bepalen of de sessie gestart moet worden.

Ik hoop dat ik zo duidelijk genoeg ben geweest, zoja... is zoiets mogelijk?
hey hey hey trekken we geen nummertjes meer tegenwoordig
La derecha oprime, la izquierda libera
pi_31721265
Er worden hier nooit nummertjes getrokken, jij hebt het probleem dat je een forum van een andere gebruikt en daar een hack van nog iemand anders gebruikt en ja niet iedereen kan je daar wat over vertellen.

In je pagina die de andere pagina include define('geinclude', true);
Op de geinclude pagina:
if (!defined('geinclude') )
{
/doe je sessie
}
pi_31721299
quote:
Op donderdag 27 oktober 2005 12:16 schreef Darkomen het volgende:
Er worden hier nooit nummertjes getrokken, jij hebt het probleem dat je een forum van een andere gebruikt en daar een hack van nog iemand anders gebruikt en ja niet iedereen kan je daar wat over vertellen.

In je pagina die de andere pagina include define('geinclude', true);
Op de geinclude pagina:
if ( defined('geinclude') )
{
/doe je sessie
}
Dat werkt inderdaad perfect! THX
Ja lekker!
pi_31721362
Oww ja, stond een foutje in, !defined moet het zijn
pi_31727472
quote:
Op donderdag 27 oktober 2005 10:07 schreef HuHu het volgende:
Kutserver

Op een andere server werkt het zonder problemen

Maar het probleem is dus (deels) opgelost. Het ligt in ieder geval niet aan mij.
http://nl3.php.net/exif

misschien dat hier verschilen zijn met beide servers?
quote:
Requirements

Your PHP must be compiled in with --enable-exif. PHP does not require any additional library for the exif module. Windows users must also have the mbstring extension enabled.
  donderdag 27 oktober 2005 @ 17:55:04 #96
61660 Lariekoek
Zo, jij bent echt grappig.
pi_31730561
Ik heb de boel maar even zwaar versimpeld.
Tot zover ben ik gekomen:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
php
$val
= 5;
for (
$nr=1; $nr&lt;=$val; $nr++)
{
  echo
"<form method='post' action='$PHP_SELF'>";
  echo
"<input type='text' name='arr[]' size='12' maxlength='9'><br>";
}
echo
"<input type='submit' value='Toevoegen'>";
echo
"</form>";
$test = $_POST['arr'];
echo
"$test";
?>


Na het drukken op toevoegen krijg ik nu steeds de text: Array
Ik doe ongetwijfeld iets fout, maar wat
la·rie·koek (de ~ (m.)) 1 onzin
pi_31730836
je maakt toch van arr een array dan is het logisch dat er array staat.

Doe maar eens print_r($_POST['arr']);
  donderdag 27 oktober 2005 @ 18:46:34 #98
61660 Lariekoek
Zo, jij bent echt grappig.
pi_31731809
quote:
Op donderdag 27 oktober 2005 18:07 schreef Darkomen het volgende:
je maakt toch van arr een array dan is het logisch dat er array staat.

Doe maar eens print_r($_POST['arr']);
Ja dat ziet er goed uit.
Die array is nu met een for lus weer uit te lezen neem ik aan?
la·rie·koek (de ~ (m.)) 1 onzin
pi_31732159
quote:
Op donderdag 27 oktober 2005 18:46 schreef Lariekoek het volgende:

[..]

Ja dat ziet er goed uit.
Die array is nu met een for lus weer uit te lezen neem ik aan?
Ja. Overigens staan dat soort dingen zeer duidelijk in de documentatie die jij uiteraard hebt doorgelezen.
  donderdag 27 oktober 2005 @ 19:04:15 #100
61660 Lariekoek
Zo, jij bent echt grappig.
pi_31732289
quote:
Op donderdag 27 oktober 2005 19:00 schreef sylvesterrr het volgende:

[..]

Ja. Overigens staan dat soort dingen zeer duidelijk in de documentatie die jij uiteraard hebt doorgelezen.
Ja!
Nog bedankt daarvoor..
la·rie·koek (de ~ (m.)) 1 onzin
  FOK!-Schrikkelbaas donderdag 27 oktober 2005 @ 20:16:26 #101
1972 Swetsenegger
Egocentrische Narcist
pi_31734464
Bestaat er een php functie welke een waarde snel procentueel kan vergelijken.
Met andere woorden:

if valueA-valueB < 5% van valueA

want (valueA-valueB)*(valueA/100) vind ik wat ranzig
pi_31734721
Lijk me niet dat die bestaat. Hoe had je dat in gedachten
En wat is er ranzig aan die vergelijking?

Gelukkig kan je zelf functies definieren in php
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas donderdag 27 oktober 2005 @ 20:34:00 #103
1972 Swetsenegger
Egocentrische Narcist
pi_31735010
Als een soort modulo ofzo
Ik zat heel ranzig te denken, maar toen ik hem hier boven uittikte vond ik het eigenlijk ook wel meevallen
pi_31736204
quote:
Op donderdag 27 oktober 2005 20:16 schreef Swetsenegger het volgende:
Bestaat er een php functie welke een waarde snel procentueel kan vergelijken.
Met andere woorden:

if valueA-valueB < 5% van valueA

want (valueA-valueB)*(valueA/100) vind ik wat ranzig
5% van valueA is niks anders dan
valueA * 0,05
  FOK!-Schrikkelbaas donderdag 27 oktober 2005 @ 21:20:14 #105
1972 Swetsenegger
Egocentrische Narcist
pi_31736615
quote:
Op donderdag 27 oktober 2005 21:07 schreef the_disheaver het volgende:

[..]

5% van valueA is niks anders dan
valueA * 0,05
Joh!

Dat is niet wat ik vraag
pi_31736812
Hee Superrembo, kom je weer meedoen met PHP Golf?

http://www.phpfreakz.nl/forum.php?forum=5&iid=721061
pi_31736824
quote:
Op donderdag 27 oktober 2005 20:16 schreef Swetsenegger het volgende:
Bestaat er een php functie welke een waarde snel procentueel kan vergelijken.
Met andere woorden:

if valueA-valueB < 5% van valueA

want (valueA-valueB)*(valueA/100) vind ik wat ranzig
if(valueA-valueB < valuaA / 20)

Ook ranzig?
  FOK!-Schrikkelbaas donderdag 27 oktober 2005 @ 21:37:42 #108
1972 Swetsenegger
Egocentrische Narcist
pi_31737206
quote:
Op donderdag 27 oktober 2005 20:34 schreef Swetsenegger het volgende:
Ik zat heel ranzig te denken, maar toen ik hem hier boven uittikte vond ik het eigenlijk ook wel meevallen
dusch...
pi_31738397
quote:
Op donderdag 27 oktober 2005 21:26 schreef Wifibro het volgende:
Hee Superrembo, kom je weer meedoen met PHP Golf?

http://www.phpfreakz.nl/forum.php?forum=5&iid=721061
Bedankt voor de tip.

En de lat ligt al op 52 tekens
(Limbo dansen, niet hoogspringen )
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas donderdag 27 oktober 2005 @ 22:20:11 #110
1972 Swetsenegger
Egocentrische Narcist
pi_31738583
Ik zal 'm maar even crossposten
quote:
Beste PHP-ers,


--[ PHP Golf
Een nieuwe editie van PHP Golf!

--[ Wat is PHP Golf?
De bedoeling is een PHP script te maken met zo min mogelijk karakters.
Dus zo min mogelijk letters, nummers, spaties, newlines en dergelijke.
Met het script moet je een doelstelling bereiken.
We gaan ervan uit dat je de recenste PHP 4.x, op het moment 4.4,
versie hebt en standaard php.ini configuratie. Tenzij anders vermeld.
(Standaard: register_globals = off)

Het script moet op UNIX-gebaseerde en Windows systemen werken.

--[ Voor wie is PHP Golf?
De competitie is voor iedereen toegankelijk.

--[ Inzendingen
Je kunt je oplossing sturen naar:

phpgolf [at] gmail.com
(Disclaimer: je e-mail zal niet worden gebruikt voor
spam of worden doorgegeven aan derden)

--[ Doelstelling
Het script moet de volgende output genereren:

ABCDEFGHIJKLMNOPQRSTUVWXYZ
BCDEFGHIJKLMNOPQRSTUVWXYZA
CDEFGHIJKLMNOPQRSTUVWXYZAB
DEFGHIJKLMNOPQRSTUVWXYZABC
EFGHIJKLMNOPQRSTUVWXYZABCD
FGHIJKLMNOPQRSTUVWXYZABCDE
GHIJKLMNOPQRSTUVWXYZABCDEF
HIJKLMNOPQRSTUVWXYZABCDEFG
IJKLMNOPQRSTUVWXYZABCDEFGH
JKLMNOPQRSTUVWXYZABCDEFGHI
KLMNOPQRSTUVWXYZABCDEFGHIJ
LMNOPQRSTUVWXYZABCDEFGHIJK
MNOPQRSTUVWXYZABCDEFGHIJKL
NOPQRSTUVWXYZABCDEFGHIJKLM
OPQRSTUVWXYZABCDEFGHIJKLMN
PQRSTUVWXYZABCDEFGHIJKLMNO
QRSTUVWXYZABCDEFGHIJKLMNOP
RSTUVWXYZABCDEFGHIJKLMNOPQ
STUVWXYZABCDEFGHIJKLMNOPQR
TUVWXYZABCDEFGHIJKLMNOPQRS
UVWXYZABCDEFGHIJKLMNOPQRST
VWXYZABCDEFGHIJKLMNOPQRSTU
WXYZABCDEFGHIJKLMNOPQRSTUV
XYZABCDEFGHIJKLMNOPQRSTUVW
YZABCDEFGHIJKLMNOPQRSTUVWX
ZABCDEFGHIJKLMNOPQRSTUVWXY

Nu mag jij het script programmeren en liefst zo kort mogelijk.


--[ Deadline:

De deadline is over 8 dagen.
Vrijdag 19:00 4 november 2005

-----

Post in dit topic vragen/suggesties.
GEEN OPLOSSINGEN!

Mocht je een oplossing hebben, dan mag je gerust je karakter aantal posten.
Dit om andere te stimuleren

Diegene die het minste karakters heeft gebruikt, wint!

Veel succes,

Tri Pham
  donderdag 27 oktober 2005 @ 23:12:30 #111
76312 sh4dow
ÆÆÆÆÆÆÆÆÆ
pi_31740561
Even een vraag, ik heb een tijdje een gastenboek script gebruikt met een tekstbestand. Nu heb ik zelf een nieuw gastenboek gemaakt met een mySQL database.
Graag zou ik de oude berichten uit het tekstbestand willen toevoegen aan de database, om de oude berichten niet verloren te laten gaan.

Het tekstbestand ziet er zo uit:
1
2
<?php $Bericht[] = array('Patrick','iemand@hotmail.com',' ','Herveld','14-09-2004 21:46:28','Berichtje'); ?>
<?php $Bericht[] = array('Thomas','iemand@hotmail.com',' ','Hoogkerk','14-09-2004 23:16:05','Berichtje'); ?>

enz, zo staan er 311 berichten in dit tekstbestand, in Arrays.
Hoe kan ik deze array nu splitten, en dan ieder bericht in een loop toevoegen aan de database?
  FOK!-Schrikkelbaas donderdag 27 oktober 2005 @ 23:14:41 #112
1972 Swetsenegger
Egocentrische Narcist
pi_31740647
quote:
Op donderdag 27 oktober 2005 23:12 schreef sh4dow het volgende:
Even een vraag, ik heb een tijdje een gastenboek script gebruikt met een tekstbestand. Nu heb ik zelf een nieuw gastenboek gemaakt met een mySQL database.
Graag zou ik de oude berichten uit het tekstbestand willen toevoegen aan de database, om de oude berichten niet verloren te laten gaan.

Het tekstbestand ziet er zo uit:
[ code verwijderd ]

enz, zo staan er 311 berichten in dit tekstbestand, in Arrays.
Hoe kan ik deze array nu splitten, en dan ieder bericht in een loop toevoegen aan de database?
staan er array's in het tekstbestand of platte tekst welke je zelf array maakt?

explode kan je arrays mee splitten: http://nl3.php.net/manual/nl/function.explode.php
  donderdag 27 oktober 2005 @ 23:19:11 #113
76312 sh4dow
ÆÆÆÆÆÆÆÆÆ
pi_31740814
Nee er staan echt arrays in het tekstbestand, zoals hierboven in het voorbeeld dus. Dat zijn de eerste 2 regels uit het tekstbestand.

Als het plaintext zou zijn, was me dat wel gelukt. Ik ben al met foreach bezig, maar ik kom er niet uit :S
pi_31742355
Include dat bestand, en je hebt een pracht van een array ($Bericht).
1
2
3
4
5
6
7
<?php
include_once('mijntekstbestandmetberichten.php');
for($i=0;$i<count($Berichten);$i++)
{
  // huidig bericht = $Bericht[$i] (array!)
}
?>
pi_31743371
Over dat golf ding, zit nu op 95.
Ik klooi verder.
pi_31754501
Ik doe niet meer mee met dat golf ding; snap er toch de balle van. Ben er gisteren even mee bezig geweest maar zo vet is mijn kennis nou ook weer niet zoals $c=$a{$b}
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 28 oktober 2005 @ 15:20:07 #117
125047 Lamme_Sterfkanarie
tweet tweet en dan ineens niet
pi_31755718
array met alle letters maken

tellertje tot 26 laten tellen
1 keer printen, <br> d'r achteraan.
met array_shift de A d'r afhalen zodat alles opschuift en die dan met array_push de A achteraan de array neerzetten. als de teller bij 26 is heeft ie alles gehad..

of denk ik weer te simpel?
Ik heb het godverdomme gehad met die onkunde van je!
pi_31756067
Mwah, als je dat in < 80 tekens kan ben je wel briljant :-) kzit nu op 65.
  vrijdag 28 oktober 2005 @ 15:35:03 #119
125047 Lamme_Sterfkanarie
tweet tweet en dan ineens niet
pi_31756211
Ben d'r nog niet mee bezig geweest. Dit was ff een brainfart over hoe ik het zou aanpakken als het geen wijdstrijdje met zo min mogelijk karakters was
als je van die array of zou kunnen komen scheelde het al een bende karakters. Als ik de ascii table d'r bij pak zie ik wel dat alle letters een opeenvolgende waarde hebben. Is daar niets mee te doen? Beginnen bij de A en steeds 1 d'r bij optellen met een loop en dat in een andere loop 26 keer doen terwijl je steeds 1 waarde hoger begint

geen idee of je browser die ascii waarde als een letter weergeeft hoor. Heb me daar nooit zo mee bezig gehouden.
Ik heb het godverdomme gehad met die onkunde van je!
pi_31757131
Doe iets met chr(65) tot en met chr(90). Ik zit nu op 67 tekens, maar het met nog minder tekens.
  vrijdag 28 oktober 2005 @ 16:06:02 #121
125047 Lamme_Sterfkanarie
tweet tweet en dan ineens niet
pi_31757208
kzal me d'r straks ook wel ff mee bezighouden als ik tijd heb. Kijken wat ik er van kan bakken
Ik heb het godverdomme gehad met die onkunde van je!
  FOK!-Schrikkelbaas vrijdag 28 oktober 2005 @ 16:28:44 #122
1972 Swetsenegger
Egocentrische Narcist
pi_31757861
Zoals ik op phpfreakz al zei "Met gekut met arrays ga je niet winnen denk ik". Sylvesterrrrs opmerking leek mij ook de meest bruikbare methode, je kan natuurlijk heel simpel lussen van 65 tot 90. Alleen.... hoe laat je hem de tweede keer van 66 tot 90 PLUS 65 echoėn

Overigens zegt iemand op 52 karakters te zitten.
pi_31758424
quote:
Op vrijdag 28 oktober 2005 16:28 schreef Swetsenegger het volgende:
Alleen.... hoe laat je hem de tweede keer van 66 tot 90 PLUS 65 echoėn
que?
quote:
Overigens zegt iemand op 52 karakters te zitten.
Doet ie goed. Ik heb wel wat beters te doen hoor.
  vrijdag 28 oktober 2005 @ 16:48:49 #124
125047 Lamme_Sterfkanarie
tweet tweet en dan ineens niet
pi_31758444
de A moet weer achter de Z komen op de 2e regel. enz.
Ik heb het godverdomme gehad met die onkunde van je!
pi_31760089
- edit dan maar :S -

[ Bericht 94% gewijzigd door Roonaan op 29-10-2005 11:08:42 ]
pi_31760191
quote:
Op vrijdag 28 oktober 2005 17:55 schreef Roonaan het volgende:
64 tekens

[ code verwijderd ]

Hij kan efficienter als je die nummers bij 0 kan laten starten tot 702. Alleen moeten dan de modulussen anders.
Als je de { en } weghaalt zit je al op 62 tekens

Als je dan nog <br> gebruikt ipv <br/> zit je op 61.

Als laatste nog <? gebruiken in plaats van <?php en je zit al op 58. Dan kan je ook nog de spatie tussen <? $i= weghalen, dat wordt dan <?$i= en je komt op 57.

Als je dan ook nog de ; aan het einde weghaald zit je op 56.

[ Bericht 6% gewijzigd door HuHu op 28-10-2005 18:09:10 ]
pi_31760251
Maar dan nog kom je niet aan 52 ;-)
pi_31760333
- Edit dan maar -

[ Bericht 49% gewijzigd door Roonaan op 29-10-2005 11:08:53 ]
pi_31760426
quote:
Op vrijdag 28 oktober 2005 18:08 schreef Roonaan het volgende:

[ code verwijderd ]
57.

55 als je de sluittags weghaalt.
1<?while($i++<702)echo$i%27?chr(65+($i-1)%26):'<br>';


Zo zit je op 52.
pi_31760616
Jups, tot die conclusie was ik ook gekomen. Same as yapf dus.

Maar met wat bit operations, kan het dan niet korter?

-r-
pi_31760770
[Centraal]PHP - Golf wedstrijd
Daar kunnen jullie lekker verder spelen met jullie Golf, dan blijft dit topic een beetje schoon

-edit-
Oeps, ik zie dat ik dat topic onder de naam van mn vriendin heb gepost
pi_31760863
Hmm, zo is de lol er wel een beetje af nu er complete code gepost is
Op phpfreakz wordt gevraagd geen code te posten, doe 't dan ook niet hier.

Ik zit zelf op 49.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31760954
ach, vorige keer was iedereen dol op het samenwerken.
pi_31761146
Samenwerken is ok, maar er stond volgens mij geen complete code.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas vrijdag 28 oktober 2005 @ 19:22:51 #135
1972 Swetsenegger
Egocentrische Narcist
pi_31762297
Code posten is niet echt de bedoeling eigenlijk
Overigens snap ik ';m nog niet ook

en de code is 51 karakters, geen 52

-edit- je kan niet tellen swets..
  FOK!-Schrikkelbaas vrijdag 28 oktober 2005 @ 19:47:59 #136
1972 Swetsenegger
Egocentrische Narcist
pi_31762908
quote:
Op vrijdag 28 oktober 2005 18:27 schreef ikke_ook het volgende:
[Centraal]PHP - Golf wedstrijd
Daar kunnen jullie lekker verder spelen met jullie Golf, dan blijft dit topic een beetje schoon

-edit-
Oeps, ik zie dat ik dat topic onder de naam van mn vriendin heb gepost
Waarom zou het een beetje schoon moeten blijven
Kan je erg veel van leren.
pi_31764623
Hallo,

Ben op dit moment bezig met een stukje random te genereren arrays oftwel het volgende idee dat vooral Sop heeft aangedragen.

Ik heb een paar mensen in een lijst ziten en sommige mense mogen sommige mensen kiezen en sommige niet. Nou heb ik eventjes een voorbeeld uit de hand gemaakt. Nu heb ik ieder persoon voorzien van een array met daarin de mogelijke mensen die ze kunnen kiezen. Echter krijg ik steeds errors met wat ik ook probeer..

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

$arr = array(11 => array(13, 14, 15, 16, 17),
             12 => array(13, 14, 15, 16, 17),
             13 => array(11, 12, 16, 17),
             14 => array(11, 12, 17),
             15 => array(11, 12, 16, 17),
             16 => array(11, 12, 13, 14, 15, 17),
             17 => array(11, 12, 13, 14, 15, 16));
             
foreach ($arr as $id => $narr)
{
    $tmpArr = $narr;
    
    if (isSet($remove) && is_array($remove))
    {
        foreach ($remove as $x => $verwijderkey)
        {
            foreach ($tmpArr as $xx => $value)
            {
                if ($tmpArr[$xx] == $verwijderkey)
                {
                    unset ($tmpArr[$xx]);
                }
            }
        }
    }
    
    if (is_array($tmpArr) && count($tmpArr) > 1)
    {
        $code = $tmpArr[rand(0, count($tmpArr)-1)];
    }
    else
    {
        foreach ($tmpArr as $key => $value)
        {
            $code = $value;
        }
    }
    
    $remove[] = $code;
    
    echo 'gebruiker ' . $id . ' heeft gebruiker ' . $code . ' getrokken <br>';
}

var_dump($remove);

?>


denk dat ik weer te diep doorspace ennuh zou volgens mij wel 1000x beter kunnen. Iemand een idee? als je het niet snapt probeer ik het nog wel wat beter uit te leggen
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31765858
Voor het begrip is het nuttiger als je gewoon namen gebruikt in plaats van nummers om gebruikers te identificeren.

Daarnaast een keuze maken of je je variabelen in het engels of het nederlands programmeerd, tevens is er de vraag wat $narr doet.

Een aanpak die je zou kunnen kiezen is om de array to sorteren op het aantal mensen dat iemand in zijn lijstje heeft. Zoals de opzet nu is (of ik mis iets) is het zo dat er iemand over zou blijven die niemand kan kiezen?

pi_31777689
Dus je ziet het liever met de namen? maar dan blijft het principe toch gelijk?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31802558
Ik heb het nu even zo gedaan.

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

$arr = array("eric" => array("tess", "joop", "kees", "loes", "joke"),
             "marc" => array("tess", "joop", "kees", "loes", "joke"),
             "tess" => array("eric", "marc", "loes", "joke"),
             "joop" => array("eric", "marc", "joke"),
             "kees" => array("eric", "marc", "loes", "joke"),
             "loes" => array("eric", "marc", "tess", "joop", "kees", "joke"),
             "joke" => array("eric", "marc", "tess", "joop", "kees", "loes"));

foreach ($arr as $id => $tmpArr)
{
    if (isSet($remove) && is_array($remove))
    {
        foreach ($remove as $x => $verwijderkey)
        {
            foreach ($tmpArr as $xx => $value)
            {
                if ($tmpArr[$xx] == $verwijderkey)
                {
                    unset ($tmpArr[$xx]);
                }
            }
        }
    }

    if (is_array($tmpArr) && count($tmpArr) > 1)
    {
        $code = $tmpArr[rand(0, count($tmpArr)-1)];
    }
    else
    {
        foreach ($tmpArr as $key => $value)
        {
            $code = $value;
        }
    }

    $remove[] = $code;

    echo 'gebruiker ' . $id . ' heeft gebruiker ' . $code . ' getrokken <br>';
}

var_dump($remove);

?>



en kreeg na veel F5en het volgende te zien

1
2
3
4
5
6
7
8
gebruiker eric heeft gebruiker joop getrokken 
gebruiker marc heeft gebruiker tess getrokken 
gebruiker tess heeft gebruiker joke getrokken 
gebruiker joop heeft gebruiker eric getrokken 
gebruiker kees heeft gebruiker marc getrokken 
gebruiker loes heeft gebruiker kees getrokken 
gebruiker joke heeft gebruiker loes getrokken 
array(7) { [0]=> string(4) "joop" [1]=> string(4) "tess" [2]=> string(4) "joke" [3]=> string(4) "eric" [4]=> string(4) "marc" [5]=> string(4) "kees" [6]=> string(4) "loes" } 


want veelal zag ik dit soort uitkomsten..

1
2
3
4
5
6
7
8
9
10
11
12
gebruiker eric heeft gebruiker joke getrokken 
gebruiker marc heeft gebruiker joop getrokken 
gebruiker tess heeft gebruiker eric getrokken 
gebruiker joop heeft gebruiker marc getrokken 
gebruiker kees heeft gebruiker loes getrokken 

Notice: Undefined offset: 1 in d:\www\usersort.php on line 29
gebruiker loes heeft gebruiker getrokken 

Notice: Undefined offset: 0 in d:\www\usersort.php on line 29
gebruiker joke heeft gebruiker getrokken 
array(7) { [0]=> string(4) "joke" [1]=> string(4) "joop" [2]=> string(4) "eric" [3]=> string(4) "marc" [4]=> string(4) "loes" [5]=> NULL [6]=> NULL } 


en nu zie je dus dat op regel 29 een error komt, oftewel de volgende regel.

1        $code = $tmpArr[rand(0, count($tmpArr)-1)];


maar ik check of de array reeds groter is dan 1 item, dan zou je toch verwachten dat dat goed gaat

en als ik de regel (28) dus boven de code voorzie van > 2 dan krijg ik steeds mindervaak een error maar alsnog soms een error in regel 29

Help me!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31803171
en als je $code = $tmpVar[array_rand($tmpVar)] doet?

also, $tmpVar is meer dan een tijdelijke var natuurlijk. Deze heeft wel degelijk een bepaalde betekenis en significante inhoudt ondanks het tijdelijke karakter. Beter om in het vervolg dan ook een variabele naam te kiezen die wat zegt over de intentie van de variabele dan haar levensduur.

-r-
pi_31803362
quote:
Op zondag 30 oktober 2005 10:03 schreef Chandler het volgende:

maar ik check of de array reeds groter is dan 1 item, dan zou je toch verwachten dat dat goed gaat

en als ik de regel (28) dus boven de code voorzie van > 2 dan krijg ik steeds mindervaak een error maar alsnog soms een error in regel 29

Help me!
Met je rand() ding ga je op zoek naar een key tussen 0 en het aantal keys. Da's leuk, maar als je als keys de getallen 1,3,5,7 overhoudt dan heb je 4 keys en een kans van 50% dat je een niet-bestaande key tussen 0 en 3 pakt.
pi_31804196
idd, heb reeds array_rand toegevoegd en dat is deels een oplossing want om de zoveel keer krijg ik alsnog een error

ipv
1
2
3
4
5
6
7
8
9
10
11
    if (is_array($tmpArr) && count($tmpArr) > 1)
    {
        $code = $tmpArr[rand(0, count($tmpArr)-1)];
    }
    else
    {
        foreach ($tmpArr as $key => $value)
        {
            $code = $value;
        }
    }


de oplossing van roonaan en een andere gebruiker

1$code = $tmpVar[array_rand($tmpVar)];


maar dan nog krijg ik wel eens een error op lijn 27 oftewel bovenstaande code maar dat zal komen omdat ik dan een lege array heb...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31804488
1
2
3
4
5
6
7
8
9
10
11
    if (is_array($tmpArr) && count($tmpArr) > 1)
    {
        $code = $tmpArr[rand(0, count($tmpArr)-1)];
    }
    else
    {
        foreach ($tmpArr as $key => $value)
        {
            $code = $value;
        }
    }


Dat gaat idd mis bij een lege array. Oplossing is simpel, zorgen dat je niets doet als de array leeg is.

1
2
3
4
5
6
7
8
9
    if (count($tmpArr) > 0)
    {
        $code = $tmpArr[array_rand($tmpArr)];
    }
    else
    {
        echo 'Geen keuze beschikbaar voor '.$id.'<br>';
        break;
    }
pi_31805513
True, ik denk dat ik maar ff een routine ga maken dat wanneer alles goed is de gebruiker door gaat en anders overnieuw moet kiezen (automatisch natuurlijk )
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31805554
Maar goed, ik zit nu met een andere test... weer zelf bedacht...

Ga nu het idee omdraaien, wil nu inplaats van de wel mogelijkheden in een array te zetten de niet mogelijkheden in een array zetten

Dus ga weer hard aan het coden want ben niet zo ziek meer dus heb weer wat hersens beschikbaar...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31807210
Hier is de volgende.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?

$arr = array("eric" => array("eric", "marc"),
             "marc" => array("marc", "eric"),
             "tess" => array("tess", "joop", "kees"),
             "joop" => array("joop", "tess", "kees", "loes"),
             "kees" => array("kees", "tess", "joop"),
             "loes" => array("loes"),
             "joke" => array("joke"));

// build a second list.
foreach ($arr as $name => $null)
{
    $nArr[] = $name;
}

foreach ($arr as $id => $userRemove)
{
    $userChoose = $nArr;
    
    // verwijder mensen uit lijst :)
    foreach ($userRemove as $xid => $name)
    {
        foreach ($userChoose as $userid => $username)
        {
            if (isSet($userRemove[$userid]) && $userRemove[$userid] == $name)
            {
                unset($userChoose[$userid]);
            }
        }
    }

    // verwijder reeds geselecteerde mensen uit lijst :)
    if (isSet($userSelected) && is_array($userSelected))
    {
        foreach ($userSelected as $xxid => $name)
        {
            foreach ($userChoose as $uID => $tmp)
            {
                if (isSet($userChoose[$uID]) && $userChoose[$uID] == $name)
                {
                    unset($userChoose[$uID]);
                }
            }
        }
    }
    

    $code = $userChoose[array_rand($userChoose)];

    $userSelected[$id] = $code;

    echo 'gebruiker ' . $id . ' heeft gebruiker ' . $code . ' getrokken <br>';


}

var_dump($userSelected);

?>


echter zit het blijkbaar niet goed in elkaar want krijg bij iedere keuze fouten te zien en snap niet waar de fouten zitten?

OMG ben er nu al ruim een uur mee bezig geweest om te bugtesten iemand een idee?

oftwel uitkomst

1
2
3
4
5
6
7
8
9
10
gebruiker eric heeft gebruiker tess getrokken 
gebruiker marc heeft gebruiker kees getrokken 
gebruiker tess heeft gebruiker loes getrokken 
gebruiker joop heeft gebruiker joke getrokken 
gebruiker kees heeft gebruiker joop getrokken 
gebruiker loes heeft gebruiker marc getrokken 

Notice: Undefined index: in d:\www\usersort.php on line 49
gebruiker joke heeft gebruiker getrokken 
array(7) { ["eric"]=> string(4) "tess" ["marc"]=> string(4) "kees" ["tess"]=> string(4) "loes" ["joop"]=> string(4) "joke" ["kees"]=> string(4) "joop" ["loes"]=> string(4) "marc" ["joke"]=> NULL } 


The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31814231
Wat krijg je als je

$code = $userChoose[array_rand($userChoose)];

$userSelected[$id] = $code;

IN
$userSelected[$id] = $userChoose[array_rand($userChoose)];

veranderd?
pi_31814665
quote:
Op zondag 30 oktober 2005 17:32 schreef Darkomen het volgende:
Wat krijg je als je

$code = $userChoose[array_rand($userChoose)];

$userSelected[$id] = $code;

IN
$userSelected[$id] = $userChoose[array_rand($userChoose)];

veranderd?
Dan krijg je dat de variabele $code niet te gebruiken is bij het echo-statement even verderop
pi_31824906
Is het niet nuttiger om eerst de mensen te sorteren op het kleinst aantal mensen die ze mogen trekken, om te voorkomen dat ze op een gegeven moment niemand kunnen trekken, omdat die reeds getrokken zijn door andere, die in eerste instantie meer opties hadden?

-r-
  FOK!-Schrikkelbaas zondag 30 oktober 2005 @ 23:14:48 #151
1972 Swetsenegger
Egocentrische Narcist
pi_31825642
Waarom geeft mijn mysql column, welke NULL enabled is, en NULL als default waarde heeft
0
terug wanneer ik geen waarde invul?
pi_31825669
quote:
Op zondag 30 oktober 2005 22:52 schreef Roonaan het volgende:
Is het niet nuttiger om eerst de mensen te sorteren op het kleinst aantal mensen die ze mogen trekken, om te voorkomen dat ze op een gegeven moment niemand kunnen trekken, omdat die reeds getrokken zijn door andere, die in eerste instantie meer opties hadden?

-r-
Klinkt logisch, maar is geen garantie voor succes. Bij de laatste melding van Chandler liep het fout bij de laatste trekking, en dat is iemand met de ruimste keuze. En ik zie hier nog wel wat mogelijkheden voor functies als array_keys en in_array.
pi_31825796
quote:
Op zondag 30 oktober 2005 23:14 schreef Swetsenegger het volgende:
Waarom geeft mijn mysql column, welke NULL enabled is, en NULL als default waarde heeft
0
terug wanneer ik geen waarde invul?
Geen idee. Als ik het hier probeer gaat het wel goed. Weet je zeker dat die column NULL als default waarde heeft?
  FOK!-Schrikkelbaas zondag 30 oktober 2005 @ 23:28:11 #154
1972 Swetsenegger
Egocentrische Narcist
pi_31826068
quote:
Op zondag 30 oktober 2005 23:19 schreef Light het volgende:

[..]

Geen idee. Als ik het hier probeer gaat het wel goed. Weet je zeker dat die column NULL als default waarde heeft?


Op welke versie heb jij het geprobeerd?

-edit- opgelost. in plaats van niets invullen gewoon NULL invullen

[ Bericht 10% gewijzigd door Swetsenegger op 30-10-2005 23:35:22 ]
pi_31826273
quote:
Op zondag 30 oktober 2005 23:14 schreef Swetsenegger het volgende:
Waarom geeft mijn mysql column, welke NULL enabled is, en NULL als default waarde heeft
0
terug wanneer ik geen waarde invul?
Omdat MySQL vol met bugs, inconsequenties en andere vreemde dingen zit. ACM had er een lijst van online staan.
quote:
Weird behaviour
1. You can define a varchar/char field 'auto_increment'.
2. SELECT 'A' = 'a' gets you true.
3. Int(10) is the same as int(1) eventhough the manual says differently.
4. Tablenames are treated case-sensitive on *n?x systems, not on windows.
5. Change a piece of a table definition and mysql creates a temporary copy of the table, very nice if you have a 6GB table occupying a 10GB tablespace... (yes, the change will fail)
6. Adding indices result in a similar temporary copy.
7. What does zerofill do to a integer field? A database is meant to store data, not to format it while storing.
8. When I define a char(32) (md5-strings anyone) field, I really don't mean varchar(32) (MySQL automatically changes all char(X >4) to varchar(X)).
9. This is correct according to mysql: SELECT a, b, count(c) FROM d GROUP BY a; what will MySQL do with the b?
10. If you update a record and set it to the same value, mysql'll define that as unaffected. Even if it does change a timestamp field.

Bugs
1. Insert a NULL value in a NOT NULL field and the query gets executed. In short, you can't force NOT NULL...
2. Under high loads MySQL will restart itself occasionally. When a child doesn't die fast enough "socket already in use"-error occurs.
3. Replication doesn't work that well.
4. MySQL will always try to insert a date into a date field, even if you supply an empty or bogus string (it'll insert 0000-00-00 then).
5. When underflowing or overflowing a integer field, mysql will insert the largest or smallest possible value instead.
6. Long texts are chopped to the correct size, not denied.
7. MySQL will also insert 0 into a numeric field if you supply an empty or bogus string.
8. Close a connection and a long query still runs on... The only way to kill it is via the (mysql)admin
9. Connections with a timeout? Very nice when you need to do a lot of calculations on your data or a query lasts very long. "Lost connection to MySQL server during query"
10. You can insert the same value twice in a ENUM-field
Deze punten gaan vooral over versie 3.23.x, dat zal ook wel de reden zijn dat ie offline is.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas zondag 30 oktober 2005 @ 23:42:06 #156
1972 Swetsenegger
Egocentrische Narcist
pi_31826452
quote:
Op zondag 30 oktober 2005 23:35 schreef SuperRembo het volgende:

[..]

Omdat MySQL vol met bugs, inconsequenties en andere vreemde dingen zit. ACM had er een lijst van online staan.
[..]

Deze punten gaan vooral over versie 3.23.x, dat zal ook wel de reden zijn dat ie offline is.
Ja die ken ik al van www.yapf.net
Maar er staat alleen wat over NULL invoeren in een NOT NULL kolom.
In mijn geval vul ik een lege string in, dus niets en daar maakt mysql 0 van.

Indien het veld in mijn form nu leeg is, vul ik dus maar NULL in. dat gaat wel goed
pi_31826505
quote:
Op zondag 30 oktober 2005 23:28 schreef Swetsenegger het volgende:

[..]

[afbeelding]

Op welke versie heb jij het geprobeerd?

-edit- opgelost. in plaats van niets invullen gewoon NULL invullen
Ik heb het geprobeerd op mysql 4.0.25 die ik hier lokaal had draaien. (Had, ik ben bezig met een upgrade nu.)

En ik deed een insert into tabel (kolom1) values (1); waarbij kolom2 (die dus niet wordt genoemd) als default null was gedefinieerd. Dan komt er ook een waarde null in te staan.
pi_31826537
quote:
Op zondag 30 oktober 2005 23:42 schreef Swetsenegger het volgende:

[..]

Ja die ken ik al van www.yapf.net
Maar er staat alleen wat over NULL invoeren in een NOT NULL kolom.
In mijn geval vul ik een lege string in, dus niets en daar maakt mysql 0 van.

Indien het veld in mijn form nu leeg is, vul ik dus maar NULL in. dat gaat wel goed
Een lege string is niet gelijk aan NULL.
pi_31826648
Een lege string is zeker ook geen decimal.

(Er zit een typo in articelcode)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas zondag 30 oktober 2005 @ 23:51:50 #160
1972 Swetsenegger
Egocentrische Narcist
pi_31826694
quote:
Op zondag 30 oktober 2005 23:45 schreef Light het volgende:

[..]

Een lege string is niet gelijk aan NULL.
Daar was ik achter nu
Dit geeft immers geen NULL maar 0 als $_POST['second_price'] leeg is.

INSERT INTO table
(id,second_price)
VALUES(0,'".$_POST['second_price']."')
pi_31826971
quote:
Op zondag 30 oktober 2005 23:50 schreef SuperRembo het volgende:
Een lege string is zeker ook geen decimal.

(Er zit een typo in articelcode)
Bij MySQL is een hoop mogelijk, gezien wat ik zo lees.
pi_31828109
Hmm.. Men neme een simpele tabel "tabel" met twee kolommen "col1" en "col2". Col2 is gedefinieerd als INT en mag NULL bevatten. Col1 is gewoon een ID. (Het gaat nergens over, maar ter illustratie.)
Dan doen we "Insert into tabel (col1, col2) values (1, '')" waarbij dus een lege string naar col2 gezet wordt. Maar dat was een int. Voor MySQL een reden om er dan maar 0 van te maken.

Overigens gebeurt hetzelfde als ik een niet-lege string gebruik. De conversie lijkt hetzelfde te zijn als de (int) van php.
pi_31829745
quote:
Op zondag 30 oktober 2005 17:32 schreef Darkomen het volgende:
Wat krijg je als je

$code = $userChoose[array_rand($userChoose)];

$userSelected[$id] = $code;

IN
$userSelected[$id] = $userChoose[array_rand($userChoose)];

veranderd?
Een verdwijnende variabel, die ik idd niet bij het echo statement kan gebruiken
quote:
Op zondag 30 oktober 2005 17:47 schreef Light het volgende:
Dan krijg je dat de variabele $code niet te gebruiken is bij het echo-statement even verderop
Yep, dit is ff makkelijk en voor mij overzichtelijk...
quote:
Op zondag 30 oktober 2005 22:52 schreef Roļæ½aļæ½ het volgende:
Is het niet nuttiger om eerst de mensen te sorteren op het kleinst aantal mensen die ze mogen trekken, om te voorkomen dat ze op een gegeven moment niemand kunnen trekken, omdat die reeds getrokken zijn door andere, die in eerste instantie meer opties hadden?

-r-
Ok, ik vond dit al een uitdaging, en nu dus helemaal... hoe in vredus naam kan ik dit snel doen? als het MySQL was dan was dit simpel, en kon ik de query aanpassen maar werken met array's is niet mijn sterkste vak..

Heb je tips? hoef geen code! zolang je me maar in de goede richting wijst!
quote:
Op zondag 30 oktober 2005 23:15 schreef Light het volgende:
Klinkt logisch, maar is geen garantie voor succes. Bij de laatste melding van Chandler liep het fout bij de laatste trekking, en dat is iemand met de ruimste keuze. En ik zie hier nog wel wat mogelijkheden voor functies als array_keys en in_array.
hoe bedoel je dat? en waar denk jij dat mijn probleem zit? want ik kan dit helaas niet zo even 1234567890 uitvinden heb gisteren (tijdens het ziek zijn) de hele dag niets anders in me hoofd gehad dan de niet werkende code...

Tips, verwijzingen etc zijn van harte welkom!.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31829785
Wat wil je nou eigenlijk met dat script? Als het gewoon lootjes trekken was, dan zou iedereen kunnen kiezen uit iedereen behalve zichzelf. Als input zou je dan alleen een lijst namen hebben.
Maar bij jou begin je met een array waarbij sommige mensen veel meer keus hebben dan anderen
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31829872
SuperRembo; dat zou inderdaad een 'gewoon' lootjes trekken script zijn maar dat is hier niet het geval. In mijn script kun je ook kiezen dat mensen hun vriend/vriendin/vader/moeder en de keuze van vorig jaar niet mag kiezen (alleeen vorig jaar!).. dus dan wordt de sub array iets groter .

Het laatste script is dus een niet wat jij denkt het is net andersom, deze mensen mogen dus pertinent NIET gekozen worden

vb
1
2
3
$arr = array("eric" => array("eric", "marc"),
             "marc" => array("marc", "eric"),
             "tess" => array("tess", "joop", "kees"),


eric mag dus geen marc of eric trekken ennuh marc mag ook geen marc of eric trekken en als laatste voorbeeld mag tess geen tess/joop of kees trekken.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31829968
quote:
Op maandag 31 oktober 2005 07:42 schreef Chandler het volgende:

hoe bedoel je dat? en waar denk jij dat mijn probleem zit? want ik kan dit helaas niet zo even 1234567890 uitvinden heb gisteren (tijdens het ziek zijn) de hele dag niets anders in me hoofd gehad dan de niet werkende code...
Bij lootjes trekken heb je altijd het risico dat de laatste geen keuze meer heeft (of alleen zichzelf kan kiezen). Eigenlijk heb je die keuze altijd, maar je houdt er bij het programmeren al rekening mee dat iemand niet zichzelf mag kunnen kiezen. In je laatste voorbeeld was joke, die als laatste mag kiezen, nog niet gekozen. Enige overgebleven keuze is dus joke, maar die mag zichzelf niet kiezen, dus geen keuze. Oplossing is simpel de hele trekking nogmaals doen.
pi_31830090
klopt dat ben ik met je eens, maar deze code genereerd nogal vaak veel errors.. test het maar eens
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  FOK!-Schrikkelbaas maandag 31 oktober 2005 @ 08:39:13 #168
1972 Swetsenegger
Egocentrische Narcist
pi_31830143
quote:
Op maandag 31 oktober 2005 01:04 schreef Light het volgende:
Hmm.. Men neme een simpele tabel "tabel" met twee kolommen "col1" en "col2". Col2 is gedefinieerd als INT en mag NULL bevatten. Col1 is gewoon een ID. (Het gaat nergens over, maar ter illustratie.)
Dan doen we "Insert into tabel (col1, col2) values (1, '')" waarbij dus een lege string naar col2 gezet wordt. Maar dat was een int. Voor MySQL een reden om er dan maar 0 van te maken.

Overigens gebeurt hetzelfde als ik een niet-lege string gebruik. De conversie lijkt hetzelfde te zijn als de (int) van php.
Mjah,

Laten we zeggen dat ik verwacht dat wanneer ik een lege string naar een decimal stuur met als default value NULL dat ik dan ook NULL terug krijg

Het was weer een wijze les
pi_31831233
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?

  $vorigeTrekking = array(
               "eric" => array("eric", "marc"),
               "marc" => array("marc", "eric"),
               "tess" => array("tess", "joop", "kees"),
               "joop" => array("joop", "tess", "kees", "loes"),
               "kees" => array("kees", "tess", "joop"),
               "loes" => array("loes"),
               "joke" => array("joke")
               );
             
  $alleDeelnemers = array_keys($vorigeTrekking);
  
  // Wie mag wie wél loten
  $magLoten = array();
  foreach($alleDeelnemers as $naam) {
    $magLoten[$naam] = array_diff($alleDeelnemers, $vorigeTrekking[$naam]);
  }
  
  // Wie mag door wie geloot worden
  $magGelootWordenDoor = array();
  foreach($magLoten as $naam => $loten) {
    foreach($loten as $lot)
      $magGelootWordenDoor[$lot][] = $naam;
  }

  // Trekking doen. ob_start etc is om de data van
  // mislukte trekkingen te verbergen
  $i = 1;
  ob_start();
  $loting = loting($alleDeelnemers, $magLoten, $magGelootWordenDoor);
  while(!is_array($loting) && $i < 10) {
    ob_end_clean();
    echo '<br/>Trekking '.$i++.' mislukt: '.$loting; flush();
    ob_start();
    $loting = loting($alleDeelnemers, $magLoten, $magGelootWordenDoor);
  }
  ob_end_flush();  
  
  // Loting functie
  function loting($alleDeelnemers, $magLoten, $magGelootWordenDoor) {
    // Alle loten zijn getrokken
    if(count($alleDeelnemers) < 1) {
      return array();
    }
    // Kies een van de deelnemers die als volgende een lootje mag trekken
    shuffle($alleDeelnemers); 
    $deelnemer = array_pop($alleDeelnemers);
    
    // Geef de naam weer
    echo '<br/><b>'.$deelnemer.'</b>';
    
    // Tijdelijke arrays construeren om de intersectie te kunnen maken tussen
    // de loten die iemand mag trekken en de nog beschikbare loten
    $dnMagLoten = $magLoten[$deelnemer];
    $dnKanLoten = array_keys($magGelootWordenDoor);
    $dnLoten    = array_intersect($dnMagLoten, $dnKanLoten);
    
    if(count($dnLoten) < 1) {
      return '<br/>Loting mislukt.';
    } else {
      // Volgende drie regels zijn debug informatie
      echo '<br/>Mag: '.implode(',',$dnMagLoten);
      echo '<br/>Kan: '.implode(',',$dnKanLoten);
      echo '<br/>Som: '.implode(',',$dnLoten);
      // Trek een van de loten
      $getrokken = $dnLoten[array_rand($dnLoten)];
      // Geef een echo welk lot is getrokken
      echo '<br/><b>'.$deelnemer.' trekt '.$getrokken.'</b><br/>';
    }
    
    // De deelnemer kan niet nog een keer loten
    unset($magLoten[$deelnemer]);
    // Het lot kan ook niet meer getrokken worden
    unset($magGelootWordenDoor[$getrokken]);
    
    // Recursief andere mensen laten trekken
    $loting = loting($alleDeelnemers,$magLoten, $magGelootWordenDoor);
    
    // Kijken of de recursieve loting goed verlopen is
    if(is_array($loting)) {
      $resultaat = array_merge(array($deelnemer => $getrokken),$loting);
      return $resultaat;
    } else {
      return $loting;
    }
  }
  

?>
pi_31832338
quote:
Op maandag 31 oktober 2005 08:39 schreef Swetsenegger het volgende:

[..]

Mjah,

Laten we zeggen dat ik verwacht dat wanneer ik een lege string naar een decimal stuur met als default value NULL dat ik dan ook NULL terug krijg

Het was weer een wijze les
Afgezien van dit belachelijke gedrag van MySQL ( ); waarom probeerde je een string naar een decimal te sturen?
pi_31833293
Aangezien fok en phpfreakz toch aan het crossbreeden is. Mag ik jullie commentaar vragen op http://www.phpfreakz.nl/library.php?sid=20709 ?

-r-
pi_31834936
quote:
Op maandag 31 oktober 2005 09:54 schreef Roļæ½aļæ½ het volgende:
@Roļæ½aļæ½

ik ga je code inspecteren, zal wel heel veel dingen niet begrijpen maar er mee stoeien zorgt voor kennis
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  FOK!-Schrikkelbaas maandag 31 oktober 2005 @ 12:56:08 #173
1972 Swetsenegger
Egocentrische Narcist
pi_31835236
quote:
Op maandag 31 oktober 2005 10:50 schreef JeRa het volgende:

[..]

Afgezien van dit belachelijke gedrag van MySQL ( ); waarom probeerde je een string naar een decimal te sturen?
Nou, ik was in de veronderstelling dat je bij een INSERT statement alle kolommen moest benoemen
dus stuurde ik VALUES(0,'".$_POST['second_price']."') naar de database.

Nu stuur ik gewoon NULL, en vanavond haal ik 'm gewoon helemaal uit de INSERT statement
pi_31836566
@Roonaan: ik ben nu al een tijd bezig je functie te ontleden maar heb een vraag en kan daar niet een begrijpelijk antwoord op vinden op www.php.net

waar staan de volgende functie voor!

array_intersect ? want uit de uitleg en voorbeeld kom ik niet

-edit-

en hoe is het mogelijk om het data uit een array te verwijderen middels een andere array..

ik probeer het nu zo te doen maar dat werkt niet echt

1
2
3
4
foreach ($excludeUsers as $id => $value)
        {
            unSet($includeUsers[$id]);
        }



[ Bericht 49% gewijzigd door Chandler op 31-10-2005 14:02:12 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31836913
Ik heb een probleem met cookies die moeten worden geplaatst en uitgelezen aan de hand van de GET waarde die aan een de pagina wordt meegegeven.

1
2
3
4
5
6
7
8
9
<?php
PHP
if (!isset($_COOKIE[$_GET['link']]))  
{
echo
"blabla";
setcookie("$_GET[link]", "true", strtotime("tomorrow 0"), "/");
}

?>


Het cookie wordt wel geplaatst (met de juiste waarde)
Als ik nu nog een keer dezelfde GET waarde aan de pagina mee geef dan zou er geen "blabla" op mijn scherm mogen verschijnen.
Dit gebeurt wel, dus het cookie wordt toch niet goed uitgelezen.

Heeft iemand een idee waarom dit fout gaat?
Ja lekker!
pi_31837436
quote:
Op maandag 31 oktober 2005 13:56 schreef Chandler het volgende:
@Roonaan: ik ben nu al een tijd bezig je functie te ontleden maar heb een vraag en kan daar niet een begrijpelijk antwoord op vinden op www.php.net

waar staan de volgende functie voor!

array_intersect ? want uit de uitleg en voorbeeld kom ik niet
array_intersect geeft alleen de waarde terug die in beide arrays voorkomen.

-r-
pi_31837710
ok, dan heb ik weer wat geleerd; jammer dat ze dat niet in het nederlands op php.net hebben staan maaruh goed weer wat geleerd
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31838281
@Roonaan: Het volgende is mijn uitkomst, toch wil ik je nog bedanken voor het plaatsen van een door jou geschreven code; je hebt me namelijk veel inzicht gegeven en laten zien dat ik nog heel veel moet leren.

Graag zou ik comments willen zien op het stukje dat ik heb geschreven.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?

$vorigeTrekking = array("eric" => array("eric", "marc"),
                        "marc" => array("marc", "eric"),
                        "tess" => array("tess", "joop", "kees"),
                        "joop" => array("joop", "tess", "kees", "loes"),
                        "kees" => array("kees", "tess", "joop"),
                        "loes" => array("loes"),
                        "joke" => array("joke"));

$alleDeelnemers = array_keys($vorigeTrekking);
$lootenSelect   = array();
$includeUsers   = array();
$over           = array();

echo '<pre>';
for ($x = 0; $x < 100; $x++)
{
    $doBreak = true;
    foreach ($vorigeTrekking as $kiesUser => $excludeUsers)
    {
        // bereken users die niet mag kiezen
        
        $includeUsers = $alleDeelnemers;
        $over         = $alleDeelnemers;
        
        foreach ($excludeUsers as $id => $value)
        {
            foreach ($over as $fID => $fName)
            {
                if ($fName == $value)
                {
                    unSet($over[$fID]);
                }
            }
        }
        echo '<br>';

        foreach ($lootenSelect as $id => $value)
        {
            foreach ($over as $fID => $fName)
            {
                if ($fName == $value)
                {
                    unSet($over[$fID]);
                }
            }
        }
        
        echo 'user            : ' . $kiesUser . "<br /><br /><br />";
        echo 'mag niet kiezen : ' . implode(", ", $excludeUsers) . "<br />";
        echo 'mag wel kiezen  : ' . implode(", ", $includeUsers) . "<br />";
        echo 'reeds gekozen   : ' . implode(", ", $lootenSelect) . "<br />";
        echo 'blijft over     : ' . implode(", ", $over) . "<br />";
        
        if (count($over) > 0)
        {
            $rnd = $alleDeelnemers[array_rand($over)];
            echo 'random          : ' . $rnd . "<br>";
        
            $lootenSelect[$kiesUser] = $rnd;
            echo '<hr>';
        }
        else
        {
            echo 'random          : geen mogelijkheid meer over, start over';
            $doBreak = false;
        }
    }

    if ($doBreak == true)
    {
        break;
    }
}

echo '</pre>';

echo 'selected users';
echo '<pre>';
var_dump($lootenSelect);
echo '</pre>';

?>


het idee is volgens mij het zelfde als die van jou maar dan met wat minder moelijke onderdelen

The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31838954
Commentaar: je gebruikt nog steeds engelse en nederlandse variabelenamen door elkaar. Je naamgeving is erg slordig. Tevens ben ik nog steeds overtuigd dat een recursieve aanpak hiervoor beter is.

-r-
pi_31839037
Okey... de variabelbenamingen kunnen beter, en zekers als je NL/ENG bedoelt maar daar heb ik helaas wel vaker last van, zal me ooit (spoedig) eens een vaste methode moeten aanleren.. en waarom denk je dat een recursive aanpak beter is? zou je dat eens kunnen uitleggen?

Heb je trouwens de code getest? hij doe't echt tis niet te geloven hehe..
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31840094
Recursief? Omdat als je het IRL zou doen het in principe ook een recursieve happening is :-) Meer dan een foreach. Zakdoekje leggen is wel weer loop-based daarentegen.

Getest? Gewoon extra debug lines laten outputten en vervolgens een peer keer draaien.

Die ob_start/ob_end_clean/ob_end_flush zat er pas heel laat in.

-r-
pi_31840935
quote:
Op maandag 31 oktober 2005 14:09 schreef Pronk het volgende:
Ik heb een probleem met cookies die moeten worden geplaatst en uitgelezen aan de hand van de GET waarde die aan een de pagina wordt meegegeven.
[ code verwijderd ]

Het cookie wordt wel geplaatst (met de juiste waarde)
Als ik nu nog een keer dezelfde GET waarde aan de pagina mee geef dan zou er geen "blabla" op mijn scherm mogen verschijnen.
Dit gebeurt wel, dus het cookie wordt toch niet goed uitgelezen.

Heeft iemand een idee waarom dit fout gaat?
Ik heb het opgelost! Voor de nieuwsgierigen, er kwam een "." voor in de meegestuurde GET waarde. Het cookie lijkt onmogelijk uit te lezen door die punt.
Ja lekker!
pi_31842066
@Roonaan; je zult ongetwijfeld gelijk hebben (ps ik reageer later op email )

-edit-

zelf gefixt

[ Bericht 65% gewijzigd door Chandler op 31-10-2005 17:25:29 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31843202
ps.

Ik heb net Wamp geinstalleerd (de laatste versie, php,mysql,apache etc) nu krijg ik echter steeds fout meldingen bij dit soort dingen.

echo parseTemplate(loadTemplate("./template.tpl"));

dat wil het nu zien als dit

$tpl = loadTemplate("./template.tpl");
echo parseTemplate($tpl);

maar dat wil ik dus weer niet, want het 1e voorbeeld is toch correct coding? en waar kan ik die setting in php.ini vinden cq veranderen?

Tnx
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_31844610
quote:
Op maandag 31 oktober 2005 15:23 schreef Roļæ½aļæ½ het volgende:
Tevens ben ik nog steeds overtuigd dat een recursieve aanpak hiervoor beter is.
Zolang PHP nog steeds crasht als je een recursieve functie op wat grotere datasets uitvoert (stack overflow) wijk ik toch uit naar andere talen om een aanpak te testen
pi_31890938
Ik heb een fotoalbum (deels zelf gemaakt / deels gedownload)
en deze geeft op de thumbnail pagina (soms, afhankelijk van het geladen album) de volgende notices:

Notice: Undefined offset: -1 in D:\Data\WebDesign\pronkmedia.nl\fotoalbum\klein.php on line 51

Notice: Undefined offset: -1 in D:\Data\WebDesign\pronkmedia.nl\fotoalbum\klein.php on line 53


Regel 49 t/m 59 zijn de volgende regels:

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

$NextDir
= "klein.php?dir=".$DirArray[$DirIndex + 1];
$PrevDir = "klein.php?dir=".$DirArray[$DirIndex - 1];
$NextDirNam = $DirArray[($DirIndex + 1)];
$PrevDirNam = $DirArray[($DirIndex - 1)];
if (
$DirIndex == 0) {
$PrevDir = "klein.php?dir=".$DirArray[(Count($DirArray) - 1)];
$PrevDirNam = $DirArray[(Count($DirArray) - 1)];
}
if ((
$DirIndex + 1) &gt; (Count($DirArray) - 1)) {
$NextDir = "klein.php?dir=".$DirArray[0];
$NextDirNam = $DirArray[0];

?>

Hier moet het dus ergens fout gaan, ziet iemand misschien wat er mis gaat? Hieronder staat de volledige code van de pagina: (deze pagina van het fotoalbum leest een directory uit en maakt thumbnails)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
 
<HTML> 
<HEAD> 
<TITLE>Fotoalbum</TITLE> 
</HEAD> 
<BODY TEXT='#000000' LINK='#000000' VLINK='#000000' ALINK='#000000'> 

<TABLE WIDTH='800' BORDER='1' bordercolor='#FFFFFF' CELLSPACING='0' CELLPADDING='0' ALIGN='CENTER'> 
<TR> 
<TD bordercolor='#000000' bgcolor='#CCCCCC'><CENTER><STRONG>Foto overzicht: <? echo"$_GET[dir]"; ?></STRONG></CENTER></td> 
</TR> 
</TABLE> 

<? 
function getDirList ($dirName) { 
static $result_array=array(); 
$d = dir($dirName); 
while($entry = $d->read()) { 
if ($entry != "." && $entry != "..") { 
if (is_dir($dirName."/".$entry)) { 
array_push($result_array,$entry); 



$d->close(); 
sort($result_array); 
return $result_array; 

function getDirContents ($dirName) { 
static $result_array=array(); 
$d = dir($dirName); 
while($entry = $d->read()) { 
if ($entry != "." && $entry != "..") { 
if (!is_dir($dirName."/".$entry)) { 
str_replace(" ", "[spc]",(str_replace("&", "[amp]",$entry))); 
array_push($result_array,$entry); 



$d->close(); 
sort($result_array); 
return $result_array; 

$DirArray = getDirList("./"); 
for($i=0; $i < count($DirArray); $i++) { 
if($_GET['dir']==$DirArray[$i]) { 
$DirIndex = $i; 


$NextDir = "klein.php?dir=".$DirArray[$DirIndex + 1]; 
$PrevDir = "klein.php?dir=".$DirArray[$DirIndex - 1]; 
$NextDirNam = $DirArray[($DirIndex + 1)]; 
$PrevDirNam = $DirArray[($DirIndex - 1)]; 
if ($DirIndex == 0) { 
$PrevDir = "klein.php?dir=".$DirArray[(Count($DirArray) - 1)]; 
$PrevDirNam = $DirArray[(Count($DirArray) - 1)]; 

if (($DirIndex + 1) > (Count($DirArray) - 1)) { 
$NextDir = "klein.php?dir=".$DirArray[0]; 
$NextDirNam = $DirArray[0]; 

?> 

<TABLE WIDTH='800' BORDER='0' CELLSPACING='0' CELLPADDING='0' ALIGN='CENTER'> 
<tr> 
<td width='33%' valign='top'><table width='100%' height='50' bordercolor='#FFFFFF' border='1' cellspacing='0' cellpadding='3'><tr><td style='CURSOR: hand' onMouseover="this.bgColor='#CCCCCC'" onMouseout="this.bgColor='#FFFFFF'" onclick="window.location='<?echo"$PrevDir";?>';" valign='top' bordercolor='#000000'><?echo str_replace(".", " ",$PrevDirNam);?></td></tr></table><td> 
<td width='33%' valign='top'><table width='100%' height='50' bordercolor='#FFFFFF' border='1' cellspacing='0' cellpadding='3'><tr><td style='CURSOR: hand' onMouseover="this.bgColor='#CCCCCC'" onMouseout="this.bgColor='#FFFFFF'" onclick="window.location='index.php';" valign='top' align="center" bordercolor='#000000'>Terug naar het album overzicht</td></tr></table><td> 
<td width='33%' valign='top'><table width='100%' height='50' bordercolor='#FFFFFF' border='1' cellspacing='0' cellpadding='3'><tr><td style='CURSOR: hand' onMouseover="this.bgColor='#CCCCCC'" onMouseout="this.bgColor='#FFFFFF'" onclick="window.location='<?echo"$NextDir";?>';" valign='top' bordercolor='#000000'><?echo str_replace(".", " ",$NextDirNam);?></td></tr></table><td> 
</tr> 
</TABLE> 

<table width="800" border='0' cellspacing='0' cellpadding='0' align="center"><tr> 

<? 
$Column = 1; 
$DirName = $DirArray[$DirIndex]; 
$CurrentDir = "./".$DirName; 
$DirContents = getDirContents($CurrentDir); 
for($i=0; $i < count($DirContents); $i++) { 
echo "<td height='140' width='20%'><table width='100%' height='100%' bordercolor='#FFFFFF' border='1' cellspacing='0' cellpadding='3'><tr><td height='100%' style='CURSOR: hand' onMouseover=\"this.bgColor='#CCCCCC'\" onMouseout=\"this.bgColor='#FFFFFF'\" onclick=\"window.location='groot.php?dir=".str_replace(" ", "[spc]",(str_replace("&", "[amp]",$DirName)))."&image=".str_replace(" ", "[spc]",(str_replace("&", "[amp]",$DirContents[$i])))."&index=".$i."';\" valign='top' align='center' bordercolor='#000000'><img vspace='10' width='125' border='0' src='".$CurrentDir."/".$DirContents[$i]."'></td></tr></table></td>"; 
if($Column==5) { 
$Column = 0;  
echo "</tr>"; 

$Column++; 

if($Column != 0) { 
for($i=$Column; $i<8;$i++){ 
echo "<td>"; 


echo "</table>"; 
?> 

</BODY></HTML> 
?> 


Het script werkt overigens gewoon goed, ik wilde alleen alle notices wegwerken.
En deze krijg ik maar niet weg!
Ja lekker!
pi_31891522
Als $DirIndex = 0 is, dan krijg je hier $DirArray[$DirIndex - 1] die notice op. De array begint bij 0, dus -1 bestaat niet. Logisch.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31892524
quote:
Op woensdag 2 november 2005 11:19 schreef SuperRembo het volgende:
Als $DirIndex = 0 is, dan krijg je hier $DirArray[$DirIndex - 1] die notice op. De array begint bij 0, dus -1 bestaat niet. Logisch.
Dit heb ik nagekeken en dit klopt natuurlijk helemaal, maar wat kan ik nu doen om te zorgen dat die 'notice' verdwijnt. Dus hoe kan ik zorgen het script van te voren weet dat het niet verder of terug moet tellen?
Ja lekker!
pi_31892939
quote:
Op woensdag 2 november 2005 11:57 schreef Pronk het volgende:

[..]

Dit heb ik nagekeken en dit klopt natuurlijk helemaal, maar wat kan ik nu doen om te zorgen dat die 'notice' verdwijnt. Dus hoe kan ik zorgen het script van te voren weet dat het niet verder of terug moet tellen?
Door bv dit te doen:
1
2
3
if ($DirIndex > 0) {
    $PrevDir = "klein.php?dir=".$DirArray[$DirIndex - 1];
}

Er zijn natuurlijk nettere oplossingen te bedenken omdat je dit meerdere keren moet doen, maar dit is één manier iig

[ Bericht 3% gewijzigd door JeRa op 02-11-2005 12:24:07 ]
pi_31893470
Nouja, misschien niet de netste manier maar mijn notices zijn weg! Thx!
Ja lekker!
  woensdag 2 november 2005 @ 19:59:44 #191
76312 sh4dow
ÆÆÆÆÆÆÆÆÆ
pi_31906806
Om nog even terug te komen op m'n vraag.

Ik heb een .txt bestand met gastenboek berichten van een oud script. Nu heb ik een nieuw gastenboek met MySQL. Nu wil ik de oude berichten uit het txt bestand overzetten naar de MySQL database.

Hier een stukje van het data.txt bestand:

1
2
<?php $Bericht[] = array('Patrick','iemand@hotmail.com',' ','Herveld','14-09-2004 21:46:28','Berichtje'); ?>
<?php $Bericht[] = array('Thomas','iemand@hotmail.com',' ','Hoogkerk','14-09-2004 23:16:05','Berichtje'); ?>


Hoe krijg ik deze arrays nu in de database? Ik ben al een paar dagen bezig geweest, maar ik kom er echt niet uit.
pi_31907371
heb je een database met een table messages aangemaakt?

Open het bestand data.txt.
Zet onderaan het bestand de volgende code :
1
2
3
4
5
6
7
8
<?php
for($i=0;$i<count($Bericht);$i++){
   $query = "INSERT INTO messages (name,email,bla,woonplaats,date,message) 
            VALUES ('".$Bericht[$i][0]."','".$Bericht[$i][1]."','".$Bericht[$i][2]."',
            '".$Bericht[$i][3]."','".$Bericht[$i][4]."','".$Bericht[$i][5]."')";
   mysql_query($query)or die(mysql_error());
}
?>

Verander de bestandsnaam in data.php
Zet hem in een directory waarvanuit je php bestanden kunt uitvoeren
Roep data.php aan in je browser.

Lijkt me niet zo moeilijk toch?

[ Bericht 10% gewijzigd door ikke_ook op 02-11-2005 20:28:28 ]
  FOK!-Schrikkelbaas woensdag 2 november 2005 @ 20:20:18 #193
1972 Swetsenegger
Egocentrische Narcist
pi_31907551
Eerst laadt je gewoon de txt gewoon in een text editor en met de replace functie strip je <?php $Bericht[] = array( en ); ?>
Dan hou je dus
1
2
'Patrick','iemand@hotmail.com',' ','Herveld','14-09-2004 21:46:28','Berichtje'
'Thomas','iemand@hotmail.com',' ','Hoogkerk','14-09-2004 23:16:05','Berichtje'

over.
Ik ga er van uit dat elk bericht volledig op 1 regel staat? of staan er in 'berichtje' ook enters?

Even van het eerste uitgaand:
http://nl3.php.net/manual/nl/function.file.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$array
=file(berichten.txt);

//Hiermee zet hij je txt file in een array, waarbij elke regel een element is.

foreach ($array as $line){
//Hiermee stap je door de array heen

$line=str_replace(''','',$line);
//hiermee haal je de '
weg

$stuk
=explode(',',$line);
//hiermee verdeel je de regel in losse elementen

$query="INSERT INTO database
(id,naam,email,iets,woonplaats,datum,bericht)
VALUES(0,'"
.$stuk[0]."','".$stuk[1]."','".$stuk[2]."','".$stuk[3]."','".$stuk[4]."','".$stuk[5]."')";
mysql_query($query);
// naar database schrijven

}
?>
  FOK!-Schrikkelbaas woensdag 2 november 2005 @ 20:21:07 #194
1972 Swetsenegger
Egocentrische Narcist
pi_31907581
Die van ikke ook is een stuk slimmer
  woensdag 2 november 2005 @ 20:31:39 #195
76312 sh4dow
ÆÆÆÆÆÆÆÆÆ
pi_31908012
Ja ik heb de DB al klaar, ik ga nu even proberen die data.txt te includen en dan het script van ikke_ook te draaien.

Er zitten wel <BR> tags in het bestand
pi_31908215
in welk bestand zitten <br>'s? en wat bedoel je met includen??Heb je mijn beschrijving wel gelezen?daar hoef je niks te includen hoor..
  woensdag 2 november 2005 @ 20:40:05 #197
76312 sh4dow
ÆÆÆÆÆÆÆÆÆ
pi_31908380
in data.txt zitten wat <BR>'s in de 'berichtje' stukjes.

ik heb data.txt gerenamed naar data.php en deze include ik nu in een nieuw php bestand met jou code.
pi_31908630
Ok, dat kan ook idd, maar die <br> maakt niet uit hoor...die kun je toch ook gewoon in de database zetten?
  woensdag 2 november 2005 @ 20:51:08 #199
76312 sh4dow
ÆÆÆÆÆÆÆÆÆ
pi_31908812
Ja het is al gelukt met jou script alles komt netjes in de DB te staan nu, die <br>'s geven idd geen probleem, maar Swetsenegger had het daarover.

Heel erg bedankt!
pi_31908882
quote:
Op woensdag 2 november 2005 12:37 schreef Pronk het volgende:
Nouja, misschien niet de netste manier maar mijn notices zijn weg! Thx!
Voor $NextDir moet je een zelfde soort controle inbouwen (voor als je aan het eind van de lijst bent).

En als $PrevDir of $NextDir leeg zijn, dan moet je de links naar het volgende of vorige album niet tonen.

(Waarom gebruik je javascript en window.location en niet gewoon een <a> link?)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31908959
quote:
Op woensdag 2 november 2005 20:51 schreef sh4dow het volgende:
Ja het is al gelukt met jou script alles komt netjes in de DB te staan nu, die <br>'s geven idd geen probleem, maar Swetsenegger had het daarover.

Heel erg bedankt!
Swets had het over newlines. Dus niet <br> maar \n.
  woensdag 2 november 2005 @ 22:07:55 #202
76312 sh4dow
ÆÆÆÆÆÆÆÆÆ
pi_31911603
Nog even een klein vraagje.

Ik wil graag de datums van de oude berichten omzetten naar een UNIX timestamp. Ik weet dat dit met de functie mktime kan. Maar hoe split ik dit datum format zodat ik mktime kan toepassen:

de datums zijn op deze manier opgeslagen: '14-09-2004 21:46:28'
  FOK!-Schrikkelbaas woensdag 2 november 2005 @ 22:12:39 #203
1972 Swetsenegger
Egocentrische Narcist
pi_31911796
nooit een unix timestamp gebruiken, gebruik gewoon DATETIME van mysql. Kan je tenminste mee rekenen.

DATETIME veld staat als 09-14-2004 21:46:28 dacht ik.
kwestie van dus TOCH je datum eruit trekken, exploden en op de juiste manier weer aan elkaar plakken. Dat lijkt me de snelste oplossing
pi_31911826
gewoon strtotime gebruiken?
pi_31911929
quote:
Op woensdag 2 november 2005 22:12 schreef Swetsenegger het volgende:
nooit een unix timestamp gebruiken, gebruik gewoon DATETIME van mysql. Kan je tenminste mee rekenen.

DATETIME veld staat als 09-14-2004 21:46:28 dacht ik.
kwestie van dus TOCH je datum eruit trekken, exploden en op de juiste manier weer aan elkaar plakken. Dat lijkt me de snelste oplossing
Ik gebruik ook een datetime veld, maar die waarde haal ik er altijd uit als een UNIX_TIMESTAMP, anders kun je er niet mee rekenen Ik snap niet zo goed wat jij bedoelt.

Hoe krijg jij een andere datum in dat datetime veld dan NOW() zonder een timestamp te gebruiken?
Ik gebruik daar FROM_UNIXTIME(timestamp) voor.

Combi van datetime en timestamp vind ik prima
  FOK!-Schrikkelbaas woensdag 2 november 2005 @ 22:20:33 #206
1972 Swetsenegger
Egocentrische Narcist
pi_31912122
quote:
Op woensdag 2 november 2005 22:15 schreef ikke_ook het volgende:

[..]

Ik gebruik ook een datetime veld, maar die waarde haal ik er altijd uit als een UNIX_TIMESTAMP, anders kun je er niet mee rekenen Ik snap niet zo goed wat jij bedoelt.
Als je een dag eerder wilt hebben kan je beter gewoon DATESUB van mysql gebruiken.

scheelt een hoop PHP gereken
pi_31912166
quote:
Op woensdag 2 november 2005 22:13 schreef Roļæ½aļæ½ het volgende:
gewoon strtotime gebruiken?
Die gaat fout met data in het formaat dd-mm-jjjj, met jjjj-mm-dd werkt het wel. Het was ook mijn eerste idee, maar ik ging het nog even testen
  woensdag 2 november 2005 @ 22:23:15 #208
76312 sh4dow
ÆÆÆÆÆÆÆÆÆ
pi_31912236
quote:
Op woensdag 2 november 2005 22:21 schreef Light het volgende:

Die gaat fout met data in het formaat dd-mm-jjjj, met jjjj-mm-dd werkt het wel. Het was ook mijn eerste idee, maar ik ging het nog even testen
Inderdaad Dat werkt niet, zie: http://195.241.108.27/scripts/convert/time.php

Iemand enig idee hoe ik dat kan omwisselen?
pi_31912287
quote:
Op woensdag 2 november 2005 22:20 schreef Swetsenegger het volgende:

[..]

Als je een dag eerder wilt hebben kan je beter gewoon DATESUB van mysql gebruiken.

scheelt een hoop PHP gereken
Maar als je nou een server in de VS hebt staan krijg je wel een verkeerde datum terug, en als je hem als timestamp uit de database haalt kun je er een formaat van maken naar eigen wens. Maar ik zal dat DATESUB eens bekijken want het klinkt wel handig
pi_31912580
quote:
Op woensdag 2 november 2005 22:23 schreef sh4dow het volgende:

[..]

Inderdaad Dat werkt niet, zie: http://195.241.108.27/scripts/convert/time.php

Iemand enig idee hoe ik dat kan omwisselen?
1
2
3
4
<?php
$datum
= '14-09-2004 21:46:28';
print
preg_replace('/(\d{2})-(\d{2})-(\d{4})/', '\\3-\\2-\\1', $datum);
?>

Dat levert 2004-09-14 21:46:28 op.
pi_31912596
Omwisselen van dd-mm-jjjj naar jjjj-mm-dd kan bijvoorbeeld met een regexp:

1
2
$in = '14-09-2004 21:46:28';
$out = preg_replace('/(\d+)-(\d+)-(\d+)/', '$3-$2-$1', $in);
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  woensdag 2 november 2005 @ 22:32:14 #212
76312 sh4dow
ÆÆÆÆÆÆÆÆÆ
  woensdag 2 november 2005 @ 22:39:40 #213
76312 sh4dow
ÆÆÆÆÆÆÆÆÆ
pi_31912929
Allemaal bedankt voor jullie hulp!

Dit is het uiteindelijke convert script geworden:

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

include_once("config.php");
include("gastenboek.php");

for($i=0;$i<count($Bericht);$i++){

$time = $Bericht[$i][4]; 
$time = preg_replace('/(\d{2})-(\d{2})-(\d{4})/', '\\3-\\2-\\1', $time);
$tijd = strtotime($time);

   $query = "INSERT INTO gastenboek_nieuw (naam, woonplaats, email, website, bericht, datum) 
            VALUES ('".$Bericht[$i][0]."','".$Bericht[$i][3]."','".$Bericht[$i][1]."',
            '".$Bericht[$i][2]."','".$Bericht[$i][5]."','".$tijd."')";
   mysql_query($query)or die(mysql_error());
}

?>
  donderdag 3 november 2005 @ 21:02:53 #214
51748 H4ze
wait...what?
pi_31939253
Ik heb een pagina "groepsleden". Hier staat een lijst met groepsleden. Wanneer er op een bepaald groepslid wordt geklikt ga je naar de pagina van dat groepslid. Hierna moet de user ook weer snel terug kunnen naar de vorige pagina (groepsleden dus). Nu kan ik natuurlijk gewoon een linkje "back" maken en dat het path er gewoon neer planten, maar ik meen me ook te herinneren dat er een hele simpele php code was hiervoor. Ik ben 'm alleen ff kwijt Heb erop gegoogled, maar kon 'm niet vinden

Iemand?
*BURP*
pi_31939719
javascript:history.go(-1);

maar das geen PHP maar wel heel erg simpel
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  FOK!-Schrikkelbaas donderdag 3 november 2005 @ 22:32:13 #216
1972 Swetsenegger
Egocentrische Narcist
pi_31942467
quote:
Op woensdag 2 november 2005 22:24 schreef ikke_ook het volgende:

[..]

Maar als je nou een server in de VS hebt staan krijg je wel een verkeerde datum terug, en als je hem als timestamp uit de database haalt kun je er een formaat van maken naar eigen wens. Maar ik zal dat DATESUB eens bekijken want het klinkt wel handig
Je kan met mysql de datum ook in elk gewenst formaat zettenmet de DATE_FORMAT functie

1SELECT name, DATE_FORMAT(datum,'%d-%m-%Y %H:%i') AS dutch_date FROM tabel
pi_31953274
quote:
Op donderdag 3 november 2005 22:32 schreef Swetsenegger het volgende:

[..]

Je kan met mysql de datum ook in elk gewenst formaat zettenmet de DATE_FORMAT functie
[ code verwijderd ]
Voor mij werken de timestamps alsnog veel sneller omdat MySQL daar een index op kan brouwen (dat gaat niet als je een veld met functies binnen MySQL gaat aanpassen) en ik in PHP vantevoren razendsnel kan bepalen wat een conditie voor de timestamp moet zijn a.d.h.v. de vele functies die daarvoor in PHP beschikbaar zijn ook heb ik dan makkelijker het verschil tussen zomer- en wintertijd onder controle (MySQL geeft met jouw veld twee uur per jaar dubbele waarden terug, bij timestamps niet).

Bovendien ben ik van mening dat het visuele formaat van de tijd in de frontend moet worden bepaald (het liefst de template) in plaats van de backend die de data aanlevert.
  FOK!-Schrikkelbaas vrijdag 4 november 2005 @ 11:46:25 #218
1972 Swetsenegger
Egocentrische Narcist
pi_31955160
quote:
Op vrijdag 4 november 2005 10:34 schreef JeRa het volgende:

[..]

Voor mij werken de timestamps alsnog veel sneller omdat MySQL daar een index op kan brouwen (dat gaat niet als je een veld met functies binnen MySQL gaat aanpassen) en ik in PHP vantevoren razendsnel kan bepalen wat een conditie voor de timestamp moet zijn a.d.h.v. de vele functies die daarvoor in PHP beschikbaar zijn ook heb ik dan makkelijker het verschil tussen zomer- en wintertijd onder controle (MySQL geeft met jouw veld twee uur per jaar dubbele waarden terug, bij timestamps niet).

Bovendien ben ik van mening dat het visuele formaat van de tijd in de frontend moet worden bepaald (het liefst de template) in plaats van de backend die de data aanlevert.
Tja, diverse mysql goeroe's vertellen me juist weer NOOIT een timestamp te gebruiken, maar altijd datetime omdat sql sneller is dan php in omzetten.

Het zal wel. Ik gebruik datetime omdat ik het eenvoudiger vind en er mee kan doen wat ik wil. Als jij de timestamp wil gebruiken. Be my guest
  vrijdag 4 november 2005 @ 12:51:40 #219
51748 H4ze
wait...what?
pi_31957233
quote:
Op donderdag 3 november 2005 21:16 schreef Chandler het volgende:
javascript:history.go(-1);

maar das geen PHP maar wel heel erg simpel
Hmm..liever geen javascript.

Maar toch bedankt voor de reply
*BURP*
pi_31959162
Mag ik hier misschien hulp vragen mbt een php-script? Ik heb een thumbnail-creator gedownload voor mijn linux bak. Echter bij het aanspreken van ./<flename> gaat ie heel mooi thumbnails maken van jpg's.. maar de gifs slaat ie totaal over.

Nou kom ik er gewoon niet meer uit.. dus als men er oren naar heeft om te helpen.. graag
Alle mine.nu-domeinen werken weer o/
pi_31959393
quote:
Op vrijdag 4 november 2005 13:48 schreef P0rt0 het volgende:
Mag ik hier misschien hulp vragen mbt een php-script? Ik heb een thumbnail-creator gedownload voor mijn linux bak. Echter bij het aanspreken van ./<flename> gaat ie heel mooi thumbnails maken van jpg's.. maar de gifs slaat ie totaal over.

Nou kom ik er gewoon niet meer uit.. dus als men er oren naar heeft om te helpen.. graag
Doe eens een phpinfo() in een PHP-script en kijk bij 'gd' of deze ook support heeft voor GIF-afbeeldingen. Mijn gok is namelijk van niet
pi_31959458
quote:
Op donderdag 3 november 2005 21:02 schreef H4ze het volgende:
Nu kan ik natuurlijk gewoon een linkje "back" maken en dat het path er gewoon neer planten, maar ik meen me ook te herinneren dat er een hele simpele php code was hiervoor. Ik ben 'm alleen ff kwijt
Browsen is cilentside. PHP is serverside. Als je een pagina terugwilt, zul je dat toch echt door middel van een linkje moeten doen met ofwel het pad ofwel de javascript-code daarvoor gebruiken. Je moet niet alles met PHP willen doen, en aangezien je geen javascript wilt gebruiken zou ik toch echt voor het linkje met het adres gaan
  FOK!-Schrikkelbaas vrijdag 4 november 2005 @ 13:56:45 #223
1972 Swetsenegger
Egocentrische Narcist
pi_31959464
quote:
Op vrijdag 4 november 2005 13:54 schreef JeRa het volgende:

[..]

Doe eens een phpinfo() in een PHP-script en kijk bij 'gd' of deze ook support heeft voor GIF-afbeeldingen. Mijn gok is namelijk van niet
Aanvullend, tussen GD versie 1.6 en 2.nogwat is er geen gif support geweest.
Op php.net staat welke versies gif support hebben.
pi_31959530
quote:
Op vrijdag 4 november 2005 13:56 schreef Swetsenegger het volgende:

[..]

Aanvullend, tussen GD versie 1.6 en 2.nogwat is er geen gif support geweest.
Op php.net staat welke versies gif support hebben.
Nog meer aanvullend ( ), lange tijd hebben veel hosters geen GIF-support aangezet vanwege patenten en licenties en al dat soort meuk. Sinds een tijdje geldt dat niet meer, maar het zou goed kunnen dat sommige hosters ervoor gekozen hebben dit nog uit te laten staan (of het onbewust nog niet aan hebben gezet).
pi_31960313
|
|
V
pi_31962153
Om ff verder op in te gaan

Heb ff stukje uit mijn phpnfo gepaste hier

1
2
3
4
5
6
7
8
9
10
11
12
13
gd
GD Support  enabled  
GD Version  bundled (2.0.28 compatible)  
FreeType Support  enabled  
FreeType Linkage  with freetype  
FreeType Version  2.1.10  
GIF Read Support  enabled  
GIF Create Support  enabled  
JPG Support  enabled  
PNG Support  enabled  
WBMP Support  enabled  
XPM Support  enabled  
XBM Support  enabled  



Ik moet eigenlijk wel mijn verhaal compleet maken;

Ik heb eergisteren een heel mooi scriptje geleeched (genethumb.sh) en die maakt alles behalve gif. (bmp doe ik niet aan, dus nooit getest). Echter heb ik het niet bij neer laten zitten, en heb ik toen op hotscripts gezocht naar een dergelijk programma.

Die doet het wel met Gif etc.. alleen is die zo bout gescripts, dat ik perse mijn php.ini op 100mB moest zetten (mem_limit), want anders wou hij bij de 8 mb buffer geen thumbnails creeeren.

Wat ik graag wil weten, is waarin het script die ik persoonlijk vet mooi vind, word geregeld wat wel/niet word gebruikt om thumbs te creeeren.. en ook; Waarom hij geen Gif's pakt.

Hierbij de code van het betreffende script

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
#!/bin/sh
# genethumb.sh - Génération de thumbnails mortels de ta mčre
# (c)  3 Jan 1998: version 0.0.4 by Samuel Hocevar <sam@via.ecp.fr>
#     22 May 2000: version 0.0.5 by Samuel Hocevar <sam@via.ecp.fr>
#     15 Nov 2000: version 0.0.6 by Samuel Hocevar <sam@zoy.org>
#                    with code from Sven Hartge <hartge@ds9.argh.org>
#     13 Dec 2000: version 0.0.7 by Samuel Hocevar <sam@zoy.org>
#                    now compatible with old ImageMagick versions
#                    added --rows option
#     27 Apr 2003: version 0.0.8 by Sam Hocevar <sam@zoy.org>
#                    removed all bashisms
#                    now compatible with all ImageMagick versions
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

version=0.0.8
THFILE=index.html
THDIR=.xvpics
THEXT=png      # change this to jpeg or whatever you want
THWIDTH=120    # thumbnail width
THHEIGHT=90    # thumbnail height
THCOLS=5       # change to set table width -- 0 for no tables

if [ "$1" != "" ]
then
  THCOLS=$1
fi

echo "genethumb.sh v$version -- report bugs to Samuel Hocevar <sam@zoy.org>"
echo "usage: genethumb.sh [number of columns]"

if [ -w $THFILE ]
then
  echo "saving $THFILE to $THFILE~"
  mv -f $THFILE $THFILE~
fi

if [ ! -d $THDIR ]
then
  echo "creating thumbnail directory $THDIR"
  mkdir $THDIR
fi

cat > $THFILE << EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   <meta name="GENERATOR" content="genethumb.sh version $version" />
   <meta name="Description" content="thumbnails of $PWD" />
   <title>Index of $PWD</title>
   <style type="text/css">
      img { border: 1pt; }
      body { background: white; color: black;
             font-family: sans-serif, Arial, Helvetica;
             font-size: 9pt; margin: 5pt; }
      h2 { color: black; background: white; font-size: 14pt; }
      a { text-decoration: none; }
      td.center { text-align: center; }
      td.nowrap { white-space: nowrap; }
      blockquote.center { text-align: center; }
   </style>
</head>

<body>

<table border="0" width="100%"><tr><td>
<h2>Index of $PWD</h2></td>
<td align="right">generated by <a
 href="http://sam.zoy.org/projects/unix/genethumb.html">genethumb.sh</a>
 version $version </td></tr></table>

<hr />

<table cellspacing="5" border="0">
  <tr>
EOF

compteur=0
created=0
find . -type f -maxdepth 1 | sed 's,^\./,,' | while read file
do
  # on vérifie que l'image n'est pas déją un thumbnail ou une page html, et a
  # une extension quelconque (ą améliorer un peu)
  case "$file" in

    *~|*.html|*.htm)
      echo "* skipping $file"
      ;;

    *)
      failed=0
      newfile="$THDIR/tn_$file.$THEXT"
      echo -n "* $file: "

      if [ -r "$newfile" ]
      then
        echo "thumbnail already exists."
      else
        convert -geometry ${THWIDTH}x${THHEIGHT} "$file" "$newfile" >/dev/null 2>&1
        if [ ! -r "$newfile" ]
        then
          echo "failed creating."
     failed=1
        else
          echo "done."
        fi
      fi

      if [ "$failed" = "0" ]
      then

        created="`expr 0$created + 1`"
        if [ -e "$newfile.info" ]
        then
          read filesize coordinates oldcoords compat < "$newfile.info"
        fi

        if expr "$version" ">" "$compat" >/dev/null 2>&1
        then
          read oldcoords filesize << EOF
`identify -format '%wx%h %b' "$file" | head -1`
EOF
          coordinates=`identify -format '%wx%h' "$newfile" | head -1`
          rm -f "$newfile.info"
          echo $filesize $coordinates $oldcoords $version > "$newfile.info"
          echo "  $newfile.info written."
        fi

        j="`echo $file | cut -b1-20`"
        if [ "$file" != "$j" ]
        then
          j="`echo $file | cut -b1-17`..."
        fi

        cat >> $THFILE << EOF
      <td align="center">
        <a href="$file"><img alt="$file ($oldcoords)"
        width="`echo $coordinates | cut -f1 -dx`"
        height="`echo $coordinates | cut -f2 -dx`"
        src="$newfile" /><br />$j<br />$oldcoords ($filesize)</a>
      </td>
EOF
        compteur="`expr 0$compteur + 1`"
        if [ x"$compteur" = "x$THCOLS" ]
        then
          echo "  </tr><tr>" >> $THFILE
          compteur=0
        fi
      fi
  esac
done

echo "done."

cat >> $THFILE << EOF
  </tr>
</table>

</body>
</html>
EOF
Alle mine.nu-domeinen werken weer o/
  vrijdag 4 november 2005 @ 16:18:39 #227
2391 Jimmy
Door het bot
pi_31963699
quote:
Op vrijdag 4 november 2005 15:27 schreef P0rt0 het volgende:

Hierbij de code van het betreffende script
[ code verwijderd ]
Zo te zien gebruikt dat script helemaal geen GD, maar ImageMagick, dan zul je dus moeten checken of de ImageMagick versie die je hebt wel gif ondersteuning biedt.
Rock 'n Roll Motherfucker - Join the Rock 'n Roll Jihad!
www.last.fm/user/JimmyShelter
Jimmy Shelter
Sleazerock.nl
pi_31964803
EN hoe check ik dat?

ik weet wel dat "convert plaatje.gif plaat2.jpg" werkt.
Alle mine.nu-domeinen werken weer o/
pi_31969102
quote:
Op vrijdag 4 november 2005 14:24 schreef Roonaan het volgende:
|
|
V
Gefeliciteerd
pi_31973476
tnx
pi_31973574
quote:
Op vrijdag 4 november 2005 15:27 schreef P0rt0 het volgende:


Hierbij de code van het betreffende script
[ code verwijderd ]
Dit is geen php... dus ik vraag me af wat je wil doen met je phpinfo()?

Of zie ik iets over het hoofd?
  zaterdag 5 november 2005 @ 13:59:20 #232
65471 SkaterSam
Lurking Galore
pi_31989436
Ik had een vraag, en misschien heb ik het antwoord al, maar ik wilde graag weten hoe jullie hier mee omgaan.

Ik heb een database met 3 tabellen, laat ik ze 1 2 en 3 noemen. Als ik dan een bepaald formulier aanroep waarin informatie voor alle 3 de tabellen staan, dan wil ik dus al die informatie naar hun respectievelijke tabel uploaden (invoegen). Nu gebruik ik altijd een code waarbij stap voor stap de data in de tabellen wordt ingevoegd. Dus eerst 1, dan 2, dan 3. Mijn vraag is nu hoe dat ik kan voorkomen dat ze worden ingevoegd wanneer 1 van de 3 een error geeft, dus dan heb ik bijvoorbeeld 1 en 2 al gedaan, maar is er bij de derde een error. (Ik ga ook even uit van het gebruik van een MyISAM tabel structuur) Hoe kan ik er voor zorgen dat ze alledrie tegelijkertijd worden ingevoegd, maar als een fout geeft een error geven.

Ik weet dat het kan met InnoDB structuur, met ROLLBACK, dat heb ik ook al geprobeerd, maar ik wilde graag weten hoe jullie hier tegen aan kijken. wat het beste is, als je meerdere tabellen wilt invoegen.
Let's make life easy
Typo's are the demon spawn from hell !
pi_31990053
Een transaction gebruiken is de enige nette en betrouwbare oplossing.
Misschien dat je achteraf zou kunnen controleren of het inserten in alle 3 de tabellen is geslaagd en als dat niet het geval is alle rows deleten die wel ge-insert zijn. Maar dat blijft geknoei.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_32035123
Ik ben bezig met een class voor page pointers oftewel << < 1 2 3 4 5 6 > >> etc maar dan alles geheel aanpasbaar. Echter stuit ik op wat problemen, soms heb ik pointers die kleiner zijn dan 1 neemt af en toe meer pages dan maxpages en tevens stopt ie soms op de verkeerde plaats etc.

Wie wil eens een kijkje nemen om in te zien waar het fout gaat/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
<?

session_start();
// << < 1 2 3 4 5 6 7 8 8 10 > >>


class pointer
{
    function setup($arr)
    {
        // arr => ("<<", "<", ">", ">")
        
        $this->text->_toStart     = $arr[0];
        $this->text->_toStartBack = $arr[1];
        $this->text->_toEnd       = $arr[2];
        $this->text->_toEndBack   = $arr[3];
    }
    
    function setupDisplay($type = NULL, $number)
    {
        switch ($type)
        {
            case "number":
                // 1 2 3 4 5 6 7 8
                $this->config->_displayType = 1;
            break;
            
            case "next":
                // < >
                $this->config->_displayType = 2;
                
            break;
            
            case "nextend":

                if ($number == 0)
                {
                    // << < > >>
                    $this->config->_displayType = 3;
                }
                else
                {
                    // << < (2) > >>
                    $this->config->_displayType = 4;
                }
            break;
            
            default;
                // << < 1 2 3 4 5 6 7 > >>
                $this->config->_displayType = 0;
            break;
        }
    }
    
    function setupText($font, $color, $selectedColor)
    {
        $this->config->_displayFont          = $font;
        $this->config->_displayColor         = $color;
        $this->config->_displaySelectedColor = $selectedColor;
    }
    
    function setupPage($page, $idname, $extra)
    {
        $this->config->_pageUrl   = $page;
        $this->config->_pageID    = $idname;
        $this->config->_pageExtra = $extra;
    }
    
    function setValues($from, $counter, $total, $maxPages)
    {
        $this->config->_pageCurrentID = $from;
        $this->config->_pageTotal     = ceil ($total / $counter)+1;
        $this->config->_pageMax       = $maxPages;
    }

    function getText()
    {
        $txt = "";

        if ($this->config->_pageExtra == "")
        {
            $linkAdd = "";
        }
        else
        {
            $linkAdd = "&" . $this->config->_pageExtra;
        }

        // first <<
        if ($this->config->_displayType == 3 OR $this->config->_displayType == 4)
        {
            // current page [1 (2) 3 4 5 6]
            if ($this->config->_pageCurrentID > 2)
            {
                $txt .= '<a href="' .
                        $this->config->_pageUrl .
                        "?" . $this->config->_pageExtra . '">' . $this->text->_toStart . '</a> ';
            }
        }
        
        // < (previous)
        if ($this->config->_displayType == 2 OR $this->config->_displayType == 3 OR $this->config->_displayType == 4)
        {
            // current page [ 1 (2) 3 4 5
            if ($this->config->_pageCurrentID > 1)
            {
                $txt .= '<a href="' .
                        $this->config->_pageUrl . "?" .
                        $this->config->_pageID . "=" .
                        ($this->config->_pageCurrentID -1) .
                        $linkAdd . '">' . $this->text->_toStartBack . '</a> ';

            }
        }
        
        
        //*
        if ($this->config->_pageTotal > $this->config->_pageMax)
        {
            $start = 1;
            $end   = $this->config->_pageTotal;
        }
        else
        {
            $mid = $this->config->_pageMax / 2;
            
            if ($this->config->_pageCurrentID - $mid > 1)
            {
                if ($this->config->_pageCurrentID + $mid > $this->config->_pageTotal)
                {
                    $start = $this->config->_pageTotal - $this->config->_pageMax;
                    $end   = $this->config->_pageTotal;
                }
                else
                {
                    $start = $this->config->_pageCurrentID - $mid;
                    $end   = $this->config->_pageCurrentID + $mid;
                }
            }
            else
            {
                $start = 1;
                $end   = $this->config->_pageMax;
            }
        }
        
        for ($x = $start; $x < $end; $x++)
        {
            if ($x == $this->config->_pageCurrentID)
            {
                // bold text in case of current
                $txt .= '<a href="' .
                        $this->config->_pageUrl . "?" .
                        $this->config->_pageID . "=" . $x .
                        $linkAdd . '"><strong>' . $x . '</strong></a> ';
            }
            else
            {
                $txt .= '<a href="' .
                        $this->config->_pageUrl . "?" .
                        $this->config->_pageID . "=" . $x .
                        $linkAdd . '">' . $x . '</a> ';
            }
        }

        // > (next)
        if ($this->config->_displayType == 2 OR $this->config->_displayType == 3 OR $this->config->_displayType == 4)
        {
            // current page [ 1 2 3 4 (5) 6]
            if (($this->config->_pageCurrentID + 2) <= $this->config->_pageTotal)
            {
                $txt .= '<a href="' .
                        $this->config->_pageUrl . "?" .
                        $this->config->_pageID . "=" .
                        ($this->config->_pageCurrentID +1) .
                        $linkAdd . '">' . $this->text->_toEnd . '</a> ';

            }
        }

        // last >>
        if ($this->config->_displayType == 3 OR $this->config->_displayType == 4)
        {
            // current page [1 2 3 (4) 5 6]
            if (($this->config->_pageCurrentID +3) <= $this->config->_pageTotal)
            {
                $txt .= '<a href="' .
                        $this->config->_pageUrl . "?" .
                        $this->config->_pageID . "=" .
                        $this->config->_pageTotal .
                        $linkAdd . '">' .
                        $this->text->_toEndBack . '</a> ';
            }
        }

        return $txt;

    }
}

if ($_SERVER['REQUEST_METHOD'] == "POST")
{
    $_SESSION['total']   = $_POST['total'];
    $_SESSION['counter'] = $_POST['counter'];
    $_SESSION['pages']   = $_POST['pages'];

    header("Location: pages.php");
    exit();
}

if (isSet($_SESSION['total']))
{
    $total   = $_SESSION['total'];
    $counter = $_SESSION['counter'];
    $pages   = $_SESSION['pages'];
?>
<form method="post">
<table>
<tr>
<td>Total?</td><td><input type="text" name="total" value="<?=$total;?>"></td>
<td>Counter</td><td><input type="text" name="counter" value="<?=$counter;?>"></td>
<td>Max pages</td><td><input type="text" name="pages" value="<?=$pages;?>"></td>
<td><input type="submit" name="add" value="Verander"></td>
</tr>
</table>
</form>
<?
}
else
{
    $_SESSION['total']   = 99;
    $_SESSION['counter'] = 10;
    $_SESSION['pages']   = 10;
?>
<form method="post">
<table>
<tr>
<td>Total?</td><td><input type="text" name="total" value="<?=$_SESSION['total'];?>"></td>
<td>Counter</td><td><input type="text" name="counter" value="<?=$_SESSION['counter'];?>"></td>
<td>Max pages</td><td><input type="text" name="pages" value="<?=$_SESSION['pages'];?>"></td>
<td><input type="submit" name="add" value="Verander"></td>
</tr>
</table>
</form>
<?
}


$blaat  = new pointer();
$blaat->setup(array("<<", "<", ">", ">>"));
$blaat->setupDisplay("numbers", 0);
$blaat->setupText("arial", "blue", "darkblue");
$blaat->setupPage("pages.php", "from", "test=23&true=false");
$blaat->setValues($_GET['from'], $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']);

echo $blaat->getText();

echo '<hr>';

$blaat1  = new pointer();
$blaat1->setup(array("<<", "<", ">", ">>"));
$blaat1->setupDisplay("next", 0);
$blaat1->setupText("arial", "blue", "darkblue");
$blaat1->setupPage("pages.php", "from", "test=23&true=false");
$blaat1->setValues($_GET['from'], $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']);

echo $blaat1->getText();

echo '<hr>';

$blaat2  = new pointer();
$blaat2->setup(array("First", "Previous", "Next", "Last"));
$blaat2->setupDisplay("nextend", 0);
$blaat2->setupText("arial", "blue", "darkblue");
$blaat2->setupPage("pages.php", "from", "test=23&true=false");
$blaat2->setValues($_GET['from'], $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']);

echo $blaat2->getText();

echo '<hr>';

$blaat3  = new pointer();
$blaat3->setup(array("First", "Previous", "Next", "Last"));
$blaat3->setupDisplay("nextend", 0);
$blaat3->setupText("arial", "blue", "darkblue");
$blaat3->setupPage("pages.php", "from", "test=23&true=false");
$blaat3->setValues($_GET['from'], $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']);

echo $blaat3->getText();

echo '<hr>';
?>
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_32048002
Je gebruikt properties die je niet gedefinieerd hebt
pi_32050441
Hoe bedoel je roonaan? ik zie um namelijk niet maar dat zal wel komen omdat ik er de heletijd in zit?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_32050593
Ik had alleen $_GET['from'] niet gedefenieerd; maar nu heb ik dat even opgelost en heb volgens mij de fout ook al gevonden ipv > heb ik bij de 'pages 12345678etc' nu < gebruikt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
<?

session_start();

error_reporting(E_ALL);
// << < 1 2 3 4 5 6 7 8 8 10 > >>


class pointer
{
    function setup($arr)
    {
        // arr => ("<<", "<", ">", ">")
        
        $this->text->_toStart     = $arr[0];
        $this->text->_toStartBack = $arr[1];
        $this->text->_toEnd       = $arr[2];
        $this->text->_toEndBack   = $arr[3];
    }
    
    function setupDisplay($type = NULL, $number)
    {
        switch ($type)
        {
            case "number":
                // 1 2 3 4 5 6 7 8
                $this->config->_displayType = 1;
            break;
            
            case "next":
                // < >
                $this->config->_displayType = 2;
                
            break;
            
            case "nextend":

                if ($number == 0)
                {
                    // << < > >>
                    $this->config->_displayType = 3;
                }
                else
                {
                    // << < (2) > >>
                    $this->config->_displayType = 4;
                }
            break;
            
            default;
                // << < 1 2 3 4 5 6 7 > >>
                $this->config->_displayType = 0;
            break;
        }
    }
    
    function setupText($font, $color, $selectedColor)
    {
        $this->config->_displayFont          = $font;
        $this->config->_displayColor         = $color;
        $this->config->_displaySelectedColor = $selectedColor;
    }
    
    function setupPage($page, $idname, $extra)
    {
        $this->config->_pageUrl   = $page;
        $this->config->_pageID    = $idname;
        $this->config->_pageExtra = $extra;
    }
    
    function setValues($from, $counter, $total, $maxPages)
    {
        $this->config->_pageCurrentID = $from;
        $this->config->_pageTotal     = ceil ($total / $counter)+1;
        $this->config->_pageMax       = $maxPages;
    }

    function getText()
    {
        $txt = "";

        if ($this->config->_pageExtra == "")
        {
            $linkAdd = "";
        }
        else
        {
            $linkAdd = "&" . $this->config->_pageExtra;
        }

        // first <<
        if ($this->config->_displayType == 3 OR $this->config->_displayType == 4)
        {
            // current page [1 (2) 3 4 5 6]
            if ($this->config->_pageCurrentID > 2)
            {
                $txt .= '<a href="' .
                        $this->config->_pageUrl .
                        "?" . $this->config->_pageExtra . '">' . $this->text->_toStart . '</a> ';
            }
        }
        
        // < (previous)
        if ($this->config->_displayType == 2 OR $this->config->_displayType == 3 OR $this->config->_displayType == 4)
        {
            // current page [ 1 (2) 3 4 5
            if ($this->config->_pageCurrentID > 1)
            {
                $txt .= '<a href="' .
                        $this->config->_pageUrl . "?" .
                        $this->config->_pageID . "=" .
                        ($this->config->_pageCurrentID -1) .
                        $linkAdd . '">' . $this->text->_toStartBack . '</a> ';

            }
        }
        
        
        //*
        if ($this->config->_pageTotal < $this->config->_pageMax)
        {
            $start = 1;
            $end   = $this->config->_pageTotal;
        }
        else
        {
            $mid = $this->config->_pageMax / 2;
            
            if ($this->config->_pageCurrentID - $mid > 1)
            {
                if ($this->config->_pageCurrentID + $mid > $this->config->_pageTotal)
                {
                    $start = $this->config->_pageTotal - $this->config->_pageMax;
                    $end   = $this->config->_pageTotal;
                }
                else
                {
                    $start = $this->config->_pageCurrentID - $mid;
                    $end   = $this->config->_pageCurrentID + $mid;
                }
            }
            else
            {
                $start = 1;
                $end   = $this->config->_pageMax;
            }
        }
        
        for ($x = $start; $x < $end; $x++)
        {
            if ($x == $this->config->_pageCurrentID)
            {
                // bold text in case of current
                $txt .= '<a href="' .
                        $this->config->_pageUrl . "?" .
                        $this->config->_pageID . "=" . $x .
                        $linkAdd . '"><strong>' . $x . '</strong></a> ';
            }
            else
            {
                $txt .= '<a href="' .
                        $this->config->_pageUrl . "?" .
                        $this->config->_pageID . "=" . $x .
                        $linkAdd . '">' . $x . '</a> ';
            }
        }

        // > (next)
        if ($this->config->_displayType == 2 OR $this->config->_displayType == 3 OR $this->config->_displayType == 4)
        {
            // current page [ 1 2 3 4 (5) 6]
            if (($this->config->_pageCurrentID + 2) <= $this->config->_pageTotal)
            {
                $txt .= '<a href="' .
                        $this->config->_pageUrl . "?" .
                        $this->config->_pageID . "=" .
                        ($this->config->_pageCurrentID +1) .
                        $linkAdd . '">' . $this->text->_toEnd . '</a> ';

            }
        }

        // last >>
        if ($this->config->_displayType == 3 OR $this->config->_displayType == 4)
        {
            // current page [1 2 3 (4) 5 6]
            if (($this->config->_pageCurrentID +3) <= $this->config->_pageTotal)
            {
                $txt .= '<a href="' .
                        $this->config->_pageUrl . "?" .
                        $this->config->_pageID . "=" .
                        $this->config->_pageTotal .
                        $linkAdd . '">' .
                        $this->text->_toEndBack . '</a> ';
            }
        }

        return $txt;

    }
}

if (isSet($_GET['from']))
{
    $from = $_GET['from'];
}
else
{
    $from = 0;
}

if ($_SERVER['REQUEST_METHOD'] == "POST")
{
    $_SESSION['total']   = $_POST['total'];
    $_SESSION['counter'] = $_POST['counter'];
    $_SESSION['pages']   = $_POST['pages'];

    header("Location: pages.php");
    exit();
}

if (isSet($_SESSION['total']))
{
    $total   = $_SESSION['total'];
    $counter = $_SESSION['counter'];
    $pages   = $_SESSION['pages'];
?>
<form method="post">
<table>
<tr>
<td>Total?</td><td><input type="text" name="total" value="<?=$total;?>"></td>
<td>Counter</td><td><input type="text" name="counter" value="<?=$counter;?>"></td>
<td>Max pages</td><td><input type="text" name="pages" value="<?=$pages;?>"></td>
<td><input type="submit" name="add" value="Verander"></td>
</tr>
</table>
</form>
<?
}
else
{
    $_SESSION['total']   = 99;
    $_SESSION['counter'] = 10;
    $_SESSION['pages']   = 10;
?>
<form method="post">
<table>
<tr>
<td>Total?</td><td><input type="text" name="total" value="<?=$_SESSION['total'];?>"></td>
<td>Counter</td><td><input type="text" name="counter" value="<?=$_SESSION['counter'];?>"></td>
<td>Max pages</td><td><input type="text" name="pages" value="<?=$_SESSION['pages'];?>"></td>
<td><input type="submit" name="add" value="Verander"></td>
</tr>
</table>
</form>
<?
}


$blaat  = new pointer();
$blaat->setup(array("<<", "<", ">", ">>"));
$blaat->setupDisplay("numbers", 0);
$blaat->setupText("arial", "blue", "darkblue");
$blaat->setupPage("pages.php", "from", "test=23&true=false");
$blaat->setValues($from, $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']);

echo $blaat->getText();

echo '<hr>';

$blaat1  = new pointer();
$blaat1->setup(array("<<", "<", ">", ">>"));
$blaat1->setupDisplay("next", 0);
$blaat1->setupText("arial", "blue", "darkblue");
$blaat1->setupPage("pages.php", "from", "test=23&true=false");
$blaat1->setValues($from, $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']);

echo $blaat1->getText();

echo '<hr>';

$blaat2  = new pointer();
$blaat2->setup(array("First", "Previous", "Next", "Last"));
$blaat2->setupDisplay("nextend", 0);
$blaat2->setupText("arial", "blue", "darkblue");
$blaat2->setupPage("pages.php", "from", "test=23&true=false");
$blaat2->setValues($from, $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']);

echo $blaat2->getText();

echo '<hr>';

$blaat3  = new pointer();
$blaat3->setup(array("First", "Previous", "Next", "Last"));
$blaat3->setupDisplay("nextend", 0);
$blaat3->setupText("arial", "blue", "darkblue");
$blaat3->setupPage("pages.php", "from", "test=23&true=false");
$blaat3->setValues($from, $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']);

echo $blaat3->getText();

echo '<hr>';
?>
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_32051432
$this->text, $this->config, etc.
pi_32055117
Hoe zou ik kunnen uitrekenen hoelang het is geleden sinds een bepaalde datum?
is daar een funcite voor?
pi_32056484
omzetten naar timestamps en van elkaar aftrekken?
pi_32056681
Dat kan ik nog ;-)
maar hoe maak ik daar dan weer dagen van?

Ik heb dus gewoon een couter getelt sinds 05-11-2005 en wil weten hoeveel hits per dag.
pi_32056738
Weet je wat een timestamp voorstelt?
Dat zijn het aantal seconden sinds 1 januari 1970.
Dus als je die 2 timestamps van elkaar aftrekt heb je het aantal seconden tussen die 2 data.
Dus als je dat getal deelt door 86400 (60sec*60min*24uur) dan heb je het aantal dagen tussen die 2 data
pi_32056780
Dat wist ik idd niet, maar dat vergeet ik nu iig niet meer
Maar ik kom uit op 730 dagen terwijl dat 2 zou moeten zijn.
Dus ik loop te prutsen

[ Bericht 33% gewijzigd door Darkomen op 07-11-2005 14:40:28 ]
pi_32057412
Verkeerde datu, notificatie
pi_32090893
Hoe kan je uitzoeken met welke zoektermen je pagina word gevonden zoals bijvoorbeeld netstat ook doet?
pi_32091549
quote:
Op dinsdag 8 november 2005 16:17 schreef Darkomen het volgende:
Hoe kan je uitzoeken met welke zoektermen je pagina word gevonden zoals bijvoorbeeld netstat ook doet?
Ik denk mbv van $_SERVER['HTTP_REFERER']
Stel dat onderstaande url in die variabele staat, bedenk jij dan maar eens waar ik op gezocht heb
1http://www.google.nl/search?hl=nl&q=darkomen&btnG=Google+zoeken&meta=


Ik neem aan dat je bedoelt met welke zoektermen mensen op jouw site uit zijn gekomen?
pi_32092072
Dat is ook het enige wat ik kon bedenken.
  FOK!-Schrikkelbaas woensdag 9 november 2005 @ 21:49:35 #248
1972 Swetsenegger
Egocentrische Narcist
pi_32129879
Kan ik in een javascript een php array zetten?

bv
1
2
3
4
5
6
7
8
9
10
<script type="text/javascript">
document.write('
<?         
if ($menu[$i]==1){ 
        $menu[$i]=0;
        }else{
        $menu[$i]=1;
}
?>
')</script>
pi_32130414
Het kan wel, maar niet op die manier. Zo wel:

1
2
3
4
echo '<script type="text/javascript">
echo 'var foo = ["' . implode('","', $foo) . '"]''
echo 'alert(foo.length);
echo '</script>
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas woensdag 9 november 2005 @ 22:12:57 #250
1972 Swetsenegger
Egocentrische Narcist
pi_32130730
quote:
Op woensdag 9 november 2005 22:04 schreef SuperRembo het volgende:
Het kan wel, maar niet op die manier. Zo wel:
[ code verwijderd ]
Ja dat snap ik dat dat werkt .
En uiteraard werkt mijn code niet, want client side gaat geen vars in mijn serverside scripting zetten.

Ok, even de probleem omschrijving dan.
Ik heb een boomstructuur menu. Prachtige hierarchische database gebouwd. Menu is dus helemaal vanuit CMS zelf aan te maken.

Het menu bestaat uit maximaal 3 levels bv:

1
2
3
4
5
6
7
8
9
10
11
hoofditem
         subitem
                subsubitem
                subsubitem
         subitem
hoofditem
         subitem
                subsubitem
         subitem
               subsubitem
               subsubitem


Terwille van de overzichtelijkheid zijn de subsubitems ingeklapt, welke door een javascript zichtbaar worden wanneer je op het plusje klikt naast een subitem welke childeren heeft.

(kijk maar op pandora.edoorebeek.nl)

Maar... het menu wordt uiteraard op elke page geinclude. De plusjes welke ik op de index page heb uitgeklapt. Staan weer ingeklapt op de eerst volgende andere pagina welke ik laad.
Ik wil dus simpelweg elke keer als ik op de link klik welke via javascript het menu uitklapt, dat ik een array aanvul, met welk menu item open is.

Die array wil ik op de volgende page weer uitlezen en direkt die menuitems openen.

Hopenlijk is mijn probleem omschrijving duidelijk
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')