Jump to content

php check empty string ??


plodos

Recommended Posts

I have a form like that ( email form with attachment)

<?php
$name = $_POST[name];
$surname = $_POST[surname];
$email = $_POST[email];
$msg_title = "alert";
$to="[email protected]";

$message= '
<table width="522" height="235" border="1">
  <tr>
    <td>Name Surname </td>
    <td>'.$name.' '.$surname.'</td>
  </tr>
</table>';

  // Obtain file upload variables
            $fileatt      = $_FILES['fileatt']['tmp_name'];
            $fileatt_type = $_FILES['fileatt']['type'];
            $fileatt_name = $_FILES['fileatt']['name'];

            $headers = "From: $email  \n";
//upload file type
$FILE_EXTS = array('.txt'); 
$file_name = $_FILES['fileatt']['name'];
$file_ext = strtolower(substr($file_name,strrpos($file_name,".")));
if (!in_array($file_ext, $FILE_EXTS)){
include 'problem.html';
exit();
}

           // if($_FILES['fileatt']['size'] > 0)
           if (is_uploaded_file($fileatt)) {
           // Read the file to be attached ('rb' = read binary)
            $file = fopen($fileatt,'rb');
            $data = fread($file,filesize($fileatt));
            fclose($file);
            // Generate a boundary string
            $semi_rand = md5(time());
            $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
            // Add the headers for a file attachment
            $headers .= "MIME-Version: 1.0\n" .
                        "Content-Type: multipart/mixed;\n" .
                        " boundary=\"{$mime_boundary}\"";
            // Add a multipart boundary above the  message
            $message = "This is a multi-part message in MIME format.\n\n" .
            "--{$mime_boundary}\n" .
            "Content-Type: text/html; charset=\"iso-8859-1\"\n" .
            "Content-Transfer-Encoding: 7bit\n\n" .
            $message . "\n\n";

            // Base64 encode the file data
            $data = chunk_split(base64_encode($data));
             // Add file attachment to the message
            $message .= "--{$mime_boundary}\n" .
            "Content-Type: {$fileatt_type};\n" .
            " name=\"{$fileatt_name}\"\n" .
            //"Content-Disposition: attachment;\n" .
            //" filename=\"{$fileatt_name}\"\n" .
            "Content-Transfer-Encoding: base64\n\n" .
            $data . "\n\n" .
            "--{$mime_boundary}--\n";
             }else echo "File error!  ";

            if(mail($to,$msg_title,$message,$headers)) 
            {
            	include'ok.html';
            }
            else
            { 
            	include 'problem.html';
            }
//}
?>

 

I need to control if

<input name="fileatt" type="file" id="fileatt" size="60">

"fileatt" is posted empty or not...

 

if "fileatt" is empty or null send email without upload...

 

but if fileatt has some value  send it with attachment...

 

I dont know how many if else combination I tested....like

 

$a = $_POST[fileatt];

 

if($a=="" | $a==NULL)

send email without attachment

else

send with attachment

 

I want to do this...Pls help :s

Link to comment
https://forums.phpfreaks.com/topic/111758-php-check-empty-string/
Share on other sites

of course I used trim and empty...but problem is, I didnt write the code

maybe conditions has problem .. this is another one...

original script is working..but when I want to seperate..its not working :s

who can help me for the coding part...

<?php
$name = $_POST[name];
$surname = $_POST[surname];
$email = $_POST[email];
$msg_title = "alert";
$to="[email protected]";
$file = $_POST[fileatt];
$check = trim($file);

if (empty($check))
{
just send email........ mail();
}

else {

$message= '
<table width="522" height="235" border="1">
  <tr>
    <td>Name Surname </td>
    <td>'.$name.' '.$surname.'</td>
  </tr>
</table>';

  // Obtain file upload variables
            $fileatt      = $_FILES['fileatt']['tmp_name'];
            $fileatt_type = $_FILES['fileatt']['type'];
            $fileatt_name = $_FILES['fileatt']['name'];

            $headers = "From: $email  \n";
//upload file type
$FILE_EXTS = array('.txt'); 
$file_name = $_FILES['fileatt']['name'];
$file_ext = strtolower(substr($file_name,strrpos($file_name,".")));
if (!in_array($file_ext, $FILE_EXTS)){
include 'problem.html';
exit();
}

           // if($_FILES['fileatt']['size'] > 0)
           if (is_uploaded_file($fileatt)) {
           // Read the file to be attached ('rb' = read binary)
            $file = fopen($fileatt,'rb');
            $data = fread($file,filesize($fileatt));
            fclose($file);
            // Generate a boundary string
            $semi_rand = md5(time());
            $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
            // Add the headers for a file attachment
            $headers .= "MIME-Version: 1.0\n" .
                        "Content-Type: multipart/mixed;\n" .
                        " boundary=\"{$mime_boundary}\"";
            // Add a multipart boundary above the  message
            $message = "This is a multi-part message in MIME format.\n\n" .
            "--{$mime_boundary}\n" .
            "Content-Type: text/html; charset=\"iso-8859-1\"\n" .
            "Content-Transfer-Encoding: 7bit\n\n" .
            $message . "\n\n";

            // Base64 encode the file data
            $data = chunk_split(base64_encode($data));
             // Add file attachment to the message
            $message .= "--{$mime_boundary}\n" .
            "Content-Type: {$fileatt_type};\n" .
            " name=\"{$fileatt_name}\"\n" .
            //"Content-Disposition: attachment;\n" .
            //" filename=\"{$fileatt_name}\"\n" .
            "Content-Transfer-Encoding: base64\n\n" .
            $data . "\n\n" .
            "--{$mime_boundary}--\n";
             }else echo "File error!  ";

            if(mail($to,$msg_title,$message,$headers)) 
            {
            	include'ok.html';
            }
            else
            { 
            	include 'problem.html';
            }
}
?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.