Onder Linux gaat dat sowieso niet werken aangezien alles daar via het mailprogramma (sendmail, exim, etc) verloopt. Onder Windows kan het zijn dat het adres waarvan de e-mail wordt gestuurd een @home.nl-adres moet zijn, maar of dat zo is weet ik nietquote:Op donderdag 17 november 2005 22:08 schreef mooya het volgende:
Gebruiken meer mensen @Home thuis om PHP mee te testen? Ik krijg de mail functie niet voor elkaar.
Ik heb in mijn php.ini 'mail.home.nl' gezet als SMTP Server, maar php geeft een fout dat hij die niet kan benaderen. En in Outlook werkt het wel.
Dat mag geen issue zijn. Gewoon een kwestie van je mail server goed configureren, zodat de lokale mailserver alles eerst naar de @home mailserver schopt, die het dan verder mag versturen.quote:Op donderdag 17 november 2005 22:40 schreef JeRa het volgende:
[..]
Onder Linux gaat dat sowieso niet werken aangezien alles daar via het mailprogramma (sendmail, exim, etc) verloopt.
Dat is niet zo. Ik kan prima met mijn @fok adres als afzender mailen via de @home mailserver.quote:Onder Windows kan het zijn dat het adres waarvan de e-mail wordt gestuurd een @home.nl-adres moet zijn, maar of dat zo is weet ik niet
Het woordje 'dat' in mijn zin sloeg op het instellen van de SMTP-server in het bestand php.ini, zoals in de quote in mijn bericht staat. PHP draaiend onder Linux slaat die instellingen gewoon over en dat zal dus sowieso niet werken. Verder is het inderdaad een kwestie van goed instellen van je mailserverquote:Op donderdag 17 november 2005 22:52 schreef Light het volgende:
[..]
Dat mag geen issue zijn. Gewoon een kwestie van je mail server goed configureren, zodat de lokale mailserver alles eerst naar de @home mailserver schopt, die het dan verder mag versturen.
Dat is wel vreemd ja. Blijft hij op 'Connecting to etc...' staan?quote:Op donderdag 17 november 2005 23:17 schreef mooya het volgende:
Ik heb dit ingesteld:
[mail function]
; For Win32 only.
SMTP = mail.home.nl; for Win32 only
smtp_port = 25
sendmail_from= ikke@home.nl ; for Win32 only
Mar normaal zou telnet mail.home.nl 25 toch ook een reactie op moeten leveren? dat gebeurt nu ook niet..
Poort 21 is meestal FTP, geen SMTP. Voor uitgaande connecties heb je geen forward nodig, dat is meestal voor binnengaande connecties. Aangezien hij wel mail kan versturen met Outlook neem ik aan dat dat prima werkt, maar het blijft vreemd dat hij niet kan verbinden met mail.home.nl op poort 25quote:Op donderdag 17 november 2005 23:27 schreef Chandler het volgende:
heb je je pc direct op je modem of via een router? dan moet je eerst poortje 21 forwarden volgens mij maaruh bij mij werkte het perfect moet ik zeggen... alleen nu komt mijn mail van mijn alphaxs niet aan bij alle .home adressen
Ik geloof dat hij al had gezegd dat PHP een foutmelding gaf; namelijk dat hij niet met de SMTP-server kon verbinden. Standaard wordt het onder Windows niet in logfiles gestopt voor zover ik weet.quote:het zou echt moeten werken maar heeft hij al in zijn logfiles gekeken?
Dat heeft hij ook al gedaan, en dat lukt niet. Hij kan geen verbinding krijgen op poort 25 van de SMTP-server.quote:anders moet ie eff kijken wat er gebeurd als hij met telnet naar de smtp server connect..
kijken of hij dan iets terug krijgt?
Het ligt aan het feit dat ie niet kan verbinden met mail.home.nlquote:Op vrijdag 18 november 2005 08:32 schreef Chandler het volgende:
waar zou het dan nog aan kunnen liggen? kwan me heel weinig iets bij voorstellen
Laat hij alleen de records zien met een 03, in dat veld en dus niet de 01,02,03,. en als ik er % voor en achter zet geeft hij aan dat hij geen records gevonden heeft. zie voorbeeld.quote:SELECT `knsbib`.*
FROM knsbib
WHERE (`knsbib`.`BOUW_SYS`='03,')
Wie kan mij vertellen wat ik verkeert doequote:SELECT `knsbib`.*
FROM knsbib
WHERE (`knsbib`.`BOUW_SYS`='^%03,%')
Heb je het nu over allow_url_fopen? Dat heeft verder weinig te maken met de SMTP-instelling in php.ini of hoe PHP die afhandelt, dus dat lijkt me onwaarschijnlijkquote:Op vrijdag 18 november 2005 12:22 schreef cyberstalker het volgende:
Zou dat niet iets met url_fopen in php.ini kunnen zijn?
Ik weet het nie precies, maar als je die instelling uit hebt staan, kun je heel veel dingen niet. Sockets openen lukt bijvoorbeeld ook niet.quote:Op vrijdag 18 november 2005 13:57 schreef JeRa het volgende:
[..]
Heb je het nu over allow_url_fopen? Dat heeft verder weinig te maken met de SMTP-instelling in php.ini of hoe PHP die afhandelt, dus dat lijkt me onwaarschijnlijk
Was ff aan het werk vandaag, vandaar de late reactie.quote:Op vrijdag 18 november 2005 13:57 schreef JeRa het volgende:
[..]
Heb je het nu over allow_url_fopen? Dat heeft verder weinig te maken met de SMTP-instelling in php.ini of hoe PHP die afhandelt, dus dat lijkt me onwaarschijnlijk
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $email_from = "Info" ; $returnpath_mail = "test@home.nl"; $email1 = "test@zonnet.nl"; $onderwerp = "Onderwerp"; $msg = "<html>\n"; $msg.= "<head>\n"; $msg.= "<META http-equiv=Content-Type content='html; charset=iso-8859-1'>\n"; $msg.= "</head>\n\n"; $msg .= "Hallo\n"; $msg .= "</body></html>"; $header = "From: $email_from<$returnpath_mail>\nReturn-path: $returnpath_mail\nContent-Type: text/html; charset=iso-8859-1"; mail($email1,$onderwerp,$msg, $header); ?> |
Maar mail() wordt afgehandeld door PHP zelf, en het lijkt me sterk dat PHP tegen z'n eigen beveiligingen aanlooptquote:Op vrijdag 18 november 2005 14:10 schreef cyberstalker het volgende:
[..]
Ik weet het nie precies, maar als je die instelling uit hebt staan, kun je heel veel dingen niet. Sockets openen lukt bijvoorbeeld ook niet.
Wat hij zegtquote:Op vrijdag 18 november 2005 16:35 schreef cyberstalker het volgende:
En als je er mail.mars.home.nl van maakt?
Heb je geupgrade naar de laatste versie van phpBB? Heb je beheer over die MySQL server of heb je 'm op een server staan die niet van jou is? De foutmelding slaat meestal op een pakket dat naar MySQL is verzonden en groter is dan de limiet die ingesteld is in MySQL. Dit duidt dus op een defecte zoekquery (phpBB) of een veel te lage limiet (MySQL).quote:Op vrijdag 18 november 2005 15:14 schreef Jojo_ut_Grun het volgende:
ik kreeg laat op mij eigen forumje (phpbb plus mysql)
...
SQL Error : 1153 Got a packet bigger than 'max_allowed_packet'
...
die foutmelding kreeg ik dan als ik gebruik wou maken van de zoek functie
Ik blijf het knap vinden dat Outlook Express kan connecten met mail.home.nl:25 en jij met telnet niet. Als we er nou eens achter konden komen waaróm nietquote:Op vrijdag 18 november 2005 17:45 schreef mooya het volgende:
werkt ook niet..
had ik ook al geprobeerd,
en outlook is normaal ingesteld zonder authenticatie
Ik snap er ook niks vanquote:Op vrijdag 18 november 2005 17:47 schreef JeRa het volgende:
[..]
Ik blijf het knap vinden dat Outlook Express kan connecten met mail.home.nl:25 en jij met telnet niet. Als we er nou eens achter konden komen waaróm nietOutlook Express gaat niet via een proxy?
ik heb de laatste versie van phpbbquote:Op vrijdag 18 november 2005 17:46 schreef JeRa het volgende:
[..]
Heb je geupgrade naar de laatste versie van phpBB? Heb je beheer over die MySQL server of heb je 'm op een server staan die niet van jou is? De foutmelding slaat meestal op een pakket dat naar MySQL is verzonden en groter is dan de limiet die ingesteld is in MySQL. Dit duidt dus op een defecte zoekquery (phpBB) of een veel te lage limiet (MySQL).
edit: een waarschijnlijke fout zou een te grote INSERT kunnen zijn voor de zoekresultaten. Het is namelijk mogelijk om in één query vele waarden tegelijk toe te voegen, dus misschien ligt het daaraan.
Even kort door de bocht (aangezien ik niet het fijne van phpBB weet). Ik weet dat phpBB de zoekresultaten tijdelijk opslaat in een tabel om vervolgens te tonen aan de gebruiker (zodat die de resultaten kan sorteren zonder dat alles opnieuw afgezocht moet worden). Als je nu een query uitvoert waarbij een hoop resultaten zijn, genereert phpBB een veel langere INSERT-query en dan krijg je die foutmeldingquote:Op vrijdag 18 november 2005 21:59 schreef Jojo_ut_Grun het volgende:
[..]
ik heb de laatste versie van phpbb
de mysql database staat op de server van mijn hosting bedrijf
het probleem lijkt dus opgelost door de mysql , het hosting bedrijf heeft de
my.cnf geedit.
maar mijn vraag is meer.. ho ehet kan dat een forum heel lang zonder problemen loopt
en dan plots de zoekfunctie niet meer wil, je die foutmelding krijgt
zou de database te groot worden
1 2 | WHERE id IN (1,3,9,4,25) |
Top, dan moet ik alleen weer kijken hoe ik de values bij de juiste ID krijg, maar dat moet lukkenquote:Op zaterdag 19 november 2005 12:36 schreef Light het volgende:
Met een query als
[ code verwijderd ]
kun je verschillende ID's gelijktijdig opgeven. Je zult alleen met implode je array met id's moeten omzetten naar zo'n komma-gescheiden string.
1 2 3 4 5 6 7 8 9 10 11 | $sqlArray=array(); foreach ($winkelwagen as $productId => $productAantal) { array_push($sqlArray, $productId); } $productQuery=implode(' OR product_id=', $sqlArray); $query="SELECT whatever FROM products WHERE (product_id={$productQuery});" ?> |
Slim, met een array_push een nieuwe array maken.quote:Op zaterdag 19 november 2005 12:38 schreef cyberstalker het volgende:
Je kunt dan toch gewoon gebruik maken van een sql-statement met een OR erin?
[ code verwijderd ]
Untested, uiteraard, je begrijpt het idee wel waarschijnlijk.
1 2 3 4 5 6 7 8 | $sqlArray=array(); foreach ($winkelwagen as $productId => $productAantal) { $sqlArray[] = $productId; } ?> |
Wat is daarvan precies het voordeel? Voor zover mij bekend is een array_push sneller dan toewijzen zonder key.quote:Op zaterdag 19 november 2005 12:54 schreef Light het volgende:
[ code verwijderd ]
Zelfde resultaat, en je gebruikt geen functies.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | session_start(); $sqlArray=array(); foreach($_SESSION['cart'] as $productId => $number){ array_push($sqlArray, $productId); $total=$total+$number; } $productQuery=implode(' || product_id=', $sqlArray); $query="SELECT * FROM produkten WHERE product_id=".$productQuery; $result=mysql_query($query); while($row=mysql_fetch_assoc($result)){ echo $row['articelcode'].' '.$row['name'].' aantal: '.$_SESSION['cart'][$row['product_id']].'<br />'; } ?> |
Ik was de juiste operator even kwijtquote:Op zaterdag 19 november 2005 13:23 schreef cyberstalker het volgende:
Twee dingetjes:Die regel met $total kun je ook schrijven als $total+=$number; .
Scheelt natuurlijk een implode. Even rommelen.quote:De IN operator werkt inderdaad ook prima, en is hier eigenlijk logischer.
1 2 3 4 5 6 7 8 9 10 | session_start(); $total = array_sum($_SESSION['cart']); $productIDs = array_keys($_SESSION['cart']); $query = "SELECT * FROM produkten WHERE product_id IN (" . implode(', ', $productIDs) . ")"; $result = mysql_query($query); while($row = mysql_fetch_assoc($result)){ echo $row['articelcode'].' '.$row['name'].' aantal: '.$_SESSION['cart'][$row['product_id']].'<br />'; } ?> |
ALTIJD is jouw code mooier dan wat ik verzinquote:Op zaterdag 19 november 2005 13:25 schreef SuperRembo het volgende:
Array_sum en array_keys kan je ook gebruiken. En idd IN zoals cyberstalker zegt, dat is sneller dan een serie OR's.
[ code verwijderd ]
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |