abonnement Unibet Coolblue Bitvavo
pi_55719037
quote:
Op woensdag 2 januari 2008 10:11 schreef Chandler het volgende:

[..]

Ik zou beginnen bij www.php.net, dan zie je dat Dreamweaver niet echt handig is
Waarom zou je dat zien op PHP.net?
pi_55723643
quote:
Op woensdag 2 januari 2008 11:45 schreef super-muffin het volgende:

[..]

Waarom zou je dat zien op PHP.net?
Omdat ik aanneem dat ze weten welke editors het beste met hun scripting taal omgaan?

Verder even offtopic vraagje; weet iemand hoe je kunt instellen naar welk veld je gaat als je op tab drukt? (zonder JS)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55723757
quote:
Op woensdag 2 januari 2008 15:02 schreef Chandler het volgende:

[..]

Omdat ik aanneem dat ze weten welke editors het beste met hun scripting taal omgaan?
Hm, ben ik het niet met je eens. Het verschilt van persoon tot persoon, dus je kunt het beste zelf een paar programma's uitproberen.
quote:
Verder even offtopic vraagje; weet iemand hoe je kunt instellen naar welk veld je gaat als je op tab drukt? (zonder JS)
Dat is meer iets van HTML, maar met het attribuut tabindex.
  woensdag 2 januari 2008 @ 15:10:11 #94
62215 qu63
..de tijd drinkt..
pi_55723813
quote:
Op woensdag 2 januari 2008 15:02 schreef Chandler het volgende:

[..]

Omdat ik aanneem dat ze weten welke editors het beste met hun scripting taal omgaan?

Verder even offtopic vraagje; weet iemand hoe je kunt instellen naar welk veld je gaat als je op tab drukt? (zonder JS)
tabindex=
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_55730981
wie weet in hoeverre PHP 3 en PHP4 scripts draaien onder PHP5?
dit omdat ik em best wil upgraden maar dan moet ik wel zeker weten dat alles het blijft doen
pi_55731619
quote:
Op woensdag 2 januari 2008 21:10 schreef mschol het volgende:
wie weet in hoeverre PHP 3 en PHP4 scripts draaien onder PHP5?
dit omdat ik em best wil upgraden maar dan moet ik wel zeker weten dat alles het blijft doen
http://nl2.php.net/manual/en/migration4.php
http://nl2.php.net/manual/en/migration5.php
http://nl2.php.net/manual/en/migration51.php
http://nl2.php.net/manual/en/migration52.php

Stap voor stap.
pi_55737198
quote:
Op donderdag 27 december 2007 11:03 schreef SuperRembo het volgende:

[..]

Dan doe jij het goed en doet colourAgga het fout is_int() met een string als input (in dit geval uit $_GET) geeft altijd false!
Nee, bij is_numeric() worden 0x005, +123e2 ook als true gezien, dus ook niet de beste oplossing.Imo beste manier (zie hieronder), sowieso beter om als je een getal verwacht de data type naar int te zetten (stel als je ermee berekeningen gaat uitvoeren), maar omdat PHP vergevingsgezind is geeft dit geen fouten.

1
2
3
<?php
 is_int
(intval($_GET['..'])) 
?>


Do your work. Don't be stupid.
Naamtopic #1: Nacht bagger #7 - Waar DeKubus te aardig is
pi_55738829
quote:
Op donderdag 3 januari 2008 01:35 schreef DeKubus het volgende:

[..]

Nee, bij is_numeric() worden 0x005, +123e2 ook als true gezien, dus ook niet de beste oplossing.Imo beste manier (zie hieronder), sowieso beter om als je een getal verwacht de data type naar int te zetten (stel als je ermee berekeningen gaat uitvoeren), maar omdat PHP vergevingsgezind is geeft dit geen fouten.
[ code verwijderd ]

:)
intval() levert een integer op, dus is_int(intval()) zal altijd true zijn.
1
2
3
4
5
6
<?php
$blaat 
intval($_GET['blaat'];
if(
== $blaat) {
    
//ongeldig!
}
?>


Overigens zou een database ook +123e2 moeten accepteren als numeriek. Het kan lastiger worden als je 123.2 probeert te plaatsen in een integerveld.
pi_55744945
Zowiezo is een van de dingen die ik het meest hekel in PHP de vergevingsgezindheid en de makkelijkheid voor de typen Dat maakt gewoon beveiliging van scripts etc. zo een stuk lastiger.

Zoals eerder al gezegd gebruik ik altijd hungarian prefixes. Deze werken in combinatie met een klasse die variabelen checkt en ze direct goed cast. Dat gaat goed zolang je als gebruiker van die klasse er ook echt vanuit gaat dat dat erin zit. Ook al kun je met PHP ook gewoon net zo goed iets anders erin gooien, of het als iets anders benaderen.

Over de datums eigenlijk helemaal hetzelfde verhaal, wij slaan op met de timestamps van de server in de database in int velden. Vervolgens kunnen gebruikers daar correctie op loslaten en zelf kiezen hoe ze dit willen laten zien via een uitgebreide Date klasse die ik als ik weer op kantoor ben eens zal vragen of we die ook kunnen publiceren

Wat denken jullie trouwens, de klasses die je nodig hebt voordat je fatsoenlijk aan een project kan beginnen? Ik denk:
- Date
- Verify
- Authentification
- SQL
- Template

Dat zijn in ieder geval de 5 die ik het meeste gebruik jullie nog toevoegingen?
  donderdag 3 januari 2008 @ 15:39:46 #101
37634 wobbel
Da WoBBeL King
pi_55747184
Wij hebben op het werk een administratie programma welke op TPS bestanden draait (TopSpeed database)

Nu lukt het mij prima om er wat gegevens uit te krijgen door te zoeken op klant nummer met onderstaande code:

1
2
3
4
5
6
7
8
<?php
$SQL_Value
= "100857";
$ODBC_Klant_Connect                            = odbc_connect ( "S&S Webfile", "", "");
$ODBC_Klant_Select                            = "SELECT * FROM BAC5130 WHERE Nr = " . $SQL_Value . "";
$ODBC_Klant_Exec                            = odbc_exec( $ODBC_Klant_Connect, $ODBC_Klant_Select );
$ODBC_Klant_Assoc                            = odbc_fetch_array ( $ODBC_Klant_Exec );
// geeft netjes 1 row terug :)
?>


Nu zou ik ook graag willen zoeken op naam, dat als ik zoek naar "aap" ik alle resultaten krijg zoals "Schaap, Aapjes" etc...dus ik dacht dit:

1
2
3
4
5
6
7
8
<?php
$SQL_Value
= "aap";
$ODBC_Klant_Connect                            = odbc_connect ( "S&S Webfile", "", "");
$ODBC_Klant_Select                            = "SELECT * FROM BAC5130 WHERE NM = '%" . $SQL_Value . "%'";
$ODBC_Klant_Exec                            = odbc_exec( $ODBC_Klant_Connect, $ODBC_Klant_Select );
$ODBC_Klant_Assoc                            = odbc_fetch_array ( $ODBC_Klant_Exec );
// geeft 0 rows weer, maar zou 2 rows moeten teruggeven (Schaap en Aapjes zitten in de DB)
?>


Maar helaas, dit werkt niet ik krijg dan geen resultaten...als ik de wildcards (%) weglaat en ik vul de exacte naam in dan vind ik het wel

Hoe kan ik zoeken met wildcards? Hier staat iets meer info over ODBC TopSpeed (PDF)
  donderdag 3 januari 2008 @ 15:55:53 #102
136730 PiRANiA
All thinking men are atheists.
pi_55747568
LIKE in plaats van = ?
pi_55748188
quote:
Op donderdag 3 januari 2008 05:47 schreef Light het volgende:

[..]

intval() levert een integer op, dus is_int(intval()) zal altijd true zijn.
[ code verwijderd ]

Overigens zou een database ook +123e2 moeten accepteren als numeriek. Het kan lastiger worden als je 123.2 probeert te plaatsen in een integerveld.
My bad, bedoelde zo::

1
2
3
4
5
6
<?php
 
if (strval(intval($_GET['..'])) == $_GET['..']) {
        
$_id intval($_GET['..']);
        ....

?>


+123e2 is hetzelfde als 12300, alleen $_GET, $_POST etc. is altijd van type string. Dus dit wordt niet omgezet naar 12300, maar letterlijk +123e2, maak je er int van krijg je 123. Sommige maken ook gebruik van ctype_* (digit dit geval), persoonlijk ben ik daar geen voorstander van.

[ Bericht 9% gewijzigd door DeKubus op 03-01-2008 16:29:29 ]
Do your work. Don't be stupid.
Naamtopic #1: Nacht bagger #7 - Waar DeKubus te aardig is
pi_55748564
-- stuuk

[ Bericht 98% gewijzigd door colourAgga op 04-01-2008 03:05:56 ]
pi_55750288
quote:
Op donderdag 3 januari 2008 15:39 schreef wobbel het volgende:
[...]
...WHERE NM LIKE '%" . $SQL_Value . "%'...
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  donderdag 3 januari 2008 @ 18:27:05 #106
37634 wobbel
Da WoBBeL King
pi_55751150
quote:
Op donderdag 3 januari 2008 17:47 schreef SuperRembo het volgende:

[..]

...WHERE NM LIKE '%" . $SQL_Value . "%'...
werkt gedeeltelijk.

Ik heb ook een record met de naam "Mierlo, van"

Als ik als $SQL_Value invul "mierlo" dan vindt ie niks, zoek ik op "Mierlo" (dus met hoofdletter) dan vind ie het wel ineens
pi_55761164
Momenteel ben ik bezig met een rich text editor, javascript dus, maar de rtf tekst die wordt gegenereerd in het javascript-textvak wil ik graag als een bruikbare variabele voor phph hebben. Het liefst dat ie bij de 'submit' de rtf als global kan mee geven, aan een andere pagina. Iemand een idee dit aan te pakken?
pi_55764366
quote:
Op donderdag 3 januari 2008 18:27 schreef wobbel het volgende:

[..]

werkt gedeeltelijk.

Ik heb ook een record met de naam "Mierlo, van"

Als ik als $SQL_Value invul "mierlo" dan vindt ie niks, zoek ik op "Mierlo" (dus met hoofdletter) dan vind ie het wel ineens
kan je niet beter MATCH...AGAINST gebruiken dan?
  vrijdag 4 januari 2008 @ 09:35:06 #109
37634 wobbel
Da WoBBeL King
pi_55764779
quote:
Op vrijdag 4 januari 2008 09:09 schreef Xcalibur het volgende:

[..]

kan je niet beter MATCH...AGAINST gebruiken dan?
Daar heb ik nog nooit mee gewerkt, hoe werkt dat dan? En bovenal, wordt dat ondersteund?
pi_55766632
quote:
Op vrijdag 4 januari 2008 09:35 schreef wobbel het volgende:
Daar heb ik nog nooit mee gewerkt, hoe werkt dat dan? En bovenal, wordt dat ondersteund?
http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

Je moet alleen een index maken op het veld waarin je zoekt geloof ik, maar dat staat er ongetwijfeld bij. Je hebt ook de optie IN BOOLEAN MODE, zodat je ook met + en - kunt zoeken zeg maar. Werkt prima
  vrijdag 4 januari 2008 @ 12:11:15 #111
37634 wobbel
Da WoBBeL King
pi_55768238
quote:
Op vrijdag 4 januari 2008 11:12 schreef Xcalibur het volgende:

[..]

http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

Je moet alleen een index maken op het veld waarin je zoekt geloof ik, maar dat staat er ongetwijfeld bij. Je hebt ook de optie IN BOOLEAN MODE, zodat je ook met + en - kunt zoeken zeg maar. Werkt prima
Ik werk niet met MySQL, ik gebruik een ODBC plugin voor TopSpeed database, zie enkele posts hierboven
pi_55768981
Beste allemaal,

Ik heb een mailing list manager geschreven voor een van mijn sites en daarmee wil ik mailtjes gaan versturen, echter zit ik met een probleem!.

Als ik een test bericht naar mijn eigen email adres stuur (hotmail) krijg ik de inhoud van het bericht niet direct te zien. Ik snap niet waarom en daarom vraag ik hulp ;)

De headers/bericht
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
X-Message-Delivery: Vj0zLjQuMDt1cz0wO2k9MDtsPTA7YT0w 
X-Message-Status: n:0 
X-SID-PRA: Maillinglist v1 <eric******@******.com> 
X-SID-Result: SoftFail 
X-Message-Info: JGTYoYF78jG9yuoI+h0kJ1x+NrLFHMOQAIfJCH59JzMK4GcsJQglp8wYMw3/yAlCqsYg6byLbCkhuUFqD9aY0P8j+djMM+jf 
Received: from server28.icehosting.nl ([195.22.100.18]) by bay0-mc9-f9.bay0.******.com with Microsoft SMTPSVC(6.0.3790.2668); 
     Fri, 4 Jan 2008 02:02:57 -0800 
Received: from apache by server28.icehosting.nl with local (Exim 4.67) 
    (envelope-from <ericbrug@******.nl>) 
    id 1JAjOC-0001zj-5h 
    for eric******@******.com; Fri, 04 Jan 2008 11:02:56 +0100 
To: eric******@******.com 
Subject: Preview: Meisjes jatten fiets van postbode 
X-PHP-Script: mailling.******.nl/index.php for 82.73.150.117 
From: "Maillinglist v1" <eric******@******.com> 
Reply-To: "Maillinglist v1" <eric******@******.com> 
MIME-Version: 1.0 
Message-ID: <1199440976-eric******@******.com> 
X-Mailer: PHP v5.2.3 
Date: Fri, 04 Jan 2008 11:02:56 +0100 
Return-Path: ericbrug@******.nl 
X-OriginalArrivalTime: 04 Jan 2008 10:02:58.0225 (UTC) FILETIME=[FB9B0A10:01C84EB8] 


Twee meisjes uit Amersfoort en Nieuwegein kregen de politie op hun dak toen ze een fiets steelden. Opzich niet heftig, ware het niet dat de fiets van een postbode was. De 17 en 18 jaar oude dames stalen de fiets bij station Veenendaal-West en fietsten vervolgens naar Overberg. 

Aan de fiets hing nog een zak met post. Die dumpten ze onderweg samen met wat fietstassen. De politie hield ze vervolgens aan in Overberg. 

Op het bureau gingen de meisjes door de knieën en bekenden ze dat ze de fiets gejat hadden. Met een proces-verbaal in het vooruitzicht zijn de meisjes naar huis gestuurd. De fiets is teruggegeven aan de postbode van dienst. 
</ 


Heeft iemand een idee wat ik fout doe?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 4 januari 2008 @ 12:59:18 #113
52200 ViPeRII
It's a good day to die
pi_55769534
Wat moet je eerst doen dan , voordat je de inhoud ziet?
-- ViPeRII --
pi_55770103
quote:
Op het bureau gingen de meisjes door de knieën...
Naughty girls
pi_55771273
Is het niet gewoon mailinglist met maar 1 L? Verder zie ik zo een twee drie niks fout in de headers van je mail

Trouwens is je domeinnaam wel erg simpel te raden zo heh meneertje bruggema.nl.
pi_55771728
colourAgga, klopt

Ennuh @ViPeRII: klikken op inhoud zien
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55772319
quote:
Op vrijdag 4 januari 2008 12:11 schreef wobbel het volgende:
Ik werk niet met MySQL, ik gebruik een ODBC plugin voor TopSpeed database, zie enkele posts hierboven
Oh sorry, daar had ik overheen gelezen
pi_55790204
quote:
Op donderdag 3 januari 2008 14:01 schreef colourAgga het volgende:
Wat denken jullie trouwens, de klasses die je nodig hebt voordat je fatsoenlijk aan een project kan beginnen? Ik denk:
- Date
- Verify
- Authentification
- SQL
- Template

Dat zijn in ieder geval de 5 die ik het meeste gebruik jullie nog toevoegingen?
Ik gebruik in grote lijnen hetzelfde lijstje, alleen geen date class:
- ADOdb
- Authenticator (zelfgeschreven authenticatie class)
- Importexport (zelfgeschreven CSV import / export class)
- phpMailer
- phpThumb
- Smarty
- UTF-8
- Validator (zelfgeschreven validatie class)

Wat gebruik jij voor date class? Ik heb eerlijk gezegd nooit echt problemen met datums, dus ik ben wel benieuwd waarom die van jou zo handig is?
pi_55790345
quote:
Op vrijdag 4 januari 2008 12:38 schreef Chandler het volgende:
Beste allemaal,

Ik heb een mailing list manager geschreven voor een van mijn sites en daarmee wil ik mailtjes gaan versturen, echter zit ik met een probleem!.

Als ik een test bericht naar mijn eigen email adres stuur (hotmail) krijg ik de inhoud van het bericht niet direct te zien. Ik snap niet waarom en daarom vraag ik hulp

De headers/bericht
[ code verwijderd ]

Heeft iemand een idee wat ik fout doe?
ziet er opzich prima uit als ik et zo lees, maar omdat je een mailinglist hebt: stel je mailinglist headers in anders wordt het mogelijk als spam gezien.. (o.a. een afmeld adres is zeer handig..)
pi_55791058
quote:
Op zaterdag 5 januari 2008 10:49 schreef mschol het volgende:

[..]

ziet er opzich prima uit als ik et zo lees, maar omdat je een mailinglist hebt: stel je mailinglist headers in anders wordt het mogelijk als spam gezien.. (o.a. een afmeld adres is zeer handig..)
Hoe moet ik de headers instellen dan? en afmeld adres kan in de mail vermeld worden waarbij het script de mogelijkheid heeft om gebruikers af te melden.

Iets in dezefde trand, ik ben bezig met een email class, maar deze geeft niet het resultaat wat ik voor ogen heb.

Wat lukt!:
Ik kan bestanden invoegen, zelfs als embedded.

Wat lukt niet?
Ik krijg de HTML opzet niet als eerste te zien maar als ingevoegd bestand

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


// http://www.metalshell.com/view/source/115/
class mailer
{
    var $errors = array();
    var $eol = "";

    // email settings
    var $subject = "";
    var $content = array();

    // added files
    var $attatchments = array(); // added
    var $embedded     = array(); // for viewing
    
    var $headers = array();
    var $boundary = "";
    var $boundaries = array();
    var $contentType = array();
    

    function mailer()
    {
        $this->errors = array("nofilefound"    => "Sorry, het bestand %s bestaat niet",
                              "cannotreadfile" => "Sorry, het bestand %s kan niet gelezen worden",
                              "contenttypeerr" => "Sorry, het type content '%s' is incorrect (alleen text/html)");

        $this->eol = "\r\n";
        $this->contentType = array("text", "html");
        $this->boundary = substr(md5(time()), 0, 10);

        $this->headers = array('MIME-Version:' => '1.0',
                               'Content-Type:' => 'multipart/mixed; boundary="' . $this->boundary . '"');

        $this->charSet = 'iso-8859-1';
    }
    
    function setHeader($type, $value)
    {
        $this->headers[$type.":"] = $value;
    }

    function send($to)
    {
        $_body    = "This is a multi-part message in MIME format." . $this->eol . $this->eol;
        $_headers = "";
        // content first

        foreach ($this->headers AS $key => $value)
        {
            $_headers .= $key . " ". $value . $this->eol;
        }

        // werkt niet :( verwijder dit en krijg alleen de text inhoud te zien, niet de html inhoud!
        $prev .= $this->boundary;
        foreach ($this->boundaries AS $key)
        {
            $_body .= "--" . $prev . $this->eol;
            $_body .= 'Content-Type: multipart/related; '.$this->eol;
            $_body .= '        type="multipart/alternative";' . $this->eol;
            $_body .= '        boundary="--' . $key . '"' . $this->eol;
            $prev = $key;
        }

        $a = array("content", "embedded", "attatchments");
        
        foreach ($a AS $type)
        {
            if (count($this->$type) > 0)
            {
                foreach ($this->$type AS $content)
                {
                    $_body .= $this->eol . $content;
                }
            }
        }

        echo '<pre>';
        print_r($_headers);
        print_r($_body);

        if (!mail($to, $this->subject, $_body, $_headers))
        {
            return false;
        }
        return true;
    }
    

    function subject($subject)
    {
        $this->subject = $subject;
    }
    
    function isEmail($email)
    {
        if (!preg_match('/^[A-Z0-9._%-]+@(?:[A-Z0-9-]+\\.)+[A-Z]{2,4}$/i', $email))
        {
            return false;
        }

        return $email;
    }

    function setCharset($charset)
    {
        $this->charSet = $charset;
    }

    function setContent($text, $type = "text")
    {
        /*
        
        $text = content to add to email
        $type = type of content (text/html)
        
        */
        
        if (in_array($type, $this->contentType))
        {
            $contentBuffer  = $this->eol . '--' . $this->boundary . $this->eol;

            if ($type == "text")
            {
                $contentBuffer .= 'Content-Type: text/plain; charset="' . $this->charSet . '"'. $this->eol;
            }
            else
            {
                $contentBuffer .= 'Content-Type: text/html; charset="' . $this->charSet . '"' . $this->eol;
            }
            
            $contentBuffer .= 'Content-Transfer-Encoding: quoted-printable' . $this->eol . $this->eol;
            $contentBuffer .= $text . $this->eol;

            $this->content[$type] = $contentBuffer;
        }
        else
        {
            $this->error[] = sprintf($this->errors['contenttypeerr'], $type);
        }
    }
    
    function clearContent()
    {
        /*
        
        Clear email content (text/html)
        
        */
        
        $this->content = array();
    }
    
    function addFile($file, $mime = "text/plain", $type = 'attatchment')
    {
        /*
        
        $file = file to attatch
        $type = attatchment type (attatchment/embedded)

        */

        if (is_file($file))
        {
            $basename   = basename($file);
            $fileinfo   = pathinfo($file);

            $fd = fopen($file, "rb");
            if ($fd)
            {
                $filebuffer = fread($fd, filesize($file));
                $filebuffer = chunk_split(base64_encode($filebuffer), 72) . $this->eol;

                $b = substr(md5(time()), 0, 5) . "xxx";
                $this->boundaries[] = $b . $this->boundary;
                $header = '--' . $b . $this->boundary . $this->eol;
                if ($type == "embedded")
                {
                    $ref_id = md5(uniqid(time())) . '.' . $fileinfo['extension'];

                    $header .= 'Content-Type: ' . $mime . '; name="' . $basename . '"' . $this->eol;
                    $header .= 'Content-Transfer-Encoding: base64' . $this->eol;
                    $header .= 'Content-Disposition: inline; filename="' . $basename . '"' . $this->eol;
                    $header .= 'Content-ID: <' . $ref_id . '>' . $this->eol . $this->eol;
                    $header .= $filebuffer;
                    $header .= $this->eol . $b . $this->boundary . "--" . $this->eol;

                    $this->embedded[] = $header;

                    return '<img src=3D"cid:' . $ref_id . '">';
                }
                else
                {
                    $header .= 'Content-Type: '. $mime . '; name="' . $basename . '"' . $this->eol;
                    $header .= 'Content-Transfer-Encoding: base64' . $this->eol;
                    $header .= 'Content-Disposition: attachment; filename="' . $basename . '"'.$this->eol.$this->eol;
                    $header .= $filebuffer;
                    $header .= $this->eol . $b . $this->boundary . "--" . $this->eol;

                    $this->attatchments[] = $header;
                }
            }
            else
            {
                $this->error[] = sprintf($this->errors['cannotreadfile'], $file);
            }
        }
        else
        {
            $this->error[] = sprintf($this->errors['nofilefound'], $file);
        }
    }
}

$t = new mailer();

// vanaf, reply to etc
$t->setHeader("From", '"Eric Bruggema" <****@hotmail.com>');
$t->setHeader("Reply-to", '"Eric Bruggema" <****@hotmail.com>');


// zet onderwerp
$t->subject("test bericht van Eric");

$t->addFile("test.txt", "text/plain");
$img = $t->addFile("test.png", "image/png", "embedded");

$t->setContent("hello world");
$t->setContent('<!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" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<style type="text/css">
html,body{height:100%;background-color:#F7D708;font-family:verdana;font-size:13px;}
#l{float:left;width:200px;height:100%;border-right:5px solid #9CCF31;background-color:#FF9E00;}
#logo{text-align:center;width:200px;background-color:#C7EB6E;border-bottom:5px solid #9CCF31;margin:0;}
#l h2{margin:0;padding-top:25px;font-size:50px;}
#l h3{font-size:15px;padding:0;}
#logobot{width:200px;height:100%;text-align:center;}
#l UL{list-style-type:none;padding:15px 0 0 0;margin:0;width:100%;}
#l LI{padding:0;margin:0;width:100%;text-align:center;font-size:20px;padding-top:10px;font-size:15px}
#l a{color:#fff;text-decoration:none;}
#l a:hover{font-weight:bold;color:#fff;text-decoration:none;}
a{color:#F7D708;text-decoration:none;}
a:hover{font-weight:bold;color:#F7D708;text-decoration:none;}
#r{float:right;width:495px;height:400px;background-color:#79B837}
#c{margin:2%;width:90%;text-align:center;border:5px dotted #9CCF31;margin-top:10px;padding:10px;font-style:italic}
p{text-align:left;}
.t{padding:5px 10px 0 10px; margin:0;}
.t input{width:250px;}
#c-c{margin:125px 100px 125px 100px;padding:5px 0px 0 10px;width:275px;background-color:orange;height:150px;border:1px dotted #9CCF31;}
</style>
</head>
<body>
<div id="l">
<div id="logo">
<h2>ABC</h2>
<h3>DEF</h3>
</div>
<div id="logobot">
l><li><a href="?p=">Start</a></li><li><a href="?p=i">Informatie</a></li><li><a href="?p=r">Meld je link aan</a></li><li><a href="?p=p">Plugin</a></li><li><a href="?p=z">Zoeken</a></li><li><a href="?p=t">Top 10</a></li><li><a href="?p=c">Contact</a></li></ul></div>
</div>
<div id="r">
content
</div>
</body>
</html>', "html");

$t->send("****@hotmail.com");

?>


Uitkomst:

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
X-Message-Delivery: Vj0zLjQuMDt1cz0wO2k9MDtsPTA7YT0w
X-Message-Status: sF:0
X-SID-PRA: Eric Bruggema <****@hotmail.com>
X-SID-Result: SoftFail
X-Message-Info: JGTYoYF78jE+WU0KSdwFVTx6sCmaha1t92n0MUkmdCuLQ3hZoCgNJ7xYuaHWf0hm0arBXeDtbIUENcq9FHju8cl9f9E2pgal
Received: from server28.icehosting.nl ([195.22.100.18]) by bay0-mc1-f12.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2668);
    Sat, 5 Jan 2008 02:43:34 -0800
Received: from apache by server28.icehosting.nl with local (Exim 4.67)
   (envelope-from <****@bruggema.nl>)
   id 1JB6V2-0005pP-9d
   for ****@hotmail.com; Sat, 05 Jan 2008 11:43:32 +0100
To: *****@hotmail.com
Subject: test bericht van Eric
X-PHP-Script: *****.php for *****
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="1a97e8797f"
From: "Eric Bruggema" <*****@hotmail.com>
Reply-to: "Eric Bruggema" <*****@hotmail.com>
Message-Id: <E1JB6V2-0005pP-9d@server28.icehosting.nl>
Date: Sat, 05 Jan 2008 11:43:32 +0100
Return-Path: *****@bruggema.nl
X-OriginalArrivalTime: 05 Jan 2008 10:43:34.0559 (UTC) FILETIME=[D22FDAF0:01C84F87]


This is a multi-part message in MIME format.

--1a97e8797f
Content-Type: multipart/related; 
        type="multipart/alternative";
        boundary="--1a97exxx1a97e8797f"
--1a97exxx1a97e8797f
Content-Type: multipart/related; 
        type="multipart/alternative";
        boundary="--1a97exxx1a97e8797f"


--1a97e8797f
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

hello world


--1a97e8797f
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!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" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<style type="text/css">
html,body{height:100%;background-color:#F7D708;font-family:verdana;font-size:13px;}
#l{float:left;width:200px;height:100%;border-right:5px solid #9CCF31;background-color:#FF9E00;}
#logo{text-align:center;width:200px;background-color:#C7EB6E;border-bottom:5px solid #9CCF31;margin:0;}
#l h2{margin:0;padding-top:25px;font-size:50px;}
#l h3{font-size:15px;padding:0;}
#logobot{width:200px;height:100%;text-align:center;}
#l UL{list-style-type:none;padding:15px 0 0 0;margin:0;width:100%;}
#l LI{padding:0;margin:0;width:100%;text-align:center;font-size:20px;padding-top:10px;font-size:15px}
#l a{color:#fff;text-decoration:none;}
#l a:hover{font-weight:bold;color:#fff;text-decoration:none;}
a{color:#F7D708;text-decoration:none;}
a:hover{font-weight:bold;color:#F7D708;text-decoration:none;}
#r{float:right;width:495px;height:400px;background-color:#79B837}
#c{margin:2%;width:90%;text-align:center;border:5px dotted #9CCF31;margin-top:10px;padding:10px;font-style:italic}
p{text-align:left;}
.t{padding:5px 10px 0 10px; margin:0;}
.t input{width:250px;}
#c-c{margin:125px 100px 125px 100px;padding:5px 0px 0 10px;width:275px;background-color:orange;height:150px;border:1px dotted #9CCF31;}
</style>
</head>
<body>
<div id="l">
<div id="logo">
<h2>ABC</h2>
<h3>DEF</h3>
</div>
<div id="logobot">
l><li><a href="?p=">Start</a></li><li><a href="?p=i">Informatie</a></li><li><a href="?p=r">Meld je link aan</a></li><li><a href="?p=p">Plugin</a></li><li><a href="?p=z">Zoeken</a></li><li><a href="?p=t">Top 10</a></li><li><a href="?p=c">Contact</a></li></ul></div>
</div>
<div id="r">
content
</div>
</body>
</html>

--1a97exxx1a97e8797f
Content-Type: image/png; name="test.png"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="test.png"
Content-ID: <bc5b21505784b333b98f32c09225bda2.png>

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


1a97exxx1a97e8797f--

--1a97exxx1a97e8797f
Content-Type: text/plain; name="test.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="test.txt"

PD9waHANCg0KDQovLyBodHRwOi8vd3d3Lm1ldGFsc2hlbGwuY29tL3ZpZXcvc291cmNlLzEx
NS8NCmNsYXNzIG1haWxlcg0Kew0KICAgIHZhciAkZXJyb3JzID0gYXJyYXkoIm5vZmlsZWZv
dW5kIiAgICA9PiAiU29ycnksIGhldCBiZXN0YW5kICVzIGJlc3RhYXQgbmlldCIsDQogICAg
ICAgICAgICAgICAgICAgICAgICAiY2Fubm90cmVhZGZpbGUiID0+ICJTb3JyeSwgaGV0IGJl
c3RhbmQgJXMga2FuIG5pZXQgZ2VsZXplbiB3b3JkZW4iLA0KICAgICAgICAgICAgICAgICAg
ICAgICAgImNvbnRlbnR0eXBlZXJyIiA9PiAiU29ycnksIGhldCB0eXBlIGNvbnRlbnQgJyVz
JyBpcyBpbmNvcnJlY3QgKGFsbGVlbiB0ZXh0L2h0bWwpIiwNCiAgICAgICAgICAgICAgICAg
ICAgICAgICk7DQogICAgICAgICAgICAgICAgICAgICAgICANCiAgICB2YXIgJGVvbCA9ICJc
clxuIjsNCg0KICAgIC8vIGVtYWlsIHNldHRpbmdzDQogICAgdmFyICRzdWJqZWN0ID0gIiI7
DQogICAgdmFyICRjb250ZW50ID0gYXJyYXkoKTsNCiAgICB2YXIgJGNvbnRlbnRUeXBlcyA9
IGFycmF5KCJ0ZXh0IiwgImh0bWwiKTsNCiAgICANCiAgICAvLyBhZGRlZCBmaWxlcw0KICAg
IHZhciAkYXR0YXRjaG1lbnRzID0gYXJyYXkoKTsgLy8gYWRkZWQNCiAgICB2YXIgJGVtYmVk
ZGVkICAgICA9IGFycmF5KCk7IC8vIGZvciB2aWV3aW5nDQogICAgDQogICAgdmFyICRib3Vu
ZGFyeTsNCiAgICB2YXIgJGNoYXJTZXQgPSAnaXNvLTg4NTktMSc7DQogICAgDQogICAgZnVu
Y3Rpb24gbWFpbGVyKCkNCiAgICB7DQogICAgICAgICR0aGlzLT5ib3VuZGFyeSA9ICdfX3Np
bXBsZV9tYWlsX2NsYXNzX18nOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHNlbmQoJHRvKQ0K
ICAgIHsNCiAgICB9DQogICAgDQogICAgZnVuY3Rpb24gc3ViamVjdCgkc3ViamVjdCkNCiAg
ICB7DQogICAgICAgICR0aGlzLT5zdWJqZWN0ID0gJHN1YmplY3Q7DQogICAgfQ0KICAgIA0K
ICAgIGZ1bmN0aW9uIGlzRW1haWwoJGVtYWlsKQ0KICAgIHsNCiAgICAgICAgaWYgKCFwcmVn
X21hdGNoKCcvXltBLVowLTkuXyUtXStAKD86W0EtWjAtOS1dK1xcLikrW0EtWl17Miw0fSQv
aScsICRlbWFpbCkpDQogICAgICAgIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAg
ICAgICAgfQ0KDQogICAgICAgIHJldHVybiAkZW1haWw7DQogICAgfQ0KDQogICAgZnVuY3Rp
b24gc2V0Q2hhcnNldCgkY2hhcnNldCkNCiAgICB7DQogICAgICAgICR0aGlzLT5jaGFyU2V0
ID0gJGNoYXJzZXQ7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gc2V0Q29udGVudCgkdGV4dCwg
JHR5cGUgPSAidGV4dCIpDQogICAgew0KICAgICAgICAvKg0KICAgICAgICANCiAgICAgICAg
JHRleHQgPSBjb250ZW50IHRvIGFkZCB0byBlbWFpbA0KICAgICAgICAkdHlwZSA9IHR5cGUg
b2YgY29udGVudCAodGV4dC9odG1sKQ0KICAgICAgICANCiAgICAgICAgKi8NCiAgICAgICAg
DQogICAgICAgIGlmIChpc1NldCgkY29udGVudFR5cGVzWyR0eXBlXSkpDQogICAgICAgIHsN
CiAgICAgICAgICAgIGlmICgkdHlwZSA9PSAidGV4dCIpDQogICAgICAgICAgICB7DQogICAg
ICAgICAgICAgICAgJGNvbnRlbnRCdWZmZXIgID0gJHRoaXMtPmVvbCAuICctLScgLiAkdGhp
cy0+Ym91bmRhcnkgLiAkdGhpcy0+ZW9sOw0KICAgICAgICAgICAgICAgICRjb250ZW50QnVm
ZmVyIC49ICdDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IicgJHRoaXMtPmNo
YXJTZXQgLiAnIicuICR0aGlzLT5lb2w7DQogICAgICAgICAgICAgICAgJGNvbnRlbnRCdWZm
ZXIgLj0gJ0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUnIC4g
JHRoaXMtPmVvbCAuICR0aGlzLT5lb2w7DQogICAgICAgICAgICAgICAgJGNvbnRlbnRCdWZm
ZXIgLj0gJHRleHQ7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlDQogICAgICAg
ICAgICB7DQogICAgICAgICAgICAgICAgJGNvbnRlbnRCdWZmZXIgID0gJHRoaXMtPmVvbCAu
ICctLScgLiAkdGhpcy0+Ym91bmRhcnkgLiAkdGhpcy0+ZW9sOw0KICAgICAgICAgICAgICAg
ICRjb250ZW50QnVmZmVyIC49ICdDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD0i
JyAuICR0aGlzLT5jaGFyU2V0IC4gJyInIC4gJHRoaXMtPmVvbDsNCiAgICAgICAgICAgICAg
ICAkY29udGVudEJ1ZmZlciAuPSAnQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogcXVvdGVk
LXByaW50YWJsZScgLiAkdGhpcy0+ZW9sIC4gJHRoaXMtPmVvbDsNCiAgICAgICAgICAgICAg
ICAkY29udGVudEJ1ZmZlciAuPSAkdGV4dDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAg
ICAgJHRoaXMtPmNvbnRlbnRbJHR5cGVdID0gJHRleHQ7DQogICAgICAgIH0NCiAgICAgICAg
ZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICAkdGhpcy0+ZXJyb3JbXSA9IHNwcmludGYo
JHRoaXMtPmVycm9yc1snY29udGVudHR5cGVlcnInXSwgJHR5cGUpOw0KICAgICAgICB9DQog
ICAgfQ0KICAgIA0KICAgIGZ1bmN0aW9uIGNsZWFyQ29udGVudCgpDQogICAgew0KICAgICAg
ICAvKg0KICAgICAgICANCiAgICAgICAgQ2xlYXIgZW1haWwgY29udGVudCAodGV4dC9odG1s
KQ0KICAgICAgICANCiAgICAgICAgKi8NCiAgICAgICAgDQogICAgICAgICR0aGlzLT5jb250
ZW50ID0gYXJyYXkoKTsNCiAgICB9DQogICAgDQogICAgZnVuY3Rpb24gYWRkRmlsZSgkZmls
ZSwgJHR5cGUgPSAnYXR0YXRjaG1lbnQnKQ0KICAgIHsNCiAgICAgICAgLyoNCiAgICAgICAg
DQogICAgICAgICRmaWxlID0gZmlsZSB0byBhdHRhdGNoDQogICAgICAgICR0eXBlID0gYXR0
YXRjaG1lbnQgdHlwZSAoYXR0YXRjaG1lbnQvZW1iZWRkZWQpDQoNCiAgICAgICAgKi8NCg0K
ICAgICAgICBpZiAoaXNfZmlsZSgkZmlsZSkpDQogICAgICAgIHsNCiAgICAgICAgICAgICRi
YXNlbmFtZSA9IGJhc2VuYW1lKCRmaWxlKTsNCiAgICAgICAgICAgICRmaWxlaW5mbyA9IHBh
dGhpbmZvKCRmaWxlKTsNCiAgICAgICAgICAgICRtaW1lICAgICA9IG1pbWVfY29udGVudF90
eXBlKCRmaWxlKTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgJGZkID0gZm9wZW4oJGZp
bGUsICJyYiIpOw0KICAgICAgICAgICAgaWYgKCRmZCkNCiAgICAgICAgICAgIHsNCiAgICAg
ICAgICAgICAgICAkZmlsZWJ1ZmZlciA9IGZyZWFkKCRmZCwgZmlsZXNpemUoJGZpbGUpOw0K
ICAgICAgICAgICAgICAgICRmaWxlYnVmZmVyID0gY2h1bmtfc3BsaXQoYmFzZTY0X2VuY29k
ZSgkZmlsZWJ1ZmZlciksIDcyKSAuICR0aGlzLT5lb2w7DQoNCiAgICAgICAgICAgICAgICBp
ZiAoJHR5cGUgPT0gImVtYmVkZGVkIikNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAg
ICAgICAgICAgICRyZWZfaWQgPSBtZDUodW5pcWlkKHRpbWUoKSkpIC4gJy4nIC4gJGZpbGVp
bmZvWydleHRlbnNpb24nXTsNCg0KICAgICAgICAgICAgICAgICAgICAkaGVhZGVyICA9ICct
LScgLiAkdGhpcy0+Ym91bmRhcnkgLiAkdGhpcy0+ZW9sOw0KICAgICAgICAgICAgICAgICAg
ICAkaGVhZGVyIC49ICdDb250ZW50LVR5cGU6ICcgLiAkbWltZSAuICc7IG5hbWU9IicgLiAk
YmFzZW5hbWUgLiAnIicgLiAkdGhpcy0+ZW9sOw0KICAgICAgICAgICAgICAgICAgICAkaGVh
ZGVyIC49ICdDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjQnIC4gJHRoaXMtPmVv
bDsNCiAgICAgICAgICAgICAgICAgICAgJGhlYWRlciAuPSAnQ29udGVudC1EaXNwb3NpdGlv
bjogaW5saW5lOyBmaWxlbmFtZT0iJyAuICRiYXNlbmFtZSAuICciJyAuICR0aGlzLT5lb2w7
DQogICAgICAgICAgICAgICAgICAgICRoZWFkZXIgLj0gJ0NvbnRlbnQtSUQ6IDwnIC4gJHJl
Zl9pZCAuICc+JyAuICR0aGlzLT5lb2wgLiAkdGhpcy0+ZW9sOw0KICAgICAgICAgICAgICAg
ICAgICAkaGVhZGVyIC49ICRmaWxlYnVmZmVyOw0KDQogICAgICAgICAgICAgICAgICAgICR0
aGlzLT5lbWJlZGRlZFtdID0gJGhlYWRlcjsNCg0KICAgICAgICAgICAgICAgICAgICByZXR1
cm4gJzxpbWcgc3JjPTNEImNpZDonIC4gJHJlZl9pZCAuICciPic7DQogICAgICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICB7DQogICAgICAg
ICAgICAgICAgICAgICRoZWFkZXIgID0gJy0tJyAuICR0aGlzLT5ib3VuZGFyeSAuICR0aGlz
LT5lb2w7DQogICAgICAgICAgICAgICAgICAgICRoZWFkZXIgLj0gJ0NvbnRlbnQtVHlwZTog
Jy4gJG1pbWUgLiAnOyBuYW1lPSInIC4gJGJhc2VuYW1lIC4gJyInIC4gJHRoaXMtPmVvbDsN
CiAgICAgICAgICAgICAgICAgICAgJGhlYWRlciAuPSAnQ29udGVudC1UcmFuc2Zlci1FbmNv
ZGluZzogYmFzZTY0JyAuICR0aGlzLT5lb2w7DQogICAgICAgICAgICAgICAgICAgICRoZWFk
ZXIgLj0gJ0NvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSInIC4g
JGJhc2VuYW1lIC4gJyInLiR0aGlzLT5lb2wuJHRoaXMtPmVvbDsNCiAgICAgICAgICAgICAg
ICAgICAgJGhlYWRlciAuPSAkZmlsZWJ1ZmZlcjsNCg0KICAgICAgICAgICAgICAgICAgICAk
dGhpcy0+YXR0YWNobWVudFtdID0gJGhlYWRlcjsNCiAgICAgICAgICAgICAgICB9DQogICAg
ICAgICAgICB9DQogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICB7DQogICAgICAgICAg
ICAgICAgJHRoaXMtPmVycm9yW10gPSBzcHJpbnRmKCR0aGlzLT5lcnJvcnNbJ2Nhbm5vdHJl
YWRmaWxlJ10sICRmaWxlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBl
bHNlDQogICAgICAgIHsNCiAgICAgICAgICAgICR0aGlzLT5lcnJvcltdID0gc3ByaW50Zigk
dGhpcy0+ZXJyb3JzWydub2ZpbGVmb3VuZCddLCAkZmlsZSk7DQogICAgICAgIH0NCiAgICB9
DQp9DQoNCj8+DQo=


1a97exxx1a97e8797f--

</pr


Iemand? :D
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55791330
quote:
Op zaterdag 5 januari 2008 11:51 schreef Chandler het volgende:

[..]

Hoe moet ik de headers instellen dan? en afmeld adres kan in de mail vermeld worden waarbij het script de mogelijkheid heeft om gebruikers af te melden.
ik pak even de headers , die er toe lijken te doen, van de nieuwsbrief van m'n broer:
quote:
Precedence: list
List: lists
List-Unsubscribe: <http://domein.com/lists>
List-Owner: <lists@domein.com>
X-Priority: 3
X-Mailer: mailer
List-ID: <http://domein.com/lists>
List-Subscribe: <http://domein.com/lists>
List-URL: <http://domein.com/lists>
die staan er extra in, en kennelijk zorgt dit er voor dat een mailing in princiepe altijd om een spamfilter komt (mits de headers netjes worden gevolgd door het anti-spam middel).
pi_55792291
quote:
Op donderdag 3 januari 2008 14:01 schreef colourAgga het volgende:
Wat denken jullie trouwens, de klasses die je nodig hebt voordat je fatsoenlijk aan een project kan beginnen? Ik denk:
- Date
- Verify
- Authentification
- SQL
- Template

Dat zijn in ieder geval de 5 die ik het meeste gebruik jullie nog toevoegingen?
Mijn basisklassen voor een webapplicatie zijn meestal:

- Configuration - waar de config wordt uitgelezen uit een file, in een object wordt gezet en die dmv een singleton pattern beschikbaar is in de hele applicatie;
- Database - waar de db connectie wordt gemaakt (username/password ed komt uit het Configuration object) en die als een wrapper werkt zodat je flexibel bent en je makkelijk van db backend kan switchen;
- User - waar een userobject wordt gemaakt met alle user specifieke dingen, ook authenticatie en permissies wordt hier geregeld;
- Session - voor alle data die persistent moet zijn. Een Session object wordt geencapsuleerd in een User object aangezien het altijd aan een user is gekoppeld;
- View - een wrapper class voor een template engine;
- Request - alle userinput uit GET parameters en form submits wordt hier beschikbaar gemaakt en gevalideerd;
- Log - een generieke logging module voor foutmeldingen uit de applicatie, en voor debugging doeleinden.
pi_55796893
quote:
Op zaterdag 5 januari 2008 10:31 schreef Xcalibur het volgende:

[..]

Ik gebruik in grote lijnen hetzelfde lijstje, alleen geen date class:
- ADOdb
- Authenticator (zelfgeschreven authenticatie class)
- Importexport (zelfgeschreven CSV import / export class)
- phpMailer
- phpThumb
- Smarty
- UTF-8
- Validator (zelfgeschreven validatie class)

Wat gebruik jij voor date class? Ik heb eerlijk gezegd nooit echt problemen met datums, dus ik ben wel benieuwd waarom die van jou zo handig is?
Ik gebruik een date class om alle mogelijke berekeningen met tijd te doe en dat in alle mogelijke tijdsformaten in en uit te lezen

Overigens werkt het bij mij zo:

Ik heb een core, deze laadt de module config in vanuit XML bestanden in de config directory of uit de database, vervolgens worden alle modules binnen de core beschikmaar gemaakt waarna ik vervolgens vanuit elke module met de core kan praten en via de core met andere modules.

Hier zit uitgebreide logging op en ook afhandeling van fouten via een eigen error code systeem (je ziet dus nooit PHP fouten in principe ). Best heel hip etc en ook iets wat ik voor mijn werk heb gemaakt en waarvan grote delen dus gewoon proprietary zijn.

Wel heel handig:
1
2
3
4
5
<?php
$Core
->mod_Template->replace'tieten''borsten' ); //Aanspreken van module
$Core->mod_Gallery->store'plaatje' ); //Standaard spul opslaan bij een module
$Core->mod_Gallery->config'thumbnails''120x120' ); //Override van settings
?>

Verder zijn er nog plugins (deze hangen onder de modules waarmee ik specifieke functionaliteit voor een specifieke klant kan toevoegen En als je via de Core iets input/output wordt dit altijd gevalidate, alsmede dat ALLE database en file gerelateerde dingen via de mod_DB en mod_File gaan (er bestaan shorts voor zodat je dat mod_ niet telkens hoeft te typen )

Allemaal heel hip etc, de Template is een extension op een output klasse, alles zit erin zodat je kan outputten naar een webpage of naar commandline of wat je maar wilt eigenlijk.

Het hele systeem is PHP/Python geschreven waarbij Python alles op het filesystem zelf afhandelt en wat handige interfaces heeft zoals dat wij een SQL klasse hebben die niet met SQL praat maar met de pickle functionaliteit van Python etc. Ook klasses voor verschillende databases. Allemaal heel leuk spul.

Oh en verder zit er nog allerlei Big Brother functionaliteit in

Een echt framework
pi_55834668
Nice!
  maandag 7 januari 2008 @ 14:14:59 #125
37634 wobbel
Da WoBBeL King
pi_55847204
quote:
Op donderdag 3 januari 2008 15:39 schreef wobbel het volgende:
Wij hebben op het werk een administratie programma welke op TPS bestanden draait (TopSpeed database)

Nu lukt het mij prima om er wat gegevens uit te krijgen door te zoeken op klant nummer met onderstaande code:
[ code verwijderd ]

Nu zou ik ook graag willen zoeken op naam, dat als ik zoek naar "aap" ik alle resultaten krijg zoals "Schaap, Aapjes" etc...dus ik dacht dit:
[ code verwijderd ]

Maar helaas, dit werkt niet ik krijg dan geen resultaten...als ik de wildcards (%) weglaat en ik vul de exacte naam in dan vind ik het wel

Hoe kan ik zoeken met wildcards? Hier staat iets meer info over ODBC TopSpeed (PDF)
Schop

LET OP!! Is geen MySQL, maar een ODBC plugin voor TopSpeed
pi_55847394
In SQL gaat het in ieder geval dmv LIKE. Een procentteken is een wildcard voor 0 of meer tekens, een underscore is een wildcard voor 1 teken. Bijv:

1$ODBC_Klant_Select = "SELECT * FROM BAC5130 WHERE NM LIKE '%" . $SQL_Value . "%'";
pi_55853046
hoe schrijf ik een functie die uit een string één of meerdere woorden haalt die in een array staan en de rest weg laat? bijvoorbeeld:

$string = "morgen vlieg ik naar new york";
$steden = array("amsterdam", "barcelona", "new york");

dan wil ik dat alleen new york wordt weergegeven, de rest mag wegvallen. en als de waarde niet voor komt in de array dat er ook niks wordt weergegeven.. alvast bedankt
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_55853215
quote:
Op maandag 7 januari 2008 14:14 schreef wobbel het volgende:
LET OP!! Is geen MySQL, maar een ODBC plugin voor TopSpeed
Ik denk dat je zelf op zoek moet naar betere / uitgebreidere documentatie over die TopSpeed db. Dat pdfje is wel erg beknopt.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_55853516
quote:
Op maandag 7 januari 2008 17:59 schreef markiemark het volgende:
hoe schrijf ik een functie die uit een string één of meerdere woorden haalt die in een array staan en de rest weg laat? bijvoorbeeld:

$string = "morgen vlieg ik naar new york";
$steden = array("amsterdam", "barcelona", "new york");

dan wil ik dat alleen new york wordt weergegeven, de rest mag wegvallen. en als de waarde niet voor komt in de array dat er ook niks wordt weergegeven.. alvast bedankt
1
2
3
4
5
6
7
8
9
<?php
$string 
"morgen vlieg ik naar new york";
$steden = array("amsterdam""barcelona""new york");
foreach(
$steden as $stad) {
    if(
false !== strpos($string$stad)) {
        echo 
$stad;
    }
}
?>
pi_55853806
quote:
Op maandag 7 januari 2008 18:19 schreef Light het volgende:

[..]
[ code verwijderd ]
helemaal top!! dank je wel!

het gaat om een lijst van +/- 5000 steden en het is een vrij druk bezochte site.. gaat dit een probleem worden?
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_55854129
Is een regular expression dan niet sneller, Light?
pi_55854748
quote:
Op maandag 7 januari 2008 18:45 schreef Geqxon het volgende:
Is een regular expression dan niet sneller, Light?
Nee, als je wilt weten of een string in een andere string voorkomt dan is strpos sneller dan een regular expression. Dat staat ook in de PHP handleiding. Overigens kan het wel efficienter want foreach is niet de geheugenvriendelijkste methode.
pi_55854811
Uiteraard, omdat strpos character per character controleert.
pi_55854813
quote:
Op maandag 7 januari 2008 18:33 schreef markiemark het volgende:

[..]

helemaal top!! dank je wel!

het gaat om een lijst van +/- 5000 steden en het is een vrij druk bezochte site.. gaat dit een probleem worden?
Dan zou ik niet kiezen voor een foreach-methode. Het kan efficienter, zeker als de array is opgebouwd zoals je beschrijft (dus met numerieke keys).
pi_55855862
Misschien dat een combinatie van str_word_count en array_intersect ook nog wat uithaalt.. Geen idee wat sneller zou zijn

1
2
3
4
5
<?php
 
$steden 
= array('barcalona''amsterdam''newyork');
$output array_intersect($stedenstr_word_count($tekst1));
?>


En ik speel hier vals door New York als één woord te typen :p
pi_55891884
Misschien een stom vraagje; maar wil graag weten m.b.t. de preformance van PHP hoe lang het geschat kan duren voor het versturen van 250 mailtjes met PHP (mailtje is max 1kb)

Wil geen simulatie uitvoeren aangezien ik niet 250x dezelfde email wil ontvangen
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55891968
quote:
Op woensdag 9 januari 2008 10:12 schreef Chandler het volgende:
Misschien een stom vraagje; maar wil graag weten m.b.t. de preformance van PHP hoe lang het geschat kan duren voor het versturen van 250 mailtjes met PHP (mailtje is max 1kb)

Wil geen simulatie uitvoeren aangezien ik niet 250x dezelfde email wil ontvangen
Daar is niks zinnigs over te zeggen zonder specifiek te weten wat:

Voor soort email je uitstuurt
Hoe je deze opbouwt
Hoe je deze verstuurd
pi_55892309
Je moet het zien als een tekst mailtje met een paar headers... en ik verstuur gewoon met mail($to, $titel, $content, $headers);

The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 9 januari 2008 @ 10:38:30 #139
84926 WyriHaximus
Release the hounds smithers!
pi_55892360
quote:
Op woensdag 9 januari 2008 10:12 schreef Chandler het volgende:
Misschien een stom vraagje; maar wil graag weten m.b.t. de preformance van PHP hoe lang het geschat kan duren voor het versturen van 250 mailtjes met PHP (mailtje is max 1kb)

Wil geen simulatie uitvoeren aangezien ik niet 250x dezelfde email wil ontvangen
Mijn ervaring is dat PHP (afhankelijk hoe snel de SMTP server is) er rustig 2000 mailtjes in een seconden door heen kan knallen van 1KB/ps (per stuk) .
phluphy for president!
pi_55892395
quote:
Op woensdag 9 januari 2008 10:38 schreef WyriHaximus het volgende:

[..]

Mijn ervaring is dat PHP (afhankelijk hoe snel de SMTP server is) er rustig 2000 mailtjes in een seconden door heen kan knallen van 1KB/ps (per stuk) .
Dan is dit je antwoord.
pi_55892402
Juist, een klant van mij wil ruim 300.000 mailtjes versturen en nu heb ik een script geschreven die om de xxx mailjes de pagina 10 seconden laat wachten en dan op naar de volgende xxx mailtjes gaat.

Maar 1000 mailtjes is dus simpel mogelijk zonder gezeur van PHP/MYSQL en natuurlijk de SMTP server
quote:
Op woensdag 9 januari 2008 10:40 schreef Scorpie het volgende:Dan is dit je antwoord.
Dat is duidelijk dan
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55892826
precies de manier waarop ik het ook doe
  woensdag 9 januari 2008 @ 11:40:57 #143
84926 WyriHaximus
Release the hounds smithers!
pi_55893841
Enigsinds schamend moet ik zeggen dat ik zelf nog niet met UTF-8 bezig ben geweest, maar hier wel graag mee bezig zou willen gaan (kan ook wel zonder door blijven gaan aangezien ik het eingelijk niet tegenkom dat het nodig is maar goed). Na ben ik bezig me CMS te herschrijven en 1 van de dingen die ik er in moet en zal hebben is UTF-8 support. HEb de hele hotfuzz nog niet door denk want het enigste wat ik vind is dat ik een set andere functies moet gebruiken voor bepaalde acties. Klopt dit of zit er meer achter?
phluphy for president!
pi_55894143
Lees in ieder geval deze eens
http://www.nicknettleton.com/zine/php/php-utf-8-cheatsheet#body

Ik gebruik zelf ook deze UTF-8 class:
http://sourceforge.net/projects/phputf8/
  woensdag 9 januari 2008 @ 12:24:37 #145
84926 WyriHaximus
Release the hounds smithers!
pi_55894919
quote:
Op woensdag 9 januari 2008 11:52 schreef Xcalibur het volgende:
Lees in ieder geval deze eens
http://www.nicknettleton.com/zine/php/php-utf-8-cheatsheet#body

Ik gebruik zelf ook deze UTF-8 class:
http://sourceforge.net/projects/phputf8/
Ok tof dankje, zat dus zelf iig al een heel eind de goede kant op .
phluphy for president!
pi_55903823
quote:
Op woensdag 9 januari 2008 10:40 schreef Chandler het volgende:
Juist, een klant van mij wil ruim 300.000 mailtjes versturen en nu heb ik een script geschreven die om de xxx mailjes de pagina 10 seconden laat wachten en dan op naar de volgende xxx mailtjes gaat.

Maar 1000 mailtjes is dus simpel mogelijk zonder gezeur van PHP/MYSQL en natuurlijk de SMTP server
[..]

Dat is duidelijk dan
Ik zou niet graag 300.000 mails versturen met de mail() functie. Die is daar niet zo geschikt voor, omdat de verbinding met de mailserver iedere keer wordt afgesloten en opnieuw geopend. Zie ook mail().
pi_55903962
http://www.phpguru.org/static/mime.mail.html

Voor als je wilt weten hoe je via SMTP mail verstuurt.
  woensdag 9 januari 2008 @ 19:18:26 #148
136730 PiRANiA
All thinking men are atheists.
pi_55904630
quote:
Op woensdag 9 januari 2008 18:55 schreef Geqxon het volgende:
http://www.phpguru.org/static/mime.mail.html

Voor als je wilt weten hoe je via SMTP mail verstuurt.
hij had het toch al over een smtp server?
quote:
Op woensdag 9 januari 2008 10:40 schreef Chandler het volgende:
Juist, een klant van mij wil ruim 300.000 mailtjes versturen en nu heb ik een script geschreven die om de xxx mailjes de pagina 10 seconden laat wachten en dan op naar de volgende xxx mailtjes gaat.

Maar 1000 mailtjes is dus simpel mogelijk zonder gezeur van PHP/MYSQL en natuurlijk de SMTP server
[..]

Dat is duidelijk dan
  woensdag 9 januari 2008 @ 19:19:45 #149
107951 JortK
Immer kwaliteitsposts
pi_55904666
Waaom zou je zoveel berichten niet laten versturen door bedrijven die er tenslotte in specialiseerd zijn
pi_55907477
quote:
Op woensdag 9 januari 2008 12:24 schreef WyriHaximus het volgende:
Ok tof dankje, zat dus zelf iig al een heel eind de goede kant op .
Nog niet zo heel lang geleden heeft iemand in dit topic (het vorige deel gok ik) een aardig complete opsomming gemaakt.... ik dacht eigenlijk dat jij dat was
pi_55908727
Ongelooflijk. Kom er net achter dat als je met mysql in een selectquery een like operator wilt gebruiken om een integer op te halen je dat als een string moet doen om dat werkend te krijgen..

Om de like-operator toe te passen op een integer-dataveld moet je dus dit doen:
1
2
3
<?php
$query 
"SELECT * FROM employees WHERE age LIKE '%$age%'";
?>


Of zou hij het gewoon pikken en moet ik dit anders doen?
  woensdag 9 januari 2008 @ 21:45:50 #152
136730 PiRANiA
All thinking men are atheists.
pi_55908884
quote:
Op woensdag 9 januari 2008 19:19 schreef JortK het volgende:
Waaom zou je zoveel berichten niet laten versturen door bedrijven die er tenslotte in specialiseerd zijn
omdat hij het zelf ook kan?
pi_55909610
quote:
Op woensdag 9 januari 2008 21:41 schreef Tarabass het volgende:
Ongelooflijk. Kom er net achter dat als je met mysql in een selectquery een like operator wilt gebruiken om een integer op te halen je dat als een string moet doen om dat werkend te krijgen..

Om de like-operator toe te passen op een integer-dataveld moet je dus dit doen:
[ code verwijderd ]

Of zou hij het gewoon pikken en moet ik dit anders doen?
Like is een string-operator, dus is het wel logisch dat het niet werkt met integers. Je zou je ook nog kunnen afvragen of het zinvol is om Like te gebruiken, of dat je de gegevens op een andere manier ook kunt krijgen.
  woensdag 9 januari 2008 @ 22:10:37 #154
37634 wobbel
Da WoBBeL King
pi_55909641
Ik moet m'n vriendin PHP leren wat is de ALLERMAKKELIJKSTE instap curus voor PHP? (jaja, wat een vertrouwen )

Dus heel simpel echo dingen en hele simpele if en else statements?
  woensdag 9 januari 2008 @ 22:15:20 #155
84926 WyriHaximus
Release the hounds smithers!
pi_55909798
quote:
Op woensdag 9 januari 2008 22:10 schreef wobbel het volgende:
Ik moet m'n vriendin PHP leren wat is de ALLERMAKKELIJKSTE instap curus voor PHP? (jaja, wat een vertrouwen )

Dus heel simpel echo dingen en hele simpele if en else statements?
Hahahaha! Ben altijd al fan geweest van de Wrox serie: http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764557831.html
phluphy for president!
  woensdag 9 januari 2008 @ 22:16:26 #156
37634 wobbel
Da WoBBeL King
pi_55909835
quote:
Op woensdag 9 januari 2008 22:15 schreef WyriHaximus het volgende:

[..]

Hahahaha! Ben altijd al fan geweest van de Wrox serie: http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764557831.html
dat is te moeilijk, dan moet ze 2 talen leren (engels ) en dan kost het me geld

en nee, ze is geen mongooltje
  woensdag 9 januari 2008 @ 22:22:50 #157
84926 WyriHaximus
Release the hounds smithers!
pi_55910036
quote:
Op woensdag 9 januari 2008 22:16 schreef wobbel het volgende:

[..]

dat is te moeilijk, dan moet ze 2 talen leren (engels ) en dan kost het me geld

en nee, ze is geen mongooltje
lol ik ze niks, me eingen vriendin is ook niet al te goed met engels . Dit anders wat? Misschien bij de bied? http://www.nl.bol.com/is-bin/INTERSHOP.enfinity/eCS/Store/nl/-/EUR/BOL_DisplayProductInformation-Start?Section=BOOK&BOL_OWNER_ID=1001004002133647
phluphy for president!
  woensdag 9 januari 2008 @ 22:26:25 #158
37634 wobbel
Da WoBBeL King
pi_55910155
quote:
Op woensdag 9 januari 2008 22:22 schreef WyriHaximus het volgende:

[..]

lol ik ze niks, me eingen vriendin is ook niet al te goed met engels . Dit anders wat? Misschien bij de bied? http://www.nl.bol.com/is-bin/INTERSHOP.enfinity/eCS/Store/nl/-/EUR/BOL_DisplayProductInformation-Start?Section=BOOK&BOL_OWNER_ID=1001004002133647
haha die heb ik op 't werk wel liggen volgensmij eens meenemen
pi_55911592
quote:
Op woensdag 9 januari 2008 22:10 schreef wobbel het volgende:
Ik moet m'n vriendin PHP leren wat is de ALLERMAKKELIJKSTE instap curus voor PHP? (jaja, wat een vertrouwen )

Dus heel simpel echo dingen en hele simpele if en else statements?
w3schools
Tizag
?
pi_55911805
quote:
Op woensdag 9 januari 2008 22:09 schreef Light het volgende:

[..]

Like is een string-operator, dus is het wel logisch dat het niet werkt met integers. Je zou je ook nog kunnen afvragen of het zinvol is om Like te gebruiken, of dat je de gegevens op een andere manier ook kunt krijgen.
Ik weet inmiddels dat het anders moet (REGEXP?), maar het is toch absurd dat hij (mysql-server) het allemaal pikt. Echt raar. Met een string-operator een integer ophalen. Hoe weet je dan dat je het goed doet, als alles werkt

dacht dat dit subforum voor dummies was, maar krijg steeds meer het idee dat dit het expert-subforum is
pi_55913011
quote:
Op woensdag 9 januari 2008 23:15 schreef Tarabass het volgende:
[...] Ik weet inmiddels dat het anders moet (REGEXP?) [...]
Wat wil je eigenlijk bereiken? Een REGEXP is net als LIKE een string operator, dus die is ook niet bedoeld om naar een int te zoeken. Waarom kan je geen =, <, > of BETWEEN gebruiken?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_55913677
Ja inderdaad, wat voor gegevens sla je op en waarop wil je zoeken? Ik denk dat je behoorlijk verkeerd aan het zoeken bent
"Reality is an illusion created by a lack of alcohol."
  donderdag 10 januari 2008 @ 07:24:14 #163
62215 qu63
..de tijd drinkt..
pi_55915440
quote:
Op woensdag 9 januari 2008 23:15 schreef Tarabass het volgende:

[..]

Ik weet inmiddels dat het anders moet (REGEXP?), maar het is toch absurd dat hij (mysql-server) het allemaal pikt. Echt raar. Met een string-operator een integer ophalen. Hoe weet je dan dat je het goed doet, als alles werkt

dacht dat dit subforum voor dummies was, maar krijg steeds meer het idee dat dit het expert-subforum is
dummie meldt
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 10 januari 2008 @ 08:08:19 #164
84926 WyriHaximus
Release the hounds smithers!
pi_55915653
quote:
Op woensdag 9 januari 2008 23:15 schreef Tarabass het volgende:

[..]

dacht dat dit subforum voor dummies was, maar krijg steeds meer het idee dat dit het expert-subforum is
Expert meld . (*WyriHaximus walgt even van zichzelf en gaat weer verder. *WyriHaximus schaamt zich nog steeds dat hij niet echt eerder met UTF-8 aan de gang is gegaan !) Maar goed zonder experts is het ook weer zo saai voor de dummies .
quote:
Op woensdag 9 januari 2008 20:54 schreef Xcalibur het volgende:

[..]

Nog niet zo heel lang geleden heeft iemand in dit topic (het vorige deel gok ik) een aardig complete opsomming gemaakt.... ik dacht eigenlijk dat jij dat was
Hehe nee dat was ik niet . Maar goed dit heeft me aan het denken gezet aan gezien UTF-8 best wel een pre is als je echt internationaal wilt gaan werken. Nu zat ik te denken om een aantal nuttige posts in de OP er bij te zetten aangezien die nu wat karig is. Wat denken jullie er van?
phluphy for president!
pi_55915841
Och, en ik schaam mij weer dood omdat ik mijn Unix timestamps zonder tijdzone markering in de database hebt zitten.
pi_55917210
quote:
Op woensdag 9 januari 2008 23:55 schreef SuperRembo het volgende:

[..]

Wat wil je eigenlijk bereiken? Een REGEXP is net als LIKE een string operator, dus die is ook niet bedoeld om naar een int te zoeken. Waarom kan je geen =, <, > of BETWEEN gebruiken?
Ik ben met ajax bezig en wil dat als je een cijfer ingeeft in een tekstbox 'age' hij alle records ophaalt die dat getal bevatten. Als je een 1 intypt moet hij dus de leeftijden 1 ophalen, maar ook 14 of 51. Als ik de integer $age tussen quotes zet werkt dat gewoon op een integer-veld. En op de mysql-site vond ik dat regexp ook zou werken.
quote:
A character class “[...]” matches any character within the brackets. For example, “[abc]” matches “a”, “b”, or “c”. To name a range of characters, use a dash. “[a-z]” matches any letter, whereas “[0-9]” matches any digit.
Balen dat alles bij mysql werkt, want op die manier weet je geeneens of het de juiste manier is, en wil het zo graag goed doen. Maar alles werkt aarggh. Wat zou ik voor een integer moeten gebruiken?

Voorbeeld
pi_55922097
quote:
Op woensdag 9 januari 2008 23:15 schreef Tarabass het volgende:

[..]

Ik weet inmiddels dat het anders moet (REGEXP?), maar het is toch absurd dat hij (mysql-server) het allemaal pikt. Echt raar. Met een string-operator een integer ophalen. Hoe weet je dan dat je het goed doet, als alles werkt

dacht dat dit subforum voor dummies was, maar krijg steeds meer het idee dat dit het expert-subforum is
semi-dummy/expert meld...
pi_55923329
quote:
Op donderdag 10 januari 2008 13:37 schreef mschol het volgende:

[..]

semi-dummy/expert meld...
Je bedoelt semi-expert
pi_55923467
quote:
Op donderdag 10 januari 2008 10:11 schreef Tarabass het volgende:

[..]

Ik ben met ajax bezig en wil dat als je een cijfer ingeeft in een tekstbox 'age' hij alle records ophaalt die dat getal bevatten. Als je een 1 intypt moet hij dus de leeftijden 1 ophalen, maar ook 14 of 51. Als ik de integer $age tussen quotes zet werkt dat gewoon op een integer-veld. En op de mysql-site vond ik dat regexp ook zou werken.
[..]

Balen dat alles bij mysql werkt, want op die manier weet je geeneens of het de juiste manier is, en wil het zo graag goed doen. Maar alles werkt aarggh. Wat zou ik voor een integer moeten gebruiken?

Voorbeeld
Waarom wil je als je een 1 invult ook 51 hebben? Klinkt me vrij onlogisch in de oren. Dat is hetzelfde als je bij autocomplete een P invult je dan ook AAP als voorbeeld krijgt. Als je dit niet doet kun je dit ook op een veel elegantere manier doen.

Stel je vult een 2 in. Dan zijn de mogelijkheden dus 2, 20-29, 200-299. Verder dan dat hoef je niet te gaan. Dan kun je dus een SELECT query met een paar ORs en met BETWEEN werken.

Vul je ook een 2e cijfer in, bijvoorbeeld 14, dan kun je dus een query bouwen met 14, en 140-149. Dit gaat een stuk sneller, weet je zeker dat het goed gaat en heb je geen lelijke string searches op een integer field. Helaas kun je het dus niet zo oplossen als je ook wilt dat je 51 kunt vinden met een 1.
"Reality is an illusion created by a lack of alcohol."
pi_55923771
quote:
Op donderdag 10 januari 2008 14:23 schreef Dzy het volgende:

[..]

Waarom wil je als je een 1 invult ook 51 hebben? Klinkt me vrij onlogisch in de oren. Dat is hetzelfde als je bij autocomplete een P invult je dan ook AAP als voorbeeld krijgt. Als je dit niet doet kun je dit ook op een veel elegantere manier doen.

Stel je vult een 2 in. Dan zijn de mogelijkheden dus 2, 20-29, 200-299. Verder dan dat hoef je niet te gaan. Dan kun je dus een SELECT query met een paar ORs en met BETWEEN werken.

Vul je ook een 2e cijfer in, bijvoorbeeld 14, dan kun je dus een query bouwen met 14, en 140-149. Dit gaat een stuk sneller, weet je zeker dat het goed gaat en heb je geen lelijke string searches op een integer field. Helaas kun je het dus niet zo oplossen als je ook wilt dat je 51 kunt vinden met een 1.
Het gaat niet om een autocomplete maar om een zoek-functie. Als je dus zoekt op 7 wil ik alle leeftijden met een 7 erin hebben. Waarom? Eigenlijk gewoon daarom

Dus om dit te bewerkstelligen wil ik een like-manier hebben, maar dan voor een integer..
pi_55923896
Een like operator is per definitie een string operator hoor, dat is basis SQL kennis.
pi_55924389
Je kunt natuurlijk ook je PHP scriptje een set laten maken en daar een mooie query door uit laten poepen. Nog steeds voelt het wat ranzig aan maarja, niet heel veel aan te doen. Stel dat de leeftijd maximaal 100 is, kun je bijvoorbeeld bij een 2 invullen zo'n query laten maken:

1SELECT * FROM users WHERE (age = 2) OR (age BETWEEN 20 AND 29) OR (age IN (12,22,32,42,52,62,72,82,92)


Dan krijg je alsnog alle goede leeftijden terug en gebruik je geen ranzige LIKE operators die bedoeld zijn voor strings. De php code om zo'n query te maken is ook niet zo moeilijk.
"Reality is an illusion created by a lack of alcohol."
pi_55925125
met welk boek leer ik het snelste object georienteerd programmeren in php?
ik kan wel aardig programmeren in php, maar nog niet object oriented. nu wil ik dit wel leren en een boek kopen daar voor, maar welke kan ik het beste nemen?
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_55925285
quote:
Op donderdag 10 januari 2008 14:39 schreef Scorpie het volgende:
Een like operator is per definitie een string operator hoor, dat is basis SQL kennis.
Maar mysql is slim genoeg om een integer gewoon te casten naar een string als je er string operators op loslaat. Ik zie het probleem niet. Like met een integer werkt gewoon.
  donderdag 10 januari 2008 @ 15:58:09 #175
84926 WyriHaximus
Release the hounds smithers!
pi_55925916
quote:
Op donderdag 10 januari 2008 15:28 schreef markiemark het volgende:
met welk boek leer ik het snelste object georienteerd programmeren in php?
ik kan wel aardig programmeren in php, maar nog niet object oriented. nu wil ik dit wel leren en een boek kopen daar voor, maar welke kan ik het beste nemen?
Wat ik eerder ook al voor wobbel ze GF suggereerde is de P2P serie van Wrox erg goed om eens naar te kijken .
phluphy for president!
  donderdag 10 januari 2008 @ 16:10:48 #176
107951 JortK
Immer kwaliteitsposts
pi_55926246
Even een offtopic vraagje wobbel heb jij niet vroeger R3 gehad als bedrijf?
pi_55926783
quote:
Op donderdag 10 januari 2008 14:58 schreef Dzy het volgende:
Je kunt natuurlijk ook je PHP scriptje een set laten maken en daar een mooie query door uit laten poepen. Nog steeds voelt het wat ranzig aan maarja, niet heel veel aan te doen. Stel dat de leeftijd maximaal 100 is, kun je bijvoorbeeld bij een 2 invullen zo'n query laten maken:
[ code verwijderd ]

Dan krijg je alsnog alle goede leeftijden terug en gebruik je geen ranzige LIKE operators die bedoeld zijn voor strings. De php code om zo'n query te maken is ook niet zo moeilijk.
Hier ga ik even mee stoeien. Bedankt..
pi_55928409
Beste allemaal,

Ik ben bezig met een gastenboek te maken, dit werkt allemaal prima. Nu wilde ik daar als toevoeging smilies aan toe voegen, ook dit werkt prima.

Nu geef ik van iedere smilie de locatie map aan, dit wil ik verkorten door het gebruik van een variabele.

Even een voorbeeld hoe het nu is:
1$text = str_replace(   ':)','<img src="./files/images/smiles/icon_smile.gif" border="0" alt="" />',$text);


Wat ik dus graag zou willen wijzigen is "./files/images/smiles" vervangen door een variabele ($dir_smiles). Dit wil me dus niet lukken aangezien de wijzingen overgenomen als zijnde tekst.

Wie kan en wil me hiermee helpen. Alvast bedankt :Y
  donderdag 10 januari 2008 @ 17:35:59 #179
136730 PiRANiA
All thinking men are atheists.
pi_55928532
quote:
Op donderdag 10 januari 2008 17:30 schreef BugWorks het volgende:
Beste allemaal,

Ik ben bezig met een gastenboek te maken, dit werkt allemaal prima. Nu wilde ik daar als toevoeging smilies aan toe voegen, ook dit werkt prima.

Nu geef ik van iedere smilie de locatie map aan, dit wil ik verkorten door het gebruik van een variabele.

Even een voorbeeld hoe het nu is:
[ code verwijderd ]

Wat ik dus graag zou willen wijzigen is "./files/images/smiles" vervangen door een variabele ($dir_smiles). Dit wil me dus niet lukken aangezien de wijzingen overgenomen als zijnde tekst.

Wie kan en wil me hiermee helpen. Alvast bedankt
wat bedoel je?
pi_55929568
ik denk dat het pad hard als tekst in al z'n entries staat, en hij deze dus niet meer kan aanpassen?
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')