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 | function calculateTextBox($text, $fontFile, $fontSize, $fontAngle) { $rect = imagettfbbox($fontSize, $fontAngle, $fontFile, $text); $minX = min(array($rect[0], $rect[2], $rect[4], $rect[6])); $maxX = max(array($rect[0], $rect[2], $rect[4], $rect[6])); $minY = min(array($rect[1], $rect[3], $rect[5], $rect[7])); $maxY = max(array($rect[1], $rect[3], $rect[5], $rect[7])); return array("left" => abs($minX), "top" => abs($minY), "width" => $maxX - $minX, "height" => $maxY - $minY, "box" => $rect); } putenv('GDFONTPATH=' . realpath('.')); $im = imagecreatetruecolor(721, 241); $color = imageColorAllocate($im, 0, 0, 0); $back = imagecolorallocate($im, 255, 255, 255); imagefill($im, 0, 0, $back); // lines for ($x = 0; $x < 4; $x++) { imageline($im, 0, $x * 80, 721, ($x * 80), $color); } for ($x = 0; $x < 11; $x++) { imageline($im, $x * 80, 1, $x * 80, 241, $color); } $fontsize = 40; $font = 'test2.ttf'; $x = 0; $y = 0; foreach (range("a", "z") AS $id => $key) { $bbox = calculateTextBox($key, $font, $fontsize, 0); imagettftext ($im, 12, 0, $x + 3, $y + 14, $color, "standard.ttf", $key); imagettftext ($im, $fontsize, 0, $x + (80/2 - $bbox['width']/2), $y + (80 - ($bbox['height']/2)), $color, $font, $key); $x = $x + 80; if ($x > 700) { $x = 0; $y = $y + 80; } } header('Content-Type: image/png'); imagePNG($im); ?> |
1 2 3 4 5 6 | $im = imagecreatetruecolor(721, 241); for ($x = 0; $x < 11; $x++) { imageline($im, $x * 80, 1, $x * 80, 241, $color); } ?> |
1 2 3 4 | $x + (80/2 - $bbox['width']/2), $y + (80 - ($bbox['height']/2)), ?> |
Dan valt de lijn buiten de afbeeldingquote:
En dat snap ik niet helemaal, hoe kan ik de letters dan wel netjes naast elkaar krijgen? of is dit in jou opinie mooi genoeg?quote:Dat moet je niet doen. Zoals je kunt lezen: "the coordinates given by x and y will define the basepoint of the first character". Wil je ze netjes naast elkaar hebben, moet je dit dus niet van het karakter afhankelijk maken.
Door ze allemaal op dezelfde baseline te zetten. Dan staan ze netjes recht. Als je ze allemaal een ander basepoint geeft (zoals je nu doet), staan ze allemaal op een andere hoogte.quote:Op zaterdag 14 februari 2009 09:55 schreef Chandler het volgende:
[..]
hoe kan ik de letters dan wel netjes naast elkaar krijgen?
ah jaquote:Op zondag 15 februari 2009 19:59 schreef GlowMouse het volgende:
Als ze allemaal even groot zijn, $i van 0 t/m grootte-1 laten lopen, en dan $_POST['var'][$i] gebruiken.
heb ik op de vorige pagina ook fout gedaanquote:Op zondag 15 februari 2009 20:15 schreef GlowMouse het volgende:
De juiste spelling is waarschijnlijk ook 'besteld'.
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 | { //verbinden met de server include("content/connect.php"); // tijd nu noteren $tijd = date("Y-m-d H:i:s"); // post dumpen en sessie om te kijken of ik nog iets mis.(over het hoofd zie) echo var_dump($_SESSION)."<br/><br/<br/>"; echo var_dump($_POST)."<br/><br/><br/>"; //werkt <img class="rde_img_smiley" src="http://i.fok.nl/s/smile.gif" width="15" height="15" alt="" /> $sql1 ="INSERT INTO verkooporder (klant_nr,besteldatum) VALUES ('".$_SESSION['klant_nr']."','".$tijd."')"; mysql_query($sql1) or( die()); //laatste vo_nr ophalen werkt het ophalen maar uitlezen niet. $sql3 ="SELECT vo_nr FROM verkooporder ORDER BY vo_nr DESC limit 1"; $test = mysql_query($sql3) or( die()); echo "<br/>Test:".$test['vo_nr']; echo var_dump($test); $test2 = mysql_fetch_assoc($test); echo $test2['vo_nr']; $p = count($_POST['artikel_nr']); for($i = 0; $i < $p; $i++) { $sql2 ="INSERT INTO verkooporderregel(vo_nr,art_nr,besteld,geleverd,vraagprijs) VALUES ('".$test2."','".$_POST['artikel_nr'][$i]."','".$_POST['besteld'][$i]."','0','".$_POST['prijs'][$i]."')"; mysql_query($sql2) or(die()); $sql4 = "UPDATE artikel SET voorverkopen = voorverkopen + ".$_POST['besteld'][$i].", tech_voorraad = tech_voorraad - ".$_POST['besteld'][$i]." WHERE art_nr = '".$_POST['artikel_nr'][$i]."'"; mysql_query($sql4) or(die()); } } ?> |
ik kwam eruit mysql assocquote:Op zondag 15 februari 2009 21:33 schreef GlowMouse het volgende:
*wordt aangemaakt
mysql_query geeft geen array terug, kijk eens op http://www.php.net/mysql
quote:Als ik USE index_naam in de query gebruik die de data uit de tijdelijke tabel haalt dan krijg ik geen resultaten terug.
Ik gebruik de tijdelijke tabel voor een query die later in het script uitgevoerd wordt, ik hoef dan niet de hele DB van een paar gig te doorzoeken, alleen de data in de tijdelijke tabel. Per week komen er ongeveer 100.000 records bij, en ik ben bang dat ik op lange termijn performance problemen krijg als ik geen gebruik maak van de tijdelijke tabel. Gezien de tijdelijke tabel alleen de data van 2 week bevat +/- 200.000 records zou dat imo sneller moeten zijn.quote:Op maandag 16 februari 2009 19:41 schreef GlowMouse het volgende:
Heb je zoveel records per week dat een index nodig is? Kun je niet gewoon de hoofdtabel gebruiken met die jaar/week in je WHERE? Zolang je index met die twee velden begint, zou dat de snelste oplossing zijn mits je queries herschreven kunnen worden zodat ze niet van de temporary table gebruik hoeven maken.
Klopt, ik heb het hier niet helemaal goed vermeld, de query klopt wel. Ik heb USE INDEX toegepast om er zeker van te zijn dat de index ook gebruikt wordt, maar blijkbaar kan een tijdelijke tabel geen gebruik maken van indexen die al aangemaakt zijn, alleen indexen die aangemaakt zijn bij het vullen van de tijdelijke tabel.quote:[..]syntax is FROM table USE INDEX (indexnaam) of FORCE INDEX (indexnaam), maar dan moet die index wel bestaan. Meestal heb je USE INDEX niet nodig omdat MySQLs query optimizer het al goed doet.
Voor zover queries van indices gebruik kunnen maken, hoef je je over grote tabellen geen zorgen te maken zolang de index in het geheugen past (en key_buffer_size voldoende groot is).quote:Op maandag 16 februari 2009 20:19 schreef The_Terminator het volgende:
[..]
Ik gebruik de tijdelijke tabel voor een query die later in het script uitgevoerd wordt, ik hoef dan niet de hele DB van een paar gig te doorzoeken, alleen de data in de tijdelijke tabel. Per week komen er ongeveer 100.000 records bij, en ik ben bang dat ik op lange termijn performance problemen krijg als ik geen gebruik maak van de tijdelijke tabel. Gezien de tijdelijke tabel alleen de data van 2 week bevat +/- 200.000 records zou dat imo sneller moeten zijn.
'CREATE TEMPORARY TABLE' gaat het omquote:Op maandag 16 februari 2009 20:33 schreef GlowMouse het volgende:
Maar gaat het nu om een tijdelijke tabel (die weggaat zodra je MySQLsessie voorbij is) of een tabel met tijdelijke data?
Ik zou even wachten op wanneer CSS3 wordt ondersteunt door de meeste browsers dan kun je gewoon die font neurpleuren op je server en wordt die gedownload door de browser ofzo iets dergelijks... iig externe fonts worde ondersteunt in de toekomst.quote:Op vrijdag 13 februari 2009 23:22 schreef Chandler het volgende:
Ik wil graag comments op mijn kleine stukje image bouwen.
Ik wil namelijk fonts op de juiste manier op de juiste plek laten zien.
[ link | afbeelding ]
[ link | afbeelding ]
gemaakt door de volgende code
[ code verwijderd ]
Alleen vind ik het op een of andere manier net zo dat de letters net niet goed staan ofzoiets... comments?
"Even" wachten?quote:Op maandag 16 februari 2009 23:34 schreef iBolt het volgende:
Ik zou even wachten op wanneer CSS3 wordt ondersteunt door de meeste browsers dan kun je gewoon die font neurpleuren op je server en wordt die gedownload door de browser ofzo iets dergelijks... iig externe fonts worde ondersteunt in de toekomst.
ik vond het een waardeloos boekquote:Op maandag 16 februari 2009 21:08 schreef Biefstuk het volgende:
Is dat PHP en MySQL voor dummies boek iets?
Ben van plan om php te leren of in ieder geval weten toe te passen.
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 | <table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-top:10px;"> <tr> <td width="50%" align="left" valign="top"> <!-- --> <table cellpadding="0" cellspacing="0" border="0" class="addressItem"> <tr> <th>Adres</th> <td>Hoofdstraat 1</td> </tr> <tr> <th>Postcode</th> <td>0000 AA</td> </tr> <tr> <th>Plaats</th> <td>Woonplaats</td> </tr> <tr> <th>Provincie</th> <td>Provincie</td> </tr> <tr> <th>Land</th> <td>Land</td> </tr> </table> <!-- --> </td> <td width="50%" align="right" valign="top"> <!-- --> <table cellpadding="0" cellspacing="0" border="0" class="addressItem"> <tr> <th>Contactpersoon</th> <td>Persoon</td> </tr> <tr> <th>Telefoon</th> <td>0000-000000</td> </tr> <tr> <th>Fax</th> <td></td> </tr> <tr> <th>E-mail</th> <td><a href="mailto:email@email.com">email@email.com</a> </td> </tr> <tr> <th>Website</th> <td><a href="http://www.url.com" target="_blank">www.url.com</a></td> </tr> </table> <!-- --> </td> </tr> </table> |
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 | $match = '!<h2 class="Kop2">([^/].*)<\/h2> <table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-top:10px;"> <tr> <td width="50%" align="left" valign="top"> <\!-- --> <table cellpadding="0" cellspacing="0" border="0" class="addressItem"> <tr> <th>([^/].*)<\/th> <td>([^/].*)<\/td> <\/tr> <tr> <th>([^/].*)<\/th> <td>([^/].*)<\/td> <\/tr> <tr> <th>([^/].*)<\/th> <td>([^/].*)<\/td> <\/tr> <tr> <th>([^/].*)<\/th> <td>([^/].*)<\/td> <\/tr> <tr> <th>([^/].*)<\/th> <td>([^/].*)<\/td> <\/tr> <\/table> <\!-- --> <\/td> <td width="50%" align="right" valign="top"> <\!-- --> <table cellpadding="0" cellspacing="0" border="0" class="addressItem"> <tr> <th>([^/].*)<\/th> <td>([^/].*)<\/td> <\/tr> <tr> <th>([^/].*)<\/th> <td>([^/].*)<\/td> <\/tr> <tr> <th>([^/].*)<\/th> <td>([^/].*)<\/td> <\/tr> <tr> <th>([^/].*)<\/th> <td><a href="mailto:">([^/].*)<\/a> <\/td> <\/tr> <tr> <th>([^/].*)<\/th> <td><a href="" target="_blank">([^/].*)<\/a><\/td> <\/tr> <\/table> <\!-- --> <\/td> <\/tr> <\/table>!im'; ?> |
Gewoon de explode functie eroverheen trekken, dat zou ik in iedergeval doen gezien er toch met vaste gegevens gewerkt wordt.quote:Op dinsdag 17 februari 2009 14:38 schreef Roy_T het volgende:
Jezus, met een regexZou je niet liever gewoon de DOM parsen?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | if(isset($_POST['reactie'])) { $naam = htmlspecialchars($_POST['naam']); $bericht = htmlspecialchars($_POST['bericht']); $error = ''; if(strlen($naam) < 2) { $error .= 'De naam moet minimaal 2 letters bevatten.<br>'; } if(strlen($bericht) < 5) { $error .= 'Het bericht moet minimaal 5 tekens bevatten.<br>'; } if(!empty($error)) { echo $error; echo '<br>'; } else { $time = time(); $iSql = "INSERT INTO downloads_reacties (downloadid,door,tijd,bericht) VALUES ('".$sGet."','".$naam."','".$time."','".nl2br($_POST['bericht'])."')"; mysql_query($iSql) or die(mysql_error()); header("Location: ".$_SERVER['REQUEST_URI']); } } ?> |
Kennelijk levert je config.php al output, dan gaat het is mis als je daarna iets met header() probeert. Oplossing: geen output leveren in config.php.quote:Op woensdag 18 februari 2009 10:33 schreef Nashje het volgende:
Ik ben bezig met een reactiescriptje, en krijg de welbekende fout: Warning: Cannot modify header information - headers already sent by (output started at config.php:23) in includes\download.php on line 130.
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | session_start(); // Pagina voor database connectie en andere instellingen // Database gegevens: $db['host'] = "localhost"; $db['user'] = "root"; $db['pass'] = "password"; $db['db'] = "database"; // Database connectie mysql_connect($db['host'],$db['user'],$db['pass']); mysql_select_db($db['db']); // Admin gegevens $admin_username = "admin"; $admin_password = "admin"; // Html instellingenn echo ' <title>Downloadsysteem</title> '; ?> |
Die echo veroorzaakt het.quote:Op woensdag 18 februari 2009 10:52 schreef Nashje het volgende:
Dit is de config.php. Op line 23 is niets fout toch?
[ code verwijderd ]
Ehh nee.quote:Op woensdag 18 februari 2009 11:05 schreef The_Terminator het volgende:
[..]
Die echo veroorzaakt het.
al geprobeerd 21 -23 eruit te halen en opnieuw te proberen ?quote:
Ja, vandaar ook mijn reactie 'ehh nee'quote:Op woensdag 18 februari 2009 11:16 schreef cablegunmaster het volgende:
[..]
al geprobeerd 21 -23 eruit te halen en opnieuw te proberen ?want het blijft een output.
Nee, geen whitespace.quote:Op woensdag 18 februari 2009 11:57 schreef Tiemie het volgende:
[..]
Ehh ja. Echo == Output.
Waarschijnlijk staat er na de sluit-tag ook nog whitespace.
Dan heb je dus op meerdere plekken output zitten. Ook in index.php op (of bij) regel 8. Veel duidelijker zijn die foutmeldingen echt niet te krijgen.quote:Op woensdag 18 februari 2009 12:02 schreef Nashje het volgende:
[..]
Nee, geen whitespace.
Heb dit in ieder geval helemaal weggehaald:
// Html instellingenn
echo '
<title>Downloadsysteem</title>
';
Error die ik dan krijg:
Warning: Cannot modify header information - headers already sent by (output started at index.php:8) in includes\download.php on line 130
variabelen camelCase, methoden/attributen PascalCasequote:Op vrijdag 13 februari 2009 10:59 schreef Roy_T het volgende:
[..]
Ik heb héél veel code van anderen gezien. Daarin inderdaad wel $camelCase (wat mij betreft prima), maar nooit $CamelCase.
je moet dat commentaar weghalen. Je mag geen output e.d. voor je sessies enzo hebben (zoals de error zegt. wat staat er op line 130 ?quote:Op woensdag 18 februari 2009 12:02 schreef Nashje het volgende:
[..]
Nee, geen whitespace.
Heb dit in ieder geval helemaal weggehaald:
// Html instellingenn
echo '
<title>Downloadsysteem</title>
';
Error die ik dan krijg:
Warning: Cannot modify header information - headers already sent by (output started at index.php:8) in includes\download.php on line 130
1 |
1 2 3 4 5 6 7 8 9 10 11 12 | ini_set("display_errors", 1); error_reporting(E_ALL); include('config.php'); ?> <b>Menu</b><br> <a href="index.php">Overzicht</a> - <a href="index.php?mode=toevoegen">Voeg download toe</a> - <a href="index.php?mode=admin">Admin</a> <?php if(isset($_SESSION['admin'])) { echo " - <a href=\"index.php?mode=admin_overzicht&act=nieuwcat\">Voeg categorie toe</a> - <a href=\"index.php?mode=logout\">Loguit</a>"; } echo "<br><br>"; |
Dan mis je dingen uit de toekomst en toon je wel dingen van een uur geleden die dus mogelijk wel op dezelfde datum zijn.quote:Op woensdag 18 februari 2009 13:21 schreef cablegunmaster het volgende:
oh ja zelf een vraag hoe kan ik een agenda maken en dat hij alles dan de huidige datum er niet in stopt?
kan dat in een sql query?
select * from kalender where datum < curdate?![]()
hoe kan je dat doen op de datum zelf?quote:Op woensdag 18 februari 2009 13:24 schreef GlowMouse het volgende:
[..]
Dan mis je dingen uit de toekomst en toon je wel dingen van een uur geleden die dus mogelijk wel op dezelfde datum zijn.
Maar ik heb al een date veld in mijn sql.quote:Op woensdag 18 februari 2009 13:26 schreef GlowMouse het volgende:
Met mktime en date moet het lukken.
WHERE datum <> NOW()quote:Op woensdag 18 februari 2009 13:33 schreef cablegunmaster het volgende:
[..]
Maar ik heb al een date veld in mijn sql.
Al hoe moet ik het uit de sql halen
dat alle velden die groter zijn dan de huidige datum?
want ik snap niet hoe ik de datum van nu in een voorwaarde kan zetten.
SELECT SELECT NOW()=DATE(NOW())quote:
Niet. Waar doen ze dat dan volgens jou?quote:Op woensdag 18 februari 2009 12:23 schreef Roy_T het volgende:
Sinds wanneer zorgen comments voor output
quote:Op woensdag 18 februari 2009 12:18 schreef Catch22- het volgende:
[..]
je moet dat commentaar weghalen. Je mag geen output e.d. voor je sessies enzo hebben (zoals de error zegt. wat staat er op line 130 ?
nee select date > now()quote:Op woensdag 18 februari 2009 13:37 schreef GlowMouse het volgende:
[..]
SELECT SELECT NOW()=DATE(NOW())
Geeft 0 terug
Ik denk niet dat je het begrijpt.quote:Op woensdag 18 februari 2009 13:40 schreef cablegunmaster het volgende:
[..]
nee select date > now()
en op een andere tabel < now()
dat is wat ik zocht![]()
Wat GlowMouse zeiquote:Op woensdag 18 februari 2009 13:38 schreef Light het volgende:
[..]
Niet. Waar doen ze dat dan volgens jou?
hoeft ook niet maar het werkt welquote:Op woensdag 18 februari 2009 13:41 schreef GlowMouse het volgende:
[..]
Ik denk niet dat je het begrijpt.
Jij wilde geen dingen van vandaag en die krijg je zo wel.quote:Op woensdag 18 februari 2009 13:48 schreef cablegunmaster het volgende:
[..]
hoeft ook niet maar het werkt wel![]()
ik denk niet dat jij begrijpt wat ik wil.
kan bestquote:Op woensdag 18 februari 2009 13:50 schreef GlowMouse het volgende:
[..]
Jij wilde geen dingen van vandaag en die krijg je zo wel.
Het kan trouwens prima in één query ook.
Ik heb http://simplehtmldom.sourceforge.net/ geprobeerd maar het lukt me gewoon domweg niet om alle gegevens uit te lezen, mijn IE crasht namelijk direct..quote:
Dat is een prima script, ik parse er zo'n 40 sites mee zonder problemen (ook met brakke HTML).quote:Op woensdag 18 februari 2009 14:13 schreef Chandler het volgende:
Ik heb http://simplehtmldom.sourceforge.net/ geprobeerd maar het lukt me gewoon domweg niet om alle gegevens uit te lezen, mijn IE crasht namelijk direct..
Heeft iemand een gemakkelijk scriptje?![]()
Kun je me dan eens helpen?quote:Op woensdag 18 februari 2009 14:18 schreef Roy_T het volgende:
[..]
Dat is een prima script, ik parse er zo'n 40 sites mee zonder problemen (ook met brakke HTML).
Vervelend dat je IE crasht (gebruik je die vrijwillig?), maar dat komt natuurlijk niet door het script. Iets met server en client side enzo
Begin eens met uit te leggen wanneer je browser crasht, en waarom dat komt door een (server side) PHP-scriptquote:
Goed, het volgende stukje laat mijn browser crashen.quote:Op woensdag 18 februari 2009 15:37 schreef Roy_T het volgende:
[..]
Begin eens met uit te leggen wanneer je browser crasht, en waarom dat komt door een (server side) PHP-script
Maar de docs van die library zijn toch vrij helder? Je kunt XPath/CSS-achtige selectors gebruiken, bijvoorbeeld om alle <td>'s te vinden of whatever. Of alle <tr>'s, waarbinnen je dan weer <td>'s zoekt, etc etc etc.
1 2 3 4 5 6 7 8 9 10 11 12 13 | include_once('simplehtmldom/simple_html_dom.php'); // Create DOM from URL $html = file_get_html('test.txt'); // Find all article blocks foreach($html->find('div.item') as $article) { print_r($article)->plaintext; exit(); } ?> |
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 | include_once('simplehtmldom/simple_html_dom.php'); // Create DOM from URL $html = file_get_html('test.txt'); // Find all article blocks foreach($html->find('#addressList') AS $article) { foreach ($article->find('.item') AS $item) { foreach ($item->find('.Kop2') AS $kop) { echo "<h2>" . $kop->plaintext . "</h2>"; } foreach ($item->find(".addressItem") AS $addr) { foreach ($addr->find('tr') AS $tr) { foreach ($tr->find('th') AS $th) { echo $th->plaintext . " "; } foreach ($tr->find('td') AS $td) { echo $td->plaintext; } echo '<br />'; } echo '<hr>'; } } } ?> |
Het zou je browser niet mogen crashen, maar je gebruikt dan ook geen browser maar IE. Ontwikkelaars op IE... jij bent de enige die ik kenquote:Op donderdag 19 februari 2009 09:46 schreef Chandler het volgende:
[..]
Goed, het volgende stukje laat mijn browser crashen.
[ code verwijderd ]
Maar ik denk dat ik gewoon de documentatie maar eens moet doornemen, heb ik al gedaan maar doe het dan nog maar een keer!
1 2 3 4 5 | $this->dom = str_get_dom(curl_exec($curl)); $this->dom->clear(); $this->dom = str_get_dom(curl_exec($curl)); ?> |
Zie je welquote:
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 | $title="Contact"; $email = ($mailto=="pz") ? "pz@bedrijfsnaambv.nl" : "info@bedrijfsnaambv.nl"; ?> <html> <head> <title>Bedrijfsnaambv.nl - <?php echo $title; ?></title> <?php include("inc/metadata.php"); ?> <link href="css/stylesheet.css" rel="stylesheet" type="text/css" /> </head> <body> <table width="940" height="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="20" rowspan="5" background="gfx/bgleft.gif"> </td> <td height="140" valign="bottom" background="gfx/header.gif" bgcolor="#E3ECFD"><table width="450" height="50" border="0" align="right" cellpadding="0" cellspacing="0"> <tr> <td><?php include("inc/zoeken.php"); ?></td> </tr> </table></td> <td width="20" rowspan="5" background="gfx/bgright.gif"> </td> </tr> <tr> <td height="25" background="gfx/bg-tabs.jpg"><?php include("inc/hoofdmenu.php"); ?></td> </tr> <tr> <td valign="top" class="bgcontent"> <br /> <!-- contentblok1 --> <table width="844" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="202" valign="top"><table width="202" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="30" background="gfx/bg-hdr.gif" class="title"><strong> <span class="largetitleblue"><?php echo $title; ?></span></strong></td> </tr> <tr> <td height="60" background="gfx/bg-content.gif"><img src="gfx/img-vestigingen.jpg" width="202" height="60" /></td> </tr> <tr> <td valign="top" background="gfx/bg-content.gif" class="tablespace"><table width="202" border="0" cellspacing="3" cellpadding="3"> <tr> <td><?php include("inc/vestigingen.php"); ?></td> </tr> </table></td> </tr> <tr> <td height="7"><img src="gfx/bg-table.png" width="202" height="7" /></td> </tr> </table></td> <td width="12" valign="top"> </td> <td width="630" valign="top" class="title"><table width="630" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="30" background="gfx/bg-hdr-breed.gif" class="title"> <span class="largetitle">Contact formulier Digitale vestiging</span></td> </tr> <tr> <td valign="top" background="gfx/bg-content-breed.gif"><br /> <? if (!$submit) { ?> <script Language="JavaScript"> <!-- function Validatie(theForm) { if (theForm.naam.value == "") { alert("Uw naam invullen a.u.b."); theForm.naam.focus(); return (false); } if (theForm.from.value == "") { alert("Uw email adres invullen a.u.b."); theForm.from.focus(); return (false); } if (theForm.telefoon.value == "") { alert("Uw telefoon nummer invullen a.u.b."); theForm.telefoon.focus(); return (false); } if (theForm.onderwerp.value == "") { alert("Een onderwerp invullen a.u.b."); theForm.onderwerp.focus(); return (false); } return (true); } // --> </script> <form method="post" action="/cgi-bin/mail-a-form" onSubmit="return Validatie(this)"> <INPUT TYPE="hidden" NAME="to" VALUE="<?php echo $email; ?>"> <INPUT TYPE="hidden" NAME="subject" VALUE="Formulier verstuurd vanaf bedrijfsnaambv.nl"> <INPUT TYPE="hidden" NAME="nextpage" VALUE="http://www.bedrijfsnaambv.nl/contact.php?submit=ok"> <blockquote>Voor meer informatie of opmerkingen, vul dan hieronder de gegevens volledig in.<br /><em>Velden met een * zijn verplicht.</em></blockquote><br /> <table width="450" border="0" align="center" cellpadding="3" cellspacing="3"> <tr> <td width="200" valign="top" bgcolor="#F5F8FF"><div align="right">Bedrijfsnaam:</div></td> <td valign="top"><input name="bedrijfsnaam" type="text" maxlength="50"></td> </tr> <tr> <td width="200" valign="top" bgcolor="#F5F8FF"><div align="right">Contact persoon:</div></td> <td valign="top"><input name="naam" type="text" maxlength="50"> *</td> </tr> <tr> <td width="200" valign="top" bgcolor="#F5F8FF"><div align="right">E-mailadres:</div></td> <td valign="top"><input name="from" type="text" maxlength="100"> *</td> </tr> <tr> <td valign="top" bgcolor="#F5F8FF"><div align="right">Telefoon nummer:</div></td> <td valign="top"><input name="telefoon" type="text" maxlength="15"> *</td> </tr> <tr> <td valign="top" bgcolor="#F5F8FF"><div align="right">Uw vestiging:</div></td> <td valign="top"><select name="VST" style="width: 168px"> <option></option> <option value="PPS">Almere</option> <option value="SAT">Baarn</option> <option value="BSM">Bussum</option> <option value="DFT">Delft</option> <option value="KVK">Den Haag</option> <option value="LEI">Leiden</option> <option value="VOL">Purmerend</option> <option value="IJM">Velserbroek</option> <option value="WBW">Wenckebachweg, A'dam</option> <option value="WDZ">W.de Zwijgerlaan, A'dam</option> <option value="ZS">Zaandam</option> <option value="ZP">Zeeburgerpad, A'dam</option> <option value="COR">Zwaag</option> </select> *</td> </tr> <tr> <td width="200" valign="top" bgcolor="#F5F8FF"><div align="right">Onderwerp:</div></td> <td valign="top"> <input name="onderwerp" type="text" maxlength="50" value="Digitale Vestiging"> </td> </tr> <tr> <td width="200" valign="top" bgcolor="#F5F8FF"><div align="right">Reactie:</div></td> <td valign="top"><textarea name="reactie" cols="30" rows="5"></textarea></td> </tr> <tr> <td width="200"> </td> <td><input type="submit" name="submit" value="verstuur"></td> </tr> </table> </form><br /> <? } else { ?> <blockquote>Hartelijk dank voor uw reactie.<br />Uw email zal zo spoedig mogelijk in behandeling worden genomen.</blockquote> <br /><br /> <? } ?> </td> </tr> <tr> <td height="7"><img src="gfx/bg-table-breed.png" width="630" height="7" /></td> </tr> </table></td> </tr> </table> <!-- contentblok1 --> <br /> <!-- contentblok2 --> <?php include("inc/content2.php"); ?> <!-- contentblok2 --> <br /> </td> </tr> <tr> <td height="5" background="gfx/line.gif"><img src="gfx/transparant.gif" width="1" height="1" /></td> </tr> <tr> <td height="50" bgcolor="#72C2FF"><?php include("inc/footer.php"); ?></td> </tr> </table> </body> </html> |
Los van echte code, wat is volgens jou de logische flow waarop dat zou moeten werken? User verstuurt formulier, en dan?quote:Op donderdag 19 februari 2009 12:01 schreef DeTolk het volgende:
Nu vraag ik mij af hoe dit te realiseren is.
quote:Op donderdag 19 februari 2009 13:22 schreef Roy_T het volgende:
[..]
Los van echte code, wat is volgens jou de logische flow waarop dat zou moeten werken? User verstuurt formulier, en dan?
We kunnen hier wel meteen code neerplempen, maar je leert er denk ik meer van door eerst zelf te bedenken (desnoods in pseudo code) hoe de flow in elkaar zit.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $to = null; switch ($_POST['VST']) { case 'BSM': $to = 'bussum@xxxx.nl'; break; case 'DFT': $to = 'delft@xxxx.nl'; break; } if ($to) { mail($to, etc etc etc); } ?> |
quote:Op donderdag 19 februari 2009 11:14 schreef tankertuig het volgende:
Uit een rss feed haal ik deze informatie: code (0123456789)
Het nummer wil ik in mijn database stoppen... kan ff niet meer vinden hoe ik alleen het nummer hieruit haal om wat mee te doen :S Kan iemand me even helpen?
1 2 3 4 5 | if (preg_match("/(\d+)/", $string, $matches)) { print $matches[1]; # dit is het nummer wat je wilt.. } ?> |
Of je maakt een hash aan:quote:Op donderdag 19 februari 2009 14:35 schreef Roy_T het volgende:
Klinkt goed :) Bij deze is je code voor 75% klaar. Nu alleen het kloppen nog :)
[ code verwijderd ]
Kun je hier iets mee?
1 2 3 4 5 | $locatie2mail = array("locatie1" => 'email@locatie1.domain.nl', "locatie2" => 'email@locatie2.domain.nl'); $to_mail = $locatie2mail[$_POST[vestiging]]; ?> |
array_key_exists() geeft ook true als de key bestaat en de bijbehorende value null is. Kan handig zijn, lijkt me hier niet het geval. null is namelijk geen geldig mailadresquote:Op donderdag 19 februari 2009 19:04 schreef slacker_nl het volgende:
nee, array_key_exists oid moet je daarvoor gebruiken.
Deze dus
http://nl3.php.net/manual/en/function.array-key-exists.php
1 2 3 4 | { // mail verzenden } |
1 2 3 4 5 | SELECT o.id, o.naam, o.adres, ..., o.land FROM orders as o ORDER BY o.id DESC LIMIT x |
Je moet nietsquote:Op donderdag 19 februari 2009 19:04 schreef slacker_nl het volgende:
nee, array_key_exists oid moet je daarvoor gebruiken.
Deze dus
http://nl3.php.net/manual/en/function.array-key-exists.php
Het lijkt me dat je in dit geval een hash hebt die overeenkomt met de values die je in je selectiebox hebt zitten voor de locatie. En dus, als je een locatie toevoegt dat je hash ook gevuld is met die locatie.. Maar goed, je zou array_key_exists icm met isset of isempty kunnen gebruiken als je wilt.quote:Op donderdag 19 februari 2009 19:38 schreef Light het volgende:
[..]
array_key_exists() geeft ook true als de key bestaat en de bijbehorende value null is. Kan handig zijn, lijkt me hier niet het geval. null is namelijk geen geldig mailadresOverigens zou ik !empty() adviseren. Dan worden dingen als lege strings ook niet meer geaccepteerd. Of er snelheidsverschil is, weet ik niet.
Ik gebruik array_key_exists liever om te checken of een key bestaatquote:Op donderdag 19 februari 2009 21:21 schreef Roy_T het volgende:
[..]
Je moet niets
Veel te lang om te typen, terwijl isset() ook werkt en gewoon zo gebruikt mag worden volgens de docs
Hoe bedoel je? Als je een $array = array('key1' => 'value1') hebt, dan zal isset($array['key1']) true geven, en isset($array['key2']) false. Lijkt me toch een duidelijke check om te zien of een key bestaat?quote:Op donderdag 19 februari 2009 21:40 schreef slacker_nl het volgende:
[..]
Ik gebruik array_key_exists liever om te checken of een key bestaat, isset zegt daar vrij weinig over.
Uit de documentatie:quote:Op donderdag 19 februari 2009 21:53 schreef Roy_T het volgende:
[..]
Hoe bedoel je? Als je een $array = array('key1' => 'value1') hebt, dan zal isset($array['key1']) true geven, en isset($array['key2']) false. Lijkt me toch een duidelijke check om te zien of een key bestaat?
In diezelfde documentatie staat in de opmerkingen van gebruikers echter dat isset zo'n 5 keer sneller is op Windows (1,5 maal op Linux en Mac OS) in vergelijking met array_key_exists. Als NULL dus voor kan komen als value moet je array_key_exists gebruiken, anders is isset een snellere optie. Maar voor de netheid is array_key_exists de beste keuze.quote:isset() does not return TRUE for array keys that correspond to a NULL value, while array_key_exists() does.
quote:Op donderdag 19 februari 2009 21:53 schreef Roy_T het volgende:
[..]
Hoe bedoel je? Als je een $array = array('key1' => 'value1') hebt, dan zal isset($array['key1']) true geven, en isset($array['key2']) false. Lijkt me toch een duidelijke check om te zien of een key bestaat?
1 2 3 4 5 6 7 8 | $array = array("hello" => "world", "how" => "are", "you" => null); $k = 'test'; print "value :" . $array[$k] . "\n"; print "isset :" . isset($array[$k]) . "\n"; print "array_key :" . array_key_exists($k, $array) . "\n"; ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |