Board index   FAQ   Search  
Register  Login
Board index php forum :: php coding PHP coding => Mail

PHP Warning -- Upload picture with mail form

the mail() function

Moderators: macek, egami, gesf

PHP Warning -- Upload picture with mail form

Postby microskies » Tue Jun 28, 2011 10:40 am

I have been getting this error, and it does seem like a simple one, but I have no idea with php, and i get all of my scripts from the web, so I only sort of know what everything does.

Error:
Warning: Variable passed to each() is not an array or object in /home/a1832526/public_html/contact.php on line 22 (and on 36 and 61)

Code: Select all
<?php
require("/phpmailer/class.phpmailer.php");

//Variables Declaration
$name = "ign";
$rname = "rname";
$age = "age";
$rank = "rank";
$time = "how_long";
$email_subject = "$rank Application From $ign";
$Email_msg ="A visitor submitted the following :\n";
$Email_to = "microskies@hotmail.co.uk"; // the one that recieves the email
$email_from = "email";
$dir = "uploads/$filename";
chmod("uploads",0777);
$attachments = array();
//
checkType();
//
//------Check TYPE------\\
function checkType() {
while(list($key,$value) = each($_FILES[images][type])){
strtolower($value);
if($value != "image/jpeg" AND $value != "image/pjpeg" AND $value != "image/png" AND $value != "image/gif" AND $value != "image/bmp" AND $value != "") {
exit('Sorry , current format is <b>'.($value).'</b> ,only .jpeg, .jpg, .gif, .png and .bmp file types are allowed.') ;
}
}
//
checkSize();
//
}
//-------END OF Check TYPE--------\\
//
//---CheckSizeFunction ---\\
function checkSize(){
while(list($key,$value) = each($_FILES[images][size]))
{
$maxSize = 5000000;
if(!empty($value)){
if ($value > $maxSize) {
echo"Sorry this is a very big file .. max file size is $maxSize Bytes = 5 MB";
exit();
}
else {
$result = "File size is ok !<br>";
//
}
//
}
//
}
uploadFile();
//
}
//-------END OF Check Size--------\\
//
//==============upload File Function============\\
//
function uploadFile() {
global $attachments;
while(list($key,$value) = each($_FILES[images][name]))
{
//
if(!empty($value))
{
$filename = $value;
//the Array will be used later to attach the files and then remove them from server ! array_push($attachments, $filename);
$dir = "uploads/$filename";
chmod("uploads",0777);
$success = copy($_FILES[images][tmp_name][$key], $dir);
}
//
}
//
if ($success) {
echo " Files Uploaded Successfully<BR>";
SendIt();
//
}else {
exit("Sorry the server was unable to upload the files...");
}
//
}
//
//==== PHP Mailer With Attachment Func ====\\
//
function SendIt() {
//
global $attachments,$name,$Email_to,$Email_msg,$email_subject,$email_from;
//
$mail = new PHPMailer();
$mail->IsSMTP();// send via SMTP
$mail->Host = "smtp.1and1.com"; // SMTP servers
$mail->SMTPAuth = false; // turn on/off SMTP authentication
$mail->From = $email_from;
$mail->FromName = $name;
$mail->AddAddress($Email_to);
$mail->AddReplyTo($email_from);
$mail->WordWrap = 50;// set word wrap
//now Attach all files submitted
foreach($attachments as $key => $value) { //loop the Attachments to be added ...
$mail->AddAttachment("uploads"."/".$value);
}
$mail->Body = $Email_msg."Name : ".$name."\n";
//
$mail->IsHTML(false);// send as HTML
$mail->Subject = $email_subject;
if(!$mail->Send())
{
echo "Message was not sent <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
//
echo "Message has been sent";
// after mail is sent with attachments , delete the images on server ...
foreach($attachments as $key => $value) {//remove the uploaded files ..
unlink("uploads"."/".$value);
}
//
}
//
?>


The lines 22, 36, and 61 all show the same thing:
Code: Select all
while(list($key,$value) = each($_FILES[images][name]))
microskies
New php-forum User
New php-forum User
 
Posts: 3
Joined: Tue Jun 28, 2011 10:15 am

Return to PHP coding => Mail

Who is online

Users browsing this forum: No registered users and 2 guests

Sponsored by Sitebuilder Web hosting and Traduzioni Italiano Rumeno and antispam for cPanel.