abonnement Unibet Coolblue Bitvavo
  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
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')