Crear Chat Bot Gratis y sin Programar

¿Qué es un Chat Bot?

Un chatbot es un programa informático con el que es posible mantener una conversación, tanto si queremos pedirle algún tipo de información o que lleve a cabo una acción.

Esta es la definición de un ChatBot, algo técnica, pero no nos meteremos a la teoría ya que no me gusta enredarme en esos temas cuando no es necesario.

Para este caso les dejare un sitio, donde pueden generar Chatbots, que pueden incluir en sus sitios Web, conectarlos a Messenger de Facebook, Skype Etc.

El sitio lleva por nombre SnatchBot

Esta es la definición del sitio: SnatchBot elimina la complejidad y le ayuda a crear la mejor experiencia de mensajería posible para sus clientes. Brindamos características administrativas sólidas y seguridad de nivel empresarial para cumplir con las obligaciones normativas

Yo la e utilizado y la verdad es que es una maravilla me olvide de lineas de código por el un rato y un poco de la IA para hacerlo, sin embargo leyendo sus actualizaciones muy pronto incorporaran esta parte de IA, si quieren saber un poco más les dejo el sitio : https://es.snatchbot.me/

Adicional cuenta con un canal de youtube en Español el cual podemos seguir para poder manejarlo al 100% e integrarlo a nuestros desarrollos y lo más importante cobrar mucho sin desgastarse tanto.

Canal de Youtube http://www.youtube.com/watch?v=PN_hncLeA2A

Conectar Base de Datos DB2 (AS/400) con PHP 7.

Buenas como le va, pues aquí con un nuevo tema que me agrado y aplique donde laboro, bueno como dice el titulo vamos a conectarnos a una base de datos de un DB2, yo lo probé con un Iseries (AS/400) el cual es meramente sencillo.

Pues Vamos a Empezar….

Una vez que ya tengamos PHP instalado o un servidor web como WAMP o XAMPP  para Windows  procedemos a revisar las extensiones con las que contamos para los controladores de ODBC que utilizaremos, en este caso es muy importante revisar esto ya de no contar con alguno de ellos no podremos conectarnos correctamente.

Vamos a revisar dos cosas en la carpeta EXT de nuestro PHP revisemos si contamos con la DLL que lleva por nombre php_odbc.dll, de no contar con el debemos descargarlo y colocarlo en esta carpeta.

Te dejo la liga de descarga, solo da Clic: Descargar php_odbc.dll

Este tiene que quedar de la siguiente manera en la carpeta:

 

php_odbc

Una vez que ya  tenemos nuestra DLL procedemos a revisar nuestro archivo PHP.ini en la sección de extensiones para ver si esta extensión se encuentra activa.

Podemos ver que en la siguiente imagen no se encuentra la extensión.

! Ahora que aremos ¡

ext

No te preocupes es muy sencillo resolver esto, además que en XAMPP esta instrucción no viene dentro del nuestro archivo PHP.ini  de la versión 7 de PHP que estamos utilizando, solo colocaremos la siguiente instrucción: extension=php_odbc.dll y guardamos los cambios y reiniciamos de nuevo nuestro servidor de Apache, para que se tomen los cambios.

El archivo debe quedar así:

 

ext2

Ya que tenemos preparado nuestro servidor configurado y con las Dll’s que necesitamos, diría un Youtuber  !Ahora si viene lo chido¡

Utilizaremos la instrucción odbc_connect de PHP para poder realizar esta conexión, las instrucciones que yo utilice fueron las siguientes:

$dsn ="DRIVER={iSeries Access ODBC Driver};SYSTEM=tuip;";
$usuario = "tuusuario";
$contraseña = "tupass";
$dbconect = odbc_connect($dsn, $usuario, $contraseña);
if ($dbconect == 0) {
echo("Ha fallado la conexión a la base de datos.");
$sqlerror = odbc_errormsg($dbconect);
echo($sqlerror);
}
else {
echo ("Conexión exitosa");

}
odbc_close( $dbconect );

 

Te explico un poco el código?

La siguiente instrucción nos ayuda a indicar nuestro origen de datos:

$dsn ="DRIVER={iSeries Access ODBC Driver};SYSTEM=tuip;";

En palabras más sencillas le indicamos el tipo de base de datos y la ip de nuestro servidor a donde se va a conectar en este caso un Iseries (AS/400)

El siguiente fragmento nos ayuda para usar el usuario y contraseña asignado para conectarnos al DB2

$usuario = "tuusuario";
$contraseña = "tupass";

Y el más importante la instrucción a la conexión para que nuestro PHP pueda conectarse al servidor Iseries.

$dbconect = odbc_connect($dsn, $usuario, $contraseña);

Adicional a esto tenemos una validación para saber si estamos conectados o no como se muestra a continuación:

if ($dbconect == 0) {
echo("Ha fallado la conexión a la base de datos.");
$sqlerror = odbc_errormsg($dbconect);
echo($sqlerror);
}
else {
echo ("Conexión exitosa");

}
odbc_close( $dbconect );

Te preguntaras que es la instrucción: odbc_close( $dbconect );
Bueno esta instrucción nos ayuda a cerrar la conexión a nuestro DB2 y así no dejarla abierta y ocasionar errores con algunas consultas que lo estén necesitando de esta misma manera.

Notas muy importantes:

  • Debes considerar que debes tener instalado los drivers de Iseries para que la conexión ODBC funcione, por lo tanto te recomiendo descargar el Iserires Navigator y como prueba de funcionalidad generar una odbc de forma manual y probar que se conecte.
  • En la versión 5 de PHP no es necesario revisar la carpeta EXT ni el archivo PHP.ini ya que en esta si viene activado estas librerías.

Pues esto sería todo de mi parte y con el código que les deje me funciono perfecto, les dejo la imagen:

ejemplo

Espero les sirva, como a mí me sirvió.

Lil Junior les desea lo mejor y mucho éxito.

Conectar PHP con SQL

Que tal, el día de hoy les voy a compartir este tema que me pareció interesante para no duplicar información en una base de datos local si solo se consultara e ir directamente a la base de datos en SQL server.

Para ello necesitaremos lo siguiente:

Los drivers para descargar las librerías correctas para conectar php a SQL, estas dependerán de la versión que estés utilizando, dejo la relación dependiendo la versión de php que estén utilizando:

 

comparativa-drivers

Si estas utilizando la versión 7 de php puedes utilizar la versión 4.0, Cualquiera de las versiones la puedes descargar de la siguiente liga:

https://www.microsoft.com/en-us/download/details.aspx?id=20098

Para este ejercicio descargaremos la versión 4.0 a lo cual procederemos a instalar (No se instala solo descomprime las librerias que ocupamos en la ubicación que indiquemos).

Una vez que tenemos los drivers procedemos a colocarlos en nuestra carpeta ext que se encuentra dentro de la carpeta PHP, esta dependera si estas usando XAMPP, WAMPP o el php nativo.

Estas deben verse de la siguiente manera:

dll

En mi caso coloque las de 32 y 64 bits pero uds pueden utilizar la de la arquitectura de la maquina o servidor donde lo están configurando, podemos ver en la imagen que hay el pdo y el sqlsrv solito, esto es para hacer la conexión de las dos maneras que se manejan en php (pdo y nativo podría llamarse).

Para la siguiente configuración, debemos apagar el apache.

Procedemos a buscar el archivo php.ini y lo abrimos, en el cual debemos buscar la siguiente línea  Dynamic Extensions  que aproximadamente está en la línea 842, bajamos aproximadamente a la línea 895 o un poco más abajo en la cual procederemos a colocar las siguientes líneas, recordando este ejemplo es para el driver de PHP 7 :

 

phpini

La instrucción seria la siguiente:

extension=php_pdo_sqlsrv_7_nts_x64.dll

Recuerda que el nombre después del = dependerá de los drivers que estés utilizando.

 

Para corroborar que se configuri y habilitaron los drivers, podemos realizar un archivo php.info, para reiterar que esta habilitdo, con tan solo buscar la palabra sqlsrv y veriamos algo como lo siguiente:

sql

O algo como esto:

pdo

La diferencia es que uno es para el PDO  y el otro es para la instrucción SQLSRV.

 

Para probar la conexión podemos realizar una consulta  de la siguiente forma (Esto es nativo)

$uid = "mi usuario";
$pwd = "mipass";
$db = "mibd";
$serverName = "myserver";
$connectionInfo = array( "Database"=>$db, "UID"=>$uid, "PWD"=>$pwd);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
$sql= "SELECT precio from Preciosp";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {

$Preciounit= $row['precio'];
}

Este es un ejemplo con sqlsrv el cual uds pueden implementar o usar el pdo, con el que más le guste.

Ya  con esta configuración queda configurado para realizar la conexión y obtener los datos que necesitamos de una base de datos SQL server.

Espero les sirva, y recuerden compartir.

Saludos!

 

Instalación de Ldap en servidor Ubuntu 14.04.4 LTS / 15.10

Para instalar y levantar el servicio Ldap de PHP para tu servidor Web en Ubuntu 14.04.4 LTS, debemos seguir los siguientes pasos:

Descargar de la siguiente liga el paquete con extensión .deb

http://www.ubuntuupdates.org/package/core/trusty/main/security/php5-ldapSi usas el FTP como medio de transferencia de archivos, procede a alojar el archivo en el servidor en cualquier ruta para proceder  la instalación del paquete (Usar mput y open).

1

Para este paso necesitaremos ejecutar el programa Putty y entrar con las credenciales de nuestro servidor (Esta opción funciona para ubuntu desktop y server)

Nos dirigimos al directorio donde se encuentra el archivo el cual debe llevar por nombre: php5-ldap_5.5.9+dfsg-1ubuntu4.14_amd64.deb. Para acceder a la ruta utilizaremos la instrucción Cd.

2Para proceder a extraer la información de nuestro archivo deb, debemos de digitar la siguiente instrucción:

sudo dpkg –i php5-ldap_5.5.9+dfsg-1ubuntu4.14_amd64.deb
dpkg -i php5-ldap_5.5.9+dfsg-1ubuntu4.14_amd64.deb

Nota: Para llevar a cabo esta tarea debemos de ser usuario root o sudo con la instrucción:

sudo su

3

Una vez que se desempaquetaron los archivos, procedemos a instalarlos, para ello colocamos la siguiente instrucción

sudo apt-get php5-ldpa

4

Para finalizar solo reiniciamos el servicio de Apache, utilizando la siguiente instrucción:

/etc/init.d/apache2 restart

5

Para verificar entramos a la liga de nuestro servidor y generando un archivo php con las siguientes instrucciones:

<?php phpinfo(); ?>

Una vez que se accede debemos ver el apartado ldap como se muestra en la siguiente imagen:

6

 

Eso es todo y espero les sirva, recuerden compartan el conocimiento para dejar un legado.

Saludos!

Importar archivo Csv a Mysql desde PHP (Sin usar PHPmyAdmin)

Hola que tal a todos, después de tiempo yo aquí de regreso, con este tema muy interesante que después de entenderlo quiero compartirlo, vamos al grano.

La pregunta exacta a esto sería ¿Cómo puedo importar desde PHP un archivo Csv?

Para ello colocaremos el siguiente código (Este código es con Mysqli que es el que aún tiene soporte en PHP)

 if(isset($_POST['submit'])) // Validación del sumbit
 {
 $fname = $_FILES['sel_file']['name']; //Nombre del archivo a subir
 
 $chk_ext = explode(".",$fname); // Variable de la extensión
 
 $sql1 = "DELETE FROM `Subir_excel`";
 //echo $sql1;
 mysqli_query($conexion,$sql1); 

 if(strtolower(end($chk_ext)) == "csv") //Validación de la extensión del archivo
 {
 
 $filename = $_FILES['sel_file']['tmp_name']; // toma el nombre del archivo
 $handle = fopen($filename, "r"); // abre el archivo 
 
 while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) // Lectura de los registros del CSV
 {

 $sql = "INSERT INTO Subir_excel (algo,letras) values('$data[0]','$data[1]')"; //los $data son las columnas del csv
 //echo $sql;
 mysqli_query($conexion,$sql); //ejecución de la sentencia
 }
 
 fclose($handle); //Cierra el archivo
 $Mensaje='Nombre del archivo actualizado: <font color = "red">'.$fname.'</font> La importación fue realizada con Exito.'; 
 }
 else
 {
 $Mensaje='Archivo invalido, recuerda usar un CSV'; // acción que se realiza en dado caso que no sea un archivo csv
 } 
 }

Pero ese es solo el código PHP, el cual realizara la lectura del dicho archivo, ahora solo falta colocar los elementos HTML para que pueda funcionar.

<form action='<?php echo $_SERVER["PHP_SELF"];?>' method='post' enctype="multipart/form-data">
<td>Archivo a importar : <input type='file' name='sel_file' size='20'></td>
<td><?php Echo $Mensaje; ?> </td>
</tr>
<tr>
<td><input type='submit' name='submit' value='Procesar Archivo'></td>
</form>

En resumen…

Lo que hace este código es de un archivo CSV que tengas con los mismos campos de tu tabla, los alojara en esa tabla sin la necesidad de hacerlo de uno a uno o ir al phpmyadmin, lo que es un beneficio porque a tu usuario se lo colocas en su perfil y que el suba la información, cualquier error ya es responsabilidad de él.

Les dejo el código completo que puede ir en un solo archivo PHP y una imagen de la  interfaz 


<?php
include 'conexion.php';
ini_set('display_errors', 1);
error_reporting(E_ALL);
$Mensaje ='';

if (mysqli_connect_errno()){
printf("Error al intentar conectarse: %s\n", mysqli_connect_error());
exit();
}
if(isset($_POST['submit'])) // Validación del sumbit
{
$fname = $_FILES['sel_file']['name']; //Nombre del archivo a subir

$chk_ext = explode(".",$fname); // Variable de la extensión

$sql1 = "DELETE FROM `Subir_excel`";
//echo $sql1;
mysqli_query($conexion,$sql1);

if(strtolower(end($chk_ext)) == "csv") //Validación de la extensión del archivo
{

$filename = $_FILES['sel_file']['tmp_name']; // toma el nombre del archivo
$handle = fopen($filename, "r"); // abre el archivo

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) // Lectura de los registros del CSV
{

$sql = "INSERT INTO Subir_excel (algo,letras) values('$data[0]','$data[1]')"; //los $data son las columnas del csv
//echo $sql;
mysqli_query($conexion,$sql); //ejecución de la sentencia
}

fclose($handle); //Cierra el archivo
$Mensaje='Nombre del archivo actualizado: <font color = "red">'.$fname.'</font> La importación fue realizada con Exito.';
}
else
{
$Mensaje='Archivo invalido, recuerda usar un CSV'; // acción que se realiza en dado caso que no sea un archivo csv
}
}

?>
<html>
<head>
<link rel="shortcut icon" href="images/favicon.ico" />
</head>
<Title>Importación de Información.</title>
<body>
<h1>Mantenimiento de información de ...</h1>
<table>
<tr>
<form action='<?php echo $_SERVER["PHP_SELF"];?>' method='post' enctype="multipart/form-data">
<td>Import File : <input type='file' name='sel_file' size='20'></td> <td><?php Echo $Mensaje; ?> </td></tr>
<tr><td><input type='submit' name='submit' value='Procesar Archivo'></td>
</tr>
<tr>
<td></form></td>
</tr>
</table>
</body>
</html> 

Interfaz del código de arriba:

Captura

Eso es todo y espero les sirva, recuerden compartan el conocimiento para dejar un legado.

Saludos!

Traer información de un Select y pintar sus valores en Campos de Texto con JQuery

Para poder extraer la información de un select de html con Jquery debemos hacer lo siguiente:

// esta linea lo que hace es que al cambiar el select inse
$('#estudio').change(function(){ &amp;amp;amp;nbsp;rte el texto en los campos de texto
//Coloca el valor presentado 
 $('#seleccionado').val($('#estudio option:selected').text()); en el campo de texto
//Coloca el valor del Value en el campo de texto
 $('#valor').val($('#estudio option:selected').val()); 
 });

Con este pequeño Script podemos tomar los dos valores de nuestro select de Html.

Les dejo el ejemplo completo para que puedan probarlo

</pre>
<tr>
<td width="50%" nowrap="nowrap" align="right">Estudios <span class="campo_obligatorio">*</span></td></td>
<td nowrap="nowrap">
<select name="estudio" id="estudio">
<option value="-2">- Seleccione -</option>
<option value="0">Hola</option>
<option value="2">Adios</option>

</select>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<input id="seleccionado" type="text" readonly="readonly" />
<input id="valor" type="text" readonly="readonly" />
</td>
</tr>
<script>
$('#estudio').change(function(){
$('#seleccionado').val($('#estudio option:selected').text());
$('#valor').val($('#estudio option:selected').val());
});
</script>
<pre>

Hosting Gratuito (Hostinger)

Hola que tal a todos, ya se que los tengo abandonados, pero es para una buena causa.

El motivo de este post es para recomendarles un servicio de Hosting para aquellos que empezamos un proyecto de la universidad o del trabajo y queremos verlo ya en un ambiente web ya que no es lo mismo usar un WAMP o un XAMP, bueno me di a la tarea de investigar y encontre muchos servicios pero ofrecian muy poco para lo que algunos necesitamos pero bueno :D.

Despues de buscar me encontre con las siguiente herramienta esta tiene el nombre de Hostinger y me parecio muy buena la opción ya que no ofrece poco espacio para un proyecto universitario  tomando en cuenta que el HTML, CSS y estas cosas es solo codigo lo que pesa son las imagenes (Tip: si usas imagenes usa la url para que no consumas tu espacio en el servidor).

Una de las cosas que más me gusto fue que no tiene publicidad y eso es lo mas padre de todo esto ya que no tendremos esas molestas ventanas por nuestra web.

Como se los comento Hostinger me resulto muy bien ya que esto es lo que ofrece por ser free :

hostingerfree

Recordando que también hay formas de pago si es que necesitas más cosas, pero para un inicio podemos usarlo de la forma gratuita.

Enlace | Hostinger

Sin más por el momento espero les sirva como lo esta siendo para mi y pues recordemos que compartir es aprender y a ser mejores.

Lil junior les desea lo mejor y espero me cuenten como les fue con Hostinger. 😀

Duolingo (Aprende ingles Fácil)

Hola que tal lectores pues aquí dejandoles una interesante nota, bueno pues como el titulo es duolingo se preguntaran que es.

Bueno duolingo es un sitio web destinado al aprendizaje gratuito de idiomas a la vez que una plataforma crowdsourcing de traducción de textos. El servicio está diseñado de tal forma que a medida que el usuario avanza en su aprendizaje ayuda a traducir páginas web y otros documentos.

Esta en la versión Web o la versión APP que esta para toda la gama de moviles existentes hasta la fecha, debo darle el credito a SoldierCorp :: Desarrollo Web y Gaming.

Gracias a ese canal recomendo la aplicación pero pues me parecio muy agradable y pues lo estoy intentando espero les sirva.

Lo bueno de esta aplicación es que es gratis ya que a nosotros no nos gusta lo grativas verdad jajajaja pero bueno espero les sirva les dejo las links de la pagina oficial de Duolingo y la pagina de la Play Store para la aplicación.

Web | DUOLINGO

Play Store | Duolingo app

 

Espero les sirva y saludos!

 

 

Habilitar Libro de macros Personal

Hola que tal, yo de nuevo. Sere breve para este post les dejare como solucionar el error de cuando no puedan abrir su libro personal de macros del excel, esto puede ser por varios factores pero el mas común es que no tuvo un error al guardar y se daño o de plano le movieron a la configuración. Para ello el siguiente gif les mostrara como habiltarlo de nuevo y no les siga mostrando el error de : El libro de macros tiene que estar abierto para poder grabar una macro ahí.

Para ello sigue los siguientes pasos:

Opciones de Excel>Complementos>

En la parte inferior, donde pone administrar, en el desplegable elige «Elementos deshabilitados» y pulsa el botón Ir

Ve si tu libro de macros personal está ahí. si está elígelo y pulsa habilitar,