Noob die hulp nodig heeft.

Zoals ik al dacht werkte het script bij mij wel. Ik vermoed dus dat je php instellingen op PHP safe staan. Op zich zeker geen probleem, ik heb vooraan in je code een paar lijntjes toegevoegd en nu werkt het ook in safe mode (reeds getest). Dit is de code: [code:1:964da19e5d]<?php

$submit=$_POST["submit"];
$naam=$_POST["naam"];
$email=$_POST["email"];
$onderwerp=$_POST["onderwerp"];
$bericht=$_POST["bericht"];

// Als er op submit word gedrukt.
if($submit)
{

// Controleren of er al een cookie gezet is of niet.
if(!isset($_COOKIE[post]))
{

// Velden controleren op leegte.
if($naam == "" || $email == "" || $onderwerp == "" || $bericht == "")
{
echo "<center><small><font face="Arial">Gelieve alle velden correct in te vullen.<br><a href="javascript:history.back(-1)">Probeer het opnieuw</a></font></small></center>";
}
elseif(!eregi("[A-Za-z0-9_-]+([.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([.]{1}[A-Za-z0-9-]+)+", $email))
{
echo "<center><small><font face="Arial">Gelieve een geldig e-mailadres in te vullen.<br><a href="javascript:history.back(-1)">Probeer het opnieuw</a></font></small></center>";
}
else
{
// Formulier versturen.
$jouwemailadres = "jalkepeters@home.nl"; // Vul hier jouw e-mail in!!
$datum = date("d-m-Y H:i");
$ip = $_SERVER[REMOTE_ADDR];

$ontvanger = $jouwemailadres;
$onderwerp = "Contact : $onderwerp";
$verzender = "From: $naam <$email>";
$inhoud = "Beste webmaster,nnOp $datum heeft $naam via je website het volgende bericht voor je achtergelaten :nn$berichtnn---------------------------------------------------------------------nDe IP van $naam = $ip";
mail($ontvanger, $onderwerp, $inhoud, $verzender);

// Cookie post zetten.
setcookie(post, "je hebt een bericht verzonden", time()+300);

echo "<center><small><font face="Arial">Uw bericht is succesvol verstuurd aan de webmaster.<br>U zult binnen 24 uur antwoord krijgen van een van onze medewerkers.</font></small></center>";
}

}
else
{
echo "<center><small><font face="Arial" color="#004080">U heeft zojuist al een bericht geplaatst,<br>over een aantal minuten kunt weer een bericht versturen.</font></small></center>";
}

}
else
{

// Het formulier.
?>
<center>
<form action="contact.php" method="POST">
<table border="0" width="500" cellspacing="0" cellpadding="0">
<tr>
<td width="100%"><strong><small><font face="Arial">Contactformulier</font></small></strong></td>
</tr>
<tr>
<td width="100%"><small>&nbsp; </small></td>
</tr>
<tr>
<td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td width="100%" colspan="2"><hr align="left" color="#C0C0C0" width="90%" noshade size="1">
</td>
</tr>
<tr>
<td width="38%"><small><font face="Arial">Naam :</font></small></td>
<td width="62%"><input type="text" name="naam" size="29"></td>
</tr>
<tr>
<td width="38%"><small><font face="Arial">E-mailadres :</font></small></td>
<td width="62%"><input type="text" name="email" size="29"></td>
</tr>
<tr>
<td width="38%"><small><font face="Arial">Onderwerp :</font></small></td>
<td width="62%"><select name="onderwerp" size="1">
<option selected>Maak een keuze</option>
<option value="Vraag">Vraag</option>
<option value="Opmerking">Opmerking</option>
<option value="Idee">Idee</option>
<option value="Klacht">Klacht</option>
</select></td>
</tr>
<tr>
<td width="100%" valign="top" colspan="2"><hr align="left" color="#C0C0C0" width="90%"
noshade size="1">
</td>
</tr>
<tr>
<td width="100%" valign="top" colspan="2"><small><font face="Arial">Bericht :</font></small></td>
</tr>
<tr>
<td width="100%" valign="top" colspan="2"><textarea rows="6" name="bericht" cols="52"></textarea></td>
</tr>
<tr>
<td width="100%" valign="top" colspan="2"><small><small><small><small><small><small><small>
&nbsp;&nbsp;&nbsp; </small></small></small></small></small></small></small></td>
</tr>
<tr>
<td width="100%" valign="top" colspan="2"><input type="submit" value="Versturen"
name="submit"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</center>
<?php } ?>[/code:1:964da19e5d]

Ah ok super! Volgens mij werkt het al duurt het wel lang voordat de mail er is 15min geleden gestuurd en is er nog niet. Maar cool dat je hem gemaakt hebt!! Bedankt!

Ps: Dat vage mailtje kwam dus van joun test :p?

blij dat te horen! Het feit dat het een eindje duurt kan liggen aan je smtp server. De mail functie maakt automatisch gebruik van je eigen smtp server. Als die niet goed ingesteld is dan heb je een probleem en gaat de mail nooit toekomen.

Ik zou dus even kijken of je in de code rechtstreeks een andere mailserver kan opgeven (de smtp server die je ook gebruikt in je e-mailclient). Als je dat doet dan gaat het wel lukken.

En het dsjkfl dsfksqdjklf dskllfjsmd mailtje was idd van mij :lol:

Ok dat laatste snap ik niet ik ontavng dus niet de mails bedoel je dan dat ik dit stukje moet veranderen:

// Formulier versturen.
$jouwemailadres = “jalkepeters@home.nl”; // Vul hier jouw e-mail in!!
$datum = date(“d-m-Y H:i”);
$ip = $_SERVER[REMOTE_ADDR];

En dan die laatste regel aanpassen? Zoja, mail.home.nl zo staat het in entourage ingesteld. Dat is dus de server voor binnekomende post. Maar wanneer ik dat daar neerzet doet alles het niet meer. (Vast heel logisch)

Die ip heeft er totaal niets mee te maken.

Hoe doe je het dan wel?
Wel voor dit alles moet ik eigenlijk iets vertellen over computer netwerken en in het bijzonder het vesturen van mails.
Om e-mails te versturen moet je die eigenlijk sturen naar een server (een SMTP) server die alles verder zal afhandelen (en zal zorgen dat de e-mails goed terechtkomen). Dit is een e-mail client voor UITGAANDE post, niet voor inkomende post.

Nu hoe werkt de mail functie in php? Die gaat eigenlijk op zoek naar de sendmail applicatie en verstuurt aan de hand daarvan je e-mails. Het probleem is nu dat de mail functie ervan uitgaat dat je SMTP server op je eigen computer draait. Dit is echter niet zo en dat moeten we nu oplossen.

De beste oplossing (er zijn anderen zoals het installeren van een smtp server maar das nog ingewikkelder dan deze) is in je php instellingen de juiste smtp server definiëren.
Daarvoor moet je die dus eerst kennen (op te zoeken in je e-mailclient).

Vervolgens zet je gewoon vooraan in je code ini.set(“SMTP”,“je smtp server”);

En dat zou het moeten doen[/list]

En die php instellingen is hetzelfe gebeuren als toen we php gingen aanzetten ofzo?

(Snap niet waar je bedoelt waar ik die instellingen goed moet zetten)(En snap ook niet helemaal welke instellingen ik nou allemaal moet hebben van mijn mail)

:oops: Sorry

Geen probleem, ik heb het waarschijnlijk ook een beetje snel snel willen uitleggen.

In principe zou je moeten beginnen klooien aan een paar configuratiescripts (in het bijzonder php.ini) om je SMTP server goed te zetten. Echter het is makkelijker om gewoonweg in je code als aller eerste lijn van je php code een oproep te doen naar de ini.set functie. Die zal de instellingen aanpassen en dat is iets makkelijker.

Nu moet je dus gewoon nog je SMTP server vinden. Zoek even in eudora naar de server voor UITGAANDE post, dat is je SMTP server.

Vervolgens typ je gewoon als allereerste lijn in je php code:
ini.set(“SMTP”,“je smtp server”);

EDIT: blijkbaar is mail.home.nl een smtp server dus heb je hem eigenlijk al gegeven (maar je zei dat dat de server was voor inkomend post). Enfin, wat je dus gewoon moet zetten is:
ini.set(“SMTP”,“mail.home.nl”);

Als ik dat zo letterlijk doe als jij zegt krijg ik een fout waardoor hij het dus niet meer doet (HET hele script) Ik heb dit helemaal in het begin gezet.

ini.set(“SMTP”,“mail.home.nl”);

helemaal in het begin of net na de <? ??

Na <?php als je er boven doet doet hij het wel maar staat het boven aan de pagina en dat kijkt me ook niet de bedoeling.

Dat is inderdaad de juiste plaats. Dan ga je best toch de php.ini files wijzigen. Zoek dus naar de file php.ini (staat in de map waar je php geïnstalleerd hebt).

Open hem en ergens zal er daar het volgende staan

[code:1:cc1a344659]SMTP="localhost"[/code:1:cc1a344659]
Of toch iets erg gelijkaardigs, verander dat in

[code:1:cc1a344659]SMTP="mail.home.nl"[/code:1:cc1a344659]
of opnieuw iets gelijkaardigs :smiley:

Je zal waarschijnlijk je webserver (of computer) moeten rebooten

spotlight vindt hem niet dus moet zeker via console weer?

Mmz, blijkbaar bestaat php.ini niet in OSX maar kun je hem gewoon aanmaken. Voor meer informatie zie [url=http://www.wellho.net/forum/Writing-PHP/Where-is-php-ini-under-Mac-OSX.html]deze website[/url]

Bedoeling is dat je dus via die link zoekt waar je php ini mag zetten en dan gewoon een bestandje maken met SMTP=mail.home.nl in, dat php.ini noemt en op de juiste plaats zet

Je komt alsmaar dichter! Zie je 't nog zitten :wink:

Haha ik zie het nog steeds zitten hoor. Kost wat moeite maar leer er wel het 1 en ander van. En des te beter als het uiteindelijk werkt toch :P Goed zal vandaag is bezig gaan met je link je hoort nog van in deze topic als lukt ja of nee. :roll:

Klinkt vast stom maar snap niet helemaal wat ik nou moet doen :x

Ok, laten we er een stap voor stap lijst van maken. 1. Maak een klein bestandje aan (bv test.php) en zet daar de volgende code in: [code:1:5a176aa16a]<?php

phpinfo(INFO_GENERAL);

?> [/code:1:5a176aa16a]

  1. Laat dat bestandje even draaien en het zal vanalles afprinten in je browser. Ergens zal je daarin de locatie van php.ini vinden.
  2. Maak nu een ander bestand aan, noem het php.ini en zet daarin enkel het volgende

[code:1:5a176aa16a]SMTP=mail.home.nl[/code:1:5a176aa16a]
4. Plaats php.ini in de locatie die je gehaald hebt uit test.php (stap 1 en 2)
5. Herstart de server

Ah das stuk duidelijker. Ik kan het nog even niet proberen want mn mac is erg vaag aan het doen. Moet hem dus even opnieuw installeren enzo. Ik laat wel weer van me horen.

Ok, ik heb het gedaan er stond /etc dus ik heb daar het ini bestand in gezet. Volgens mij werkt het nog niet. Ik heb alleen wel een ander contact form gebruikt die tot mijn verbazing ineens bij RapidWeaver stond (update denk ik) Alleen werkt de site op school alleen lokaal kan dat een reden zijn dat hij het nou nog niet doet? Of moeten we nog meer doen?

EDIT: Ik hoor net dat het zo schijnt te zijn dat @Home dat blokkeert ofzo zelfs als je zelf een webserver hebt ofzo?

Nou ik heb gedaan wat je zei zie screen. Ik heb die gemaakte ini in etc gezet maar het werkt niet denk ik. Zal het ook thuis nog proberen. Maar moet er niet meer in die php.ini staan?

[img:2bb72e04c9]http://img467.imageshack.us/img467/4271/php7dw.jpg[/img:2bb72e04c9]

Sorry terug geen e-mails gekregen (thanks voor de oproep). Ik kan niet echt lezen wat er allemaal staat in je php.ini (afbeelding is te klein), maar als je zover geraakt bent vermoed ik dat het wel in orde zal zijn. Ik begin ook aan het einde van mijn latijn te geraken. Als het effectief zo is dat home.nl die connecties eruit filtert en tegenhoudt dan zit je zo weer vast.

Als alternatief zou ik zeggen: zet je mailserver weer op localhost en installeer iets zoals Postfix Enabler (te vinden via Google). Test wel eens in je mailprogramma of dit uberhaupt werkt door mail.home.nl te vervangen door localhost.
Ik heb dit een para maanden geleden eens bekijken en het deed niet veel bij mij, waarschijnlijk was dat echter gewoon omdat ik één of andere parameter verkeerd had ingesteld