Page 1
Standard

Enviar por POST en ajax

Una forma de ver lo que se envía por POST a través ajax en PHP es probarlo en la misma página y mostrarlo con un alert, así verificamos que lo que se va es lo deseado.

<?php

if($_SERVER['REQUEST_METHOD'] == 'POST') {
    echo '<pre>';
    print_r($_POST);
    exit; // importante!
}

?>

<form method="post" id="classic_login" action="">
    <input type="text" name="user" placeholder="Username" class="classic_field" id="user_field" />
    <input type="text" name="pass" placeholder="Password"  class="classic_field" id="pass_field" />
    <input type="submit" name="login" value="Login" class="classic_button" id="login_button" />
    <input type="submit" name="register" value="Register" class="classic_button" id="register_button" />
</form> 


<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$("#classic_login").submit(function(event) {
    var formdata  = $(this).serialize();
    event.preventDefault();

    $.ajax({
        url: document.URL, 
        type: 'POST',
        data: formdata,
        success: function(response) { 
            alert(response); 
        }
    });
});
</script>

Si es un ARRAY lo que enviamos:

"data": {sData:sData},

En codeigniter en el controlador lo atrapamos de esta forma

function test(){
	$data = $this->input->post('sData');
	print_r($data);
}

 

The end
codeigniter
Standard

Enviar mensajes desde Codeigniter con gmail

  1. Descargar Codeigniter
  2. Crear el controlador email  ./application/controllers/email.php con el siguiente código:
    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    
    class Email extends CI_Controller {
    
    	public function index()
    	{
    		$config = Array(		
    				    'protocol' => 'smtp',
    				    'smtp_host' => 'ssl://smtp.gmail.com',
    				    'smtp_port' => 465,
    				    'smtp_user' => 'correo@gmail.com',
    				    'smtp_pass' => 'clave',
    				    'smtp_timeout' => '4',
    				    'mailtype'  => 'text', 
    				    'charset'   => 'iso-8859-1'
    				);
     
    		$this->load->library('email', $config);
    		$this->email->set_newline("\r\n");
    
    		$this->email->from('correo@gmail.com', 'correo@gmail.com');
    		$this->email->to('destino@ejemplo.com');
    		//$this->email->cc('otro@otro-ejemplo.com');
    		//$this->email->bcc('copiaoculta@otro-ejemplo.com');
    
    		$this->email->subject('Email Test');
    		$this->email->message('Mensaje de Prueba');
    
    		$this->email->send();
    
    		echo $this->email->print_debugger();
    
    
    	}
    }

    Continue Reading →

The end
Standard

Mostrar la salida de comandos ejecutados en php con exec()

En algunos casos deseamos ver el resultado de los comandos ejecutados a través del navegador para saber si  se ejecutó correctamente.

Para mostrar la salida en el navegador basta con añadir al final  2>&1, guardar la salida en un arreglo y mostrarlo, quedando de la siguiente forma:

<?php
$command=("ls 2>&1");
 exec($command,$out);
 echo "<pre>";
 print_r($out);
 echo "</pre>";
?>

Dando el resultado de esta forma: Continue Reading →

The end
Standard

PHPExcel: Uncaught exception ‘Exception’ with message ‘Could not close zip file

Empezando a usar la libreria PHPExcel me encontré con el siguiente problema:

15:45:52 Create new PHPExcel object
15:45:52 Set document properties
15:45:52 Add some data
15:45:52 Rename worksheet
15:45:52 Write to Excel2007 format
Fatal error: Uncaught exception 'Exception' with message 'Could not close zip file /var/www/osmon/scripts/gui/hotspot/final/Tests/01simple.xlsx.' in /var/www/osmon/scripts/gui/hotspot/final/Classes/PHPExcel/Writer/Excel2007.php:378 Stack trace: #0 /var/www/osmon/scripts/gui/hotspot/final/Tests/01simple.php(80): PHPExcel_Writer_Excel2007->save('/var/www/osm...' #1 {main} thrown in /var/www/osmon/scripts/gui/hotspot/final/Classes/PHPExcel/Writer/Excel2007.php on line 378

La solución al problema es tan simple como asignar permisos de escritura a la carpeta Tests en la cual se va a escribir (guardar) el archivo de excel.

Otras posibles razones de este error son:
1. El directorio donde se desea guardar no existe.
2. El archivo se encuentra abierto por otra aplicación.

The end