Go Back   CodingForums.com > :: Client side development > JavaScript programming > Ajax and Design

Before you post, read our: Rules & Posting Guidelines

Reply
 
Thread Tools Rate Thread
Enjoy an ad free experience by logging in. Not a member yet? Register.
Old 10-01-2012, 09:14 PM   PM User | #1
kischi
New to the CF scene

 
Join Date: Sep 2012
Posts: 8
Thanks: 0
Thanked 0 Times in 0 Posts
kischi is an unknown quantity at this point
Stay in Ajax color box when submitting a form

Hi,

I have made a small program that enables a user to upload an image and gets it sent back to the users email with a watermark on it.
The place where the user uploads the image is in an ajax colorbox and in order for it to send the form I use another file called somefile.php.
When the form is sent succesfulle it writes mail send completed.
But it redirects to the page called somefile.php.
is it possible to have the message come in the ajax box and not redirect to a new page when submit is pressed.

I hope you understand what I meen.

You can see an example on:
www.wearecrunch.dk/gammelsjuf

and click profile in the top right corner.

My html code looks like this:

Code:
<div id="form">
    <form method="post" action=" somefile.php " name="profile" enctype="multipart/form-data" onsubmit="xmlhttpPost('somefile.php', 'profile', 'MyResult'); return false;" ">
        <label for="Upload Image">Upload Image</label>
        <input name="file_name" type="file">
        <div class="input-row"><label for="mail">E-mail: </label><input id="mail" name="mail" type="text" /></div>
        <input name="upload" value="Upload" type="submit">
    </form>
</div><!-- end form -->
<div id="MyResult"></div>
And the php looks like this:

PHP Code:

<?php
    
include_once( 'class/class.upload.php' );
    if(isset(
$_POST['upload'])){
        
$filname=$_FILES['file_name'];
        
$handle = new upload($filname);
        
$handle->allowed = array('image/*');
        if(
$handle->uploaded){
            
$handle->image_border          5;   // defining border width
            
$handle->image_border_color    '#000'// defining border color
            
$handle->image_watermark 'badge.png';  // watermark image src
            
$handle->image_watermark_position 'BR'// watermark image position again "B" for bottom and so on.
            
$handle->image_resize         true;   // making resize function to true
            
$handle->image_x              160;    // making width to 160px
            
$handle->image_y              160;    // making hight to 160px
            
$handle->process('uploads/');
            if (
$handle->processed) {
                
                
//$message = '<div class="center"><p>Border color #F58462 added successfully</p><img src="uploads/'.$handle->file_dst_name.'" alt="" /></div>';
                
                

                
                
                 //*** Uniqid Session ***//
    
$strSid md5(uniqid(time()));
    
$to $_POST['mail'];
    
$from 'adamkischi@gmail.com'
    
$subject 'the subject';
    
$headers 'From: '.$from"\r\n" 'Reply-To: '.$from"\r\n";
    
$headers .= "MIME-Version: 1.0\n";
    
$headers .= "Content-Type: multipart/mixed; boundary=\"".$strSid."\"\n\n";
    
$headers .= "This is a multi-part message in MIME format.\n";
    
$headers .= "--".$strSid."\n";
    
$headers .= "Content-type: text/html; charset=utf-8\n";
    
$headers .= "Content-Transfer-Encoding: 7bit\n\n";
    if(
$_FILES["file_name"]["name"] != "") {
    
$strFilesName $_FILES["file_name"]["name"];
    
$strContent chunk_split(base64_encode(file_get_contents('uploads/'.$strFilesName)));
    
$headers .= "--".$strSid."\n";
    
$headers .= "Content-Type: application/octet-stream; name=\"".$strFilesName."\"\n";
    
$headers .= "Content-Transfer-Encoding: base64\n";
    
$headers .= "Content-Disposition: attachment; filename=\"".$strFilesName."\"\n\n";
    
$headers .= $strContent."\n\n";
    }
    
$flgSend = @mail($to$subject$message$headers); // @ = No Show Error //
   
if($flgSend){
echo 
"Mail send completed.";
$tmpfile 'uploads/'.$strFilesName;
// http://php.net/manual/en/function.file-exists.php
if(file_exists($tmpfile)) {
// http://php.net/manual/en/function.unlink.php
unlink($tmpfile);
}
}
else{
echo 
"Cannot send mail.";
}
            }
        }
    }
?>
And this is where I open the colorbox via a js file:

Code:
$(".profile").colorbox(
		{width:"80%", height:"80%"}
	);
Thank you
kischi is offline   Reply With Quote
Reply

Bookmarks

Tags
ajax, html, javascript, php

Jump To Top of Thread


Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 06:07 PM.


Advertisement
Log in to turn off these ads.