Ik heb ergens een script gevonden maar het draait helaas niet. ik heb er zelf geen verstand van. Wie kan me helpen


<?php
//mail formulier voor bijlage
$email ='******';
//geneer boundary
DEFINE('bound',md5(uniqid(time())));
//check request method


if($_SERVER['REQUEST_METHOD'] == 'POST')
if($from == "" || $email == "" || $subject == "" || $file == "" || $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
{
//if file upload send with email as mixed
if(!empty($_FILES['file']['name']))
{
//check filesize
if($_FILES['file']['size'] < 1024*1024)
{
$headers = "From: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "Reply-To: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
//email bestaat uit meerdere bestanden dus vertel wat de scheidings teken is en dat het een multipart is
$headers .= "Content-Type: multipart/mixed; boundary=\"".bound."\"\r\n";
//we zenden een attachment mee
$headers .= "Content-Disposition: attachment\r\n";
//readfile
$fp = fopen($_FILES['file']['tmp_name'],'r');
$bestand = fread($fp,$_FILES['file']['size']);
fclose($fp);
//create body
//generenen een body. Dit is een multi part gezeik
$body.= "This is a multi-part message in MIME format.\r\n";
$body.= "\r\n";
//boundary
$body.= "--".bound."\r\n";
//content type + charater set (iso in dit geval)
$body.= "Content-Type: text/plain; charset=iso-8859-1\r\n";
//codering (7 bit)
$body.= "Content-Transfer-Encoding: 7bit\r\n";
$body.= "\r\n";
//het bericht
$body.= $_POST['bericht'] ."\r\n";
//boundary
$body.= "--".bound."\r\n";
//content type + naam bestand (database.sql)
$body .= "Content-Type: application/octet-stream; name=".$_FILES['file']['name']."\r\n";
//codering
$body .= "Content-Transfer-Encoding: base64\r\n";
//als bijlage toegevoegd
$body.= "Content-disposition: attachment\r\n";
$body .= "\n";
//de inhoud van het bestand
$body .= chunk_split(base64_encode($bestand )) . "\r\n";
mail($email,$_POST['subject'],$body,$headers);
echo 'Email (Met een bijlage) is verzonden';
}
else
{
echo 'Bestands groote is te groot';
}
}
else
{
$headers = "From: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "Reply-To: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$bericht = $_POST['bericht'];
mail($email,$_POST['subject'],$bericht,$headers);
echo 'Email (Zonder een bijlage) is verzonden';
}
}
else
{
//mail formulier je moet zelf het fomullier maken

echo "<form action=\"" . $_SERVER['PHP_SELF'] . "\" method=\"POST\" enctype=\"multipart/form-data\">";
echo "Naam: <input type='text' name='from'><br>";
echo "Email:<input type='text' name='email'><br>";
echo "Onderwerp:<input type='text' name='subject'><br>";
echo "Bestand:<input type='file' name='file'><br>";
echo "Bericht:<textarea name='bericht'></textarea><br />";
echo "<input type=\"submit\" value=\"Verzenden\">";
}
?>
Aan het eind van regel 9 ontbreekt {

En aan het eind van het script ontbreekt de afsluitende }
Ik raad je aan om je mailadres weg te halen.
Blijkbaar wel een verouderd script.
De tags font en center zijn verouderd in html5

Kijk ook eens naar uw spelling
E-mail en grootte i.p.v. email en groote
Bestandsgrootte is 1 woord.
Hoofdletter na een haakje?
Punt na een zin.
Ik raad aan om mail(....) in een if-else te gieten. Want nu ga je ervan uit dat het altijd lukt, terwijl mail() ook kan falen.
Beste PHP luitjes,

Op de eerste plaats bedankt voor jullie inzet en raad.
Nu ik ging kijken zag ik het ook dat de Nederlanse taal in het script te wensen overlaat. Zoals ik al had aangegeven, heb ik het scirpt enkele jaren geleden ergens gedownload, maar omdat het niet werkte heb ik het ergens geparkeerd. Ik denk dat ik dan toch maar ergens anders iets moet gaan zoeken wat wel werkt, omdat ik er geen verstand van heb. Luitjes, nogmaals bedankt.
Geachte heer Coolen,

Dank voor uw inzendingen.
Neemt u alstublieft contact op met het dichtstbijzijnde internetbureau in uw omgeving.
Daar is de vereiste kennis en tijd aanwezig om genoemde functionaliteit werkend te krijgen.
U kunt daar meteen advies krijgen over het versturen van (bulk) e-mail.

Met vriendelijke groet,
Ad
Ton, had je nog naar de uitleg van Adoptive Solution gekeken?
Beste luitjes,

Op de eerste plaats iedereen bedankt voor de inzet en goede raad. Wat ik al eerder aangegeven heb in voorgaande berichten is dat ik totaal geen verstand heb van het programmeren in welke scripttaal dan ook. Ik was er vanuit gegaan dat één van jullie het script wel draaiende zou krijgen. Helaas was het dus een illusie. Maar ik heb daar vrede mee. Ik ben 74 jaar en heb geen interesse meer om me echt in die programmeertechnieken te verdiepen. Dus lieve mensen, nogmaals bedankt allemaal, en ik laat het hierbij. Ik zou wel graag van iemamd horen hoe ik nu deze topic moet sluiten.
Ieder zijn mening en besluit, maar dit is opsich geen rocket-science:

Adoptive Solution op 14/07/2023 17:01:53

Aan het eind van regel 9 ontbreekt {

En aan het eind van het script ontbreekt de afsluitende }


Misschien dat het dan wel goed werkt. Dus geef het een kans, en probeer het eens.
Misschien ben je dus al voor 99,99% bij de oplossing i.p.v. op te geven. Hier is geen programmeerkennis voor nodig.

Voor de rest sluiten we geen topics, tenzij ze de huisregels overtreden. Ze zinken vanzelf omlaag.
Kwam er inmiddels achter dat regel 14 (de regex email) ook niet goed is.
Even // ervoor zetten.

Verder geen intentie om de rest uit te vlooien.

Reageren