Tag: php

  • Enviar por POST en ajax

    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);
    }

     

  • Enviar mensajes desde Codeigniter con gmail

    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();
      
      
      	}
      }

      (more…)

  • 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: (more…)

  • 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.