Toon posts:

PHP contactscript, overzicht kwijt!?

Pagina: 1
Acties:
  • 1.372 views

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Tweakers, probleempje met het contact script, ik heb 5 boxes;
-naam
-telefoon
-from
-subject
-body

Probleem is dat niet alle boxes worden gecontroleerd en dat ik niet alle onderwerpen te zien krijg in me mail!
ben er al een tijd mee aan het stoeien maar kom er maar niet uit....

Php script is als volgt;
<?php

$nofrom="U heeft geen e-mail ingevuld";
$nobody="U heeft geen bericht ingevuld.";
$nonaam="U heeft geen naam ingevuld";
$notelefoon="U heeft geen telefoonnummer ingevuld";
$subjectbig="Naam/Telefoonnummer of Ref.nr. is te lang";
$frombig="Het e-mail adres klopt niet";
$invalidfrom="Er is iets fout gegaan, graag alle gegevens invullen";
$bodybig="Het bericht is te lang.";


require("contact_info.php");

function alphanum($string,$allow)
{
$ret = "";
$temp=explode("A",$allow);
for($x = 0; $x < strlen($string); $x++)
{
if ((($string[$x] >= "A") && ($string[$x] <= "Z")) || (($string[$x] >= "a") && ($string[$x] <= "z")) || (($string[$x] >= "0") && ($string[$x] <="9")))
{
$ret .= $string[$x];
}
else
{
$i=0; $count=sizeof($temp);
while ($count--)
{
if ($temp[$i]!="")
{
if (strpos($string[$x],$temp[$i])!==FALSE)
{
$ret .= $string[$x];
$count=0;
}
}
$i++;
}
}
}
return($ret);
}

function do_readfile_string(&$destination,$filename)
{
$destination=file_get_contents($filename);
if ($destination===FALSE) { return(0); } else { return(1); }
}

function do_readfile_array(&$destination,$filename)
{
$destination=file($filename);
if ($destination===FALSE) { return(0); } else { return(1); }
}


function write_file($data,$filename)
{
global $file_path;

$filename=$file_path . $filename;

ignore_user_abort(true);

$ret=0;
if ($fd=fopen($filename,"w"))
{
if (flock($fd,2))
{
fwrite($fd,$data);
flock($fd,3);
$ret=1;
}
fclose($fd);
ignore_user_abort(false);
return($ret);
}
else { ignore_user_abort(false); return(0); }
}

function append_file($data,$filename)
{
global $file_path;

$filename=$file_path . $filename;

ignore_user_abort(true);

$ret=0;
if ($fd=fopen($filename,"a"))
{
if (flock($fd,2))
{
fseek($fd, 0, SEEK_END);
fwrite($fd,$data);
flock($fd,3);
$ret=1;
}
fclose($fd);
ignore_user_abort(false);
return($ret);
}
else { ignore_user_abort(false); return(0); }
}

function showform($errormsg)
{
global $from,$subject,$naam,$telefoon,$body,$filename;

if (do_readfile_string(&$html,$filename))
{
$html=str_replace("<FROM>",$from,$html);
$html=str_replace("<SUBJECT>",$subject,$html);
$html=str_replace("<NAAM>",$subject,$naam,$html);
$html=str_replace("<TELEFOON>",$subject,$telefoon,$html);
$html=str_replace("<BODY2>",$body,$html);
$html=str_replace("<ERROR>",$errormsg,$html);
echo $html;
}
else
{
echo "Can't read $filename";
}
}

function error($errormsg)
{
showform($errormsg . "<P>");
exit;
}

$file_path="";

if (isset($HTTP_POST_VARS['from'])) { $from=stripslashes($HTTP_POST_VARS['from']); } else { $from=""; }
if (isset($HTTP_POST_VARS['subject'])) { $subject=stripslashes($HTTP_POST_VARS['subject']); } else { $subject=""; }
if (isset($HTTP_POST_VARS['naam'])) { $naam=stripslashes($HTTP_POST_VARS['naam']); } else { $naam=""; }
if (isset($HTTP_POST_VARS['telefoon'])) { $telefoon=stripslashes($HTTP_POST_VARS['telefoon']); } else { $telefoon=""; }
if (isset($HTTP_POST_VARS['body'])) { $body=stripslashes($HTTP_POST_VARS['body']); } else { $body=""; }
if (($from=="") && ($subject=="") && ($body=="")) && ($naam=="")) && ($telefoon=="")) { showform(""); exit; }

$from=htmlentities($from);
$naam=htmlentities($naam);
$telefoon=htmlentities($telefoon);
$subject=htmlentities($subject);
$body=htmlentities($body);

$bodybig=str_replace("<SIZE>",sprintf("%01d",$maxbody),$bodybig);
$maxsubject=500;
$maxfrom=100;

$to=$theiremail;

if ($from=="") { error($nofrom); }
if ($naam=="") { error($nonaam); }
if ($telefoon=="") { error($notelefoon); }
if ($body=="") { error($nobody); }
if (strlen($subject)>$maxsubject) { error($subjectbig); }
if (strlen($from)>$maxfrom) { error($frombig); }
if (strlen($body)>$maxbody) { error($bodybig); }

$from2=alphanum($from,'@A.A-A_A');
if ($from2!=$from) { error($invalidfrom); }

mail($to,$subject,$naam,$telefoon,$body,"From: $from\nReply-to: $naam\n");
header("Location: $url\n\n");
?>

Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Bedankt voor de mededeling. Heb je toevallig ook nog een vraag of iets?

Overigens heb ik die hele lap ongestructureerde bagger niet gelezen, daar is niet doorheen te komen met 25 }}}}}}} achter elkaar onder elkaar naast elkaar en door elkaar.

Zet het eens netjes tussen [ code=php ] tags zodat het leesbaar wordt :*.

Acties:
  • 0 Henk 'm!

Verwijderd

Iets zegt me dat je deze code niet zelf geschreven hebt, anders had je wel ook slechts de relevante code kunnen plaatsen. Neem even contact op met de maker van het script, die kan je wel helpen denk ik :) Ik kan hier geen wijs uitmaken.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Kijk even in onze Quickstart en probeer het dan gerust even opnieuw. Lees je ook even in in code tags ;)

We zien hier graag enkel relevante stukken code, geven geen support op code van derden en zien ook graag wat je zelf al geprobeerd/gezocht/gevonden hebt en uberhaupt een fatsoenlijke omschrijving van wat er mankeert; deze 'dump' van een TS is daar niet echt een schoolvoorbeeld van ;)

[ Voor 38% gewijzigd door RobIII op 22-04-2009 11:53 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Dit topic is gesloten.