thesoggycow Posted May 11, 2008 Share Posted May 11, 2008 Okay here is my code <? //soggy cows mailer version 1.0p //to do's... Test of course - add cookie uid check (set via javascript on form and pass uid onto script to check add to xml file) - add sendmail function - fix cost javascript in ie... use switch / case - also fix css fixed on cost page ie fucking it up $toemail = "mistawoosta@gmail.com"; $subject = "Information Request - Noodledude.com"; function getloc($value, $check) { $n=count($value); $i=0; while($i<$n){ if ($value[$i]==$check) { return $i; break; } else { return "moo"; } $i++; } } function write($data) { $myFile = "mail.xml"; $fh = fopen($myFile, 'w') or die("can't open file"); fwrite($fh, $data); fclose($fh); } $name = $_POST['name']; $name = urldecode($name); if (eregi("(\r|\n)", $name)) { die("Spam Blocked!"); } $email = $_POST['email']; if ( eregi ('^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$', $email) ) {} else { die("$email is not a valid email address... Please try again"); } $phone = $_POST['phone']; $refer = $_POST['refer']; $com = $_POST['com']; $date = date(n."-".j); $ip = $_SERVER['REMOTE_ADDR']; $headers = "From:" . $email . "\r\n" . "Reply-To:" . $email . "\r\n" . "X-Mailer: The Soggy Mailer Version 1.0p "; $message = "Date: ".$date."\r\n"."Name: ".$name."\r\n"."Phone: ".$phone."\r\n"."Email: ".$email."\r\n"."Reffered By: ".$refer."\r\n"."Sent From IP: ".$ip."\r\n"."\r\n"."$com"; $eray = array(); $dray = array(); $iray = array(); $cray = array(); // check ip $xmlstr=file_get_contents("mail.xml"); $xml=new SimpleXMLElement($xmlstr); foreach ($xml->id as $id) { array_push($eray,$id->email); array_push($dray,$id->day); array_push($iray,$id->ip); array_push($cray,$id->counter); $i++; } $eloc = getloc($eray, $email); $iloc = getloc($iray, $ip); echo "$eloc $iloc "; #should be working - prerecorded email if ($iloc == "moo") { if ($eloc != "moo") { if ($dray[$eloc] == $date) { if ($cray[$eloc] == 2) { //date and count is wrong die ("You have exceeded the sending limits, you may only send 2 emails every day"); } else { echo "two"; //date is wrong count is right $counternum = $cray[$eloc]+1; $xml->id[$eloc]->ip = $ip; $xml->id[$eloc]->email = $email; $xml->id[$eloc]->day = $date; $xml->id[$eloc]->counter = $counternum; write($xml->asXML()); //sendmail #mail($toemail,$subject,$message,$headers); } } else { echo "two"; //reset count and date $counternum = 0; $xml->id[$eloc]->ip = $ip; $xml->id[$eloc]->email = $email; $xml->id[$eloc]->day = $date; $xml->id[$eloc]->counter = $counternum; write($xml->asXML()); //sendmail #mail($toemail,$subject,$message,$headers); } } } #should also be working - prerecorded ip if ($eloc == "moo") { if ($iloc != "moo") { if ($dray[$iloc] == $date) { if ($cray[$iloc] == 2){ //date and count is wrong die ("You have exceeded the sending limits, you may only send 2 emails every day"); } else { echo "three"; //date is wrong count is right $counternum = $cray[$iloc]+1; $xml->id[$iloc]->ip = $ip; $xml->id[$iloc]->email = $email; $xml->id[$iloc]->day = $date; $xml->id[$iloc]->counter = $counternum; write($xml->asXML()); //sendmail #mail($toemail,$subject,$message,$headers); } } else { echo "three"; //reset count and date $counternum = 0; $xml->id[$iloc]->ip = $ip; $xml->id[$iloc]->email = $email; $xml->id[$iloc]->day = $date; $xml->id[$iloc]->counter = $counternum; write($xml->asXML()); //sendmail mail($toemail,$subject,$message,$headers); } } } #not working - not yet recorded if ($eloc == "moo") { if ($iloc == "moo") { /*//an unknown sender $idr = $xml->sent->addchild(id); $idr->addChild(ip,$ip); $idr->addChild(email,$email); $idr->addChild(day,$date); $idr->addChild(counter, 0); write($xml->asXML()); //sendmail mail($toemail,$subject,$message,$headers); echo "unknown sender";*/ } } #working - prerecorded sender and ip if ($eloc == $iloc) { if ($dray[$eloc] == $date) { if ($cray[$eloc] == 2) { //date and count is wrong die ("You have exceeded the sending limits, you may only send 2 emails every day"); } else { echo "one"; //date is wrong count is right $counternum = $cray[$eloc]+1; $xml->id[$eloc]->ip = $ip; $xml->id[$eloc]->email = $email; $xml->id[$eloc]->day = $date; $xml->id[$eloc]->counter = $counternum; write($xml->asXML()); //sendmail #mail($toemail,$subject,$message,$headers); } } else { echo "one laaa"; //reset count and date $counternum = 0; $xml->id[$eloc]->ip = $ip; $xml->id[$eloc]->email = $email; $xml->id[$eloc]->day = $date; $xml->id[$eloc]->counter = $counternum; write($xml->asXML()); //sendmail #mail($toemail,$subject,$message,$headers); } } else { die ("Some Error Occured!"); } ?> Basically its a code to check IP's and Emails against an XML file and send or not send and email accordingly. I know my mail functions are commented off thats not my problem. I also know that my addChild stuff is wrong but thats okay. I can't figure it out but for some reason no matter what the XML file says my script always executes the section that echo's "one laa". What am I doing wrong! I'm really confused my conditional statements seem all right... Maybe I'm just blind. HELP! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.