email versturen (PHP)

  • Onderwerp starter Onderwerp starter York
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

York

Terugkerende gebruiker
Lid geworden
24 nov 2001
Berichten
1.289
Hallo allemaal,

Volgende probleem treed bij steeds op als ik dit probeer te maken, het zou heel simpel moeten zijn maar toch kom ik er weer is niet uit. Zo'n script dat iemand z'n email adres kan invullen en vervolgens word het ingevulde e-mail adres verstuurd naar mij.

Zou iemand hier zo'n scriptje willen plaatsen?

Greetzz York
 
File not found :(

Greetzz York
 
Aha op die manier, Thnx voor de hulp :)

Greetzz York
 
Eh, dus je wil dat die email die ingevuld wordt naar jou verstuurt wordt via een email?

Zo ja:

PHP:
<?
$jouw_email_adres='tuvai@tuvai.com';
if(!$actie){

$content="<table width=300 align=center><tr><td align=center><form action=$PHP_SELF><input type=hidden name=actie value=verzend>Vul hier je email adres in:<br><input type=text name=email size=30><br><br><input type=submit value=Verzend></form></td></tr></table>";

}else{

mail($jouw_email_adres,"Opgegeven emailadres","Iemand heeft een emailadres opgegeven:\r\n$email","FROM:Emailtjes eter <$jouw_email_adres>");

$content="<center><br>De email is verzonden.<br><a href=$PHP_SELF>Nog een adres opgeven?</a></center>";

}

echo $content;

?>
 
Laatst bewerkt:
tuvai, ff een verbetering van jouw code...
PHP:
<?
$jouw_email_adres='tuvai@tuvai.com';
if(empty($_POST)) // if(!$actie) is natuurlijk niks
{
$content = ("<table width=300 align=center><tr><td align=center><form action=" . $_SERVER["PHP_SELF"] . " method=\"post\"><input type=hidden name=actie value=verzend>Vul hier je email adres in:<br><input type=text name=email size=30><br><br><input type=submit value=Verzend></form></td></tr></table>");
// scheidingstekens ingevoegd tussen pure output en variabelen
// $_SERVER["PHP_SELF"], niet $PHP_SELF...
// form verstuur methode aangegeven
}
else
{
mail($jouw_email_adres,"Opgegeven emailadres","Iemand heeft een emailadres opgegeven:\r\n" . $_POST["email"],"FROM:Emailtjes eter <" . $jouw_email_adres . ">");

$content=("<center><br>De email is verzonden.<br><a href=" . $_SERVER["PHP_SELF"] . ">Nog een adres opgeven?</a></center>");
}

echo $content;
// en een ietwat betere ordening
?>
succes
 
Laatst bewerkt:
JP:

- $_post, $_get en $_SERVER vars zijn overbodig.

- form method=post is volledig overbodig in een form tenzij je de URI string wil verbegen tijdens de actie en/of de post data groot is; 't gaat hier om 't submitten van een enkel email adresje.

- scheidingstekens tussen output en simpele vars zijn volledig overbodig wanneer ze ge-output worden met echo(""); (daarvoor immers aanhalingstekens in plaats van apostrophes) en maken de code alleen langer.

- aanhalingstekens voor HTML parameters zijn overbodig. Tenzij de definitie van de parameter uit meerdere woorden bestaan en spaties bevat, zoals bijvoorbeeld <img alt='meerdere woorden'> en <table style='border:1px solid #000000'>.

- met de if(!$actie){}else{} structuur is niets mis, noch is jouw methode een verbetering maar enkel een andere manier van doen.

Je hebt de code alleen langer en onduidelijker gemaakt met die 'corrigatie'. Ik werk altijd zoals in m'n voorbeeldje hierboven en het werkt altijd perfect; dat is al langer dan 4 jaar zo.

Met vriendelijke groet,

Leroy Gerrits
 
Laatst bewerkt:
- $_post, $_get en $_SERVER vars zijn overbodig.
> fout, probeer maar eens een tekstveld met de naam "tekst" en dan ook een variabele "tekst" te gebruiken, dit mengt niet !
wanneer je server autoglobals uit heeft staan, en jij hebt je hele script vol met dit soort onbenullige variabele aanduidingen, dan krijg je de ene melding na de ander
lees maar eens wat meer documentatie op www.php.net

- form method=post is volledig overbodig in een form tenzij je de URI string wil verbegen tijdens de actie en/of de post data groot is; 't gaat hier om 't submitten van een enkel email adresje.
> form method=post is helemaal niet overbodig, wanneer je de method weglaat, krijg je alles in $_GET
of het om 1 enkel email adresje gaat of niet maakt niet uit...

- scheidingstekens tussen output en simpele vars zijn volledig overbodig wanneer ze ge-output worden met echo(""); (daarvoor immers aanhalingstekens in plaats van apostrophes) en maken de code alleen langer.
> is helemaal niet overbodig :confused: ongelofelijk dat je tot nu toe op deze manier hebt gescript, dat is echt ongelofelijk stom :confused:

- aanhalingstekens voor HTML parameters zijn overbodig. Tenzij de definitie van de parameter uit meerdere woorden bestaan en spaties bevat, zoals bijvoorbeeld <img alt='meerdere woorden'> en <table style='border:1px solid #000000'>.
> klopt, maar dat is gewoon de manier waarop je liever script

- met de if(!$actie){}else{} structuur is niets mis, noch is jouw methode een verbetering maar enkel een andere manier van doen.
> whahaha :D niets mis :D
blijf jij maar lekker zo scripten jongen, zo kom je d'r wel :thumb::D
 
Geplaatst door JPeetje
blijf jij maar lekker zo scripten jongen, zo kom je d'r wel :thumb::D
Zucht, wéér een over-trotse puber.

Als je mijn methodes zo 'fout' vind dan neem maar eens een kijkje op http://www.tuvai.com en in de source van m'n forum dat je kan downloaden van de site, en je zult zien dat alles perfect werkt. Ondanks het feit dat ik dus nooit scheidingstekens gebruik, sommige forms hun post method niet geef, geen $_get/$_post/$_server vars gebruik en de if(!$action){}else{} methode regelmatig gebruik, wat dus volgens jou zo overdreven fout is.

Ook wat het email scriptje hierboven betreft, heb je ze niet eens allebei in een php bestand gezet en uitgetest? Ze werken precies hetzelfde, alleen is die van mij niet vol met overbodige vars en dus een veel groter en onduidelijker php bestand.

Wat het scripten betreft, ben er maar niet té trots op; op mijn site werkt alles (en niet te vergeten, die andere die ik allemaal gemaakt heb), die van jou is ongelooflijk incompleet.

Nou, voordat je weer een post gaat plaatsen over hoe 'slecht ik wel niet ben', zet onze scriptjes van hierboven allebei maar eens in testbestandjes en test ze uit, dan kun je zien hoe 'foutief' die van mij wel niet werkt in tegenstelling tot jouw scriptje die 'veel beter als die van mij is'. :thumb:
 
Laatst bewerkt:
Geplaatst door Tuvai
Zucht, wéér een over-trotse puber.
Dit soort opmerkingen maakt je zelf niet opeens een stuk volwassener. :rolleyes:

Is het een idee om deze discussie via de mail te gaan voortzetten? De topicstarter heeft hier in ieder geval niets aan.
 
1 laatste berichtje aan Tuvai...
ik heb nooit gezegt dat de manier waarop het script werkt niet hetzelfde is, dat is vast wel het geval
het is alleen wel zo, en ook jij zal dat moeten toegeven, dat wanneer een server autoglobals & superglobals uitstaan je niet zomaar van $HTTP_POST_VARS["blaat"] kunt vervangen door $blaat
wat jij namelijk nu zegt is
$HTTP_POST_VARS["blaat"] == $_POST["blaat"] == $blaat

$blaat == $_COOKIE["blaat"]
$blaat == $_SESSION["blaat"]
$blaat == $_GET["blaat"]
$blaat == $_POST["blaat"]
$blaat == $_SERVER["blaat"] (bestaat niet, maar je snapt wat ik bedoel)

persoonlijk vind ik dat ongelofelijk dom & onoverzichtelijk scripten, ik weet ook niet waarom mensen zich dat aanleren
verder is het ook zo dat jouw manier van scripten ongelofelijke beveiligingslekken heeft, ik kan zo een formulier op mijn eigen server zetten waarbij ik de action naar jouw server verwijs....hierdoor kan ik van alles in je database zetten + allerlei foutmeldingen oproepen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan