Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - danny920825

#31
PHP / Re: [Ayuda] Invocar JS desde PHP
26 Abril 2017, 21:40 PM
Gracias!! De veras que eso ayuda mucho con la validación de los formularios. Uso
Código (php) [Seleccionar]
header("location:") porque no conozco otra forma de redireccionar desde PHP. Si existiera alguna otra forma, estoy dispuesto a usarla, ya que supongo que el nombre indica que es lo primero que se debe mandar en una página. Que el hecho de que se pueda usar no significa que sea la forma correcta de hacerlo, pero no conozco otra :( (Ahora conozco la de JS, pero estuve buscando una de PHP y no encontre)
#32
PHP / [Resuelto] Invocar JS desde PHP
26 Abril 2017, 21:28 PM
Hola a todos. No se si el titulo era explicativo, pero lo que quiero hacer es ejecutar un código JS, específicamente un alert desde PHP. Cuando lo hago solo me funciona, pero lo que quiero es hacer una alerta y que redireccione al usuario. Como conozco poco casi nada de JS, lo que estoy haciendo es lo siguiente:
Código (php) [Seleccionar]

if(!pi=3.14) //Solo un ejemplo
{
 echo "<script>alert('Los datos no coinciden');</script>";
 header("location:direccion.php");
}

y lo que hace es que redirecciona directo, no muestra el alert. ¿Como puedo hacer para que eso funcione?
#33
Ok, entonces utilizaré MySql directo con esta funcion:
Código (php) [Seleccionar]

function restaurar_bd($salva)
{
include "bd.php";
$file_sql = $salva_dir.$_POST['salva_sql'];
$mysql = "..\..\mysql\bin\mysql";
$restaura = $mysql." -u $username --password=$password $bd < $file_sql";
echo $restaura;
echo "<br>";
system($restaura, $salida);
if ($salida == 0)
{
echo "Salva Realizada";
}
else
{
echo "No se pudo salvar la BD";
}
}


Y me disculpo por mi costumbre de incluir las $variables dentro de las comillas dobles, ya que PHP las reconoce y agilizo el proceso. No se si es o no una mala practica.
#34
Hola y gracias por responder aun despues de tanto tiempo. Resulta que logre hacer que funcionara de esta forma:
Código (php) [Seleccionar]

function limpiar_sql($file)
{
include "bd.php";
$file_sql = $salva_dir.$_POST['salva_sql'];
$archivo = file($file_sql, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$abrir = fopen($file_sql, "w");
foreach ($archivo as $key)
{
$recorte = substr($key, 0,2);
if ($key[0].$key[1] != '--' && $key[0].$key[1] != '/*')
{
fwrite($abrir, $key);
}

}
fclose($abrir);
restaurar_bd($_POST['salva_sql']);
}

function restaurar_bd($file)
{
include "bd.php";
$file_sql = $salva_dir.$_POST['salva_sql'];
$contenido = file_get_contents($file_sql, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$explode  = explode(";", $contenido);
$cantidad = count($explode)-1;
for($i=0; $i<$cantidad;$i++)
{
$newkey = $explode[$i].";";
if ($mysqli->query($newkey))
{
echo "ejecutada consulta: ".$newkey."<br>";
}
else
{
echo "error en consulta: ".$newkey."<br>";
}

}

}


Pero me estuvo diciendo un amigo que puede llegar a ser un inconveniente cuando quitas las lineas de -- y de /* que genera el SQL porque son las vistas. Y que hacer el
explode por ; puede generar errores si en los datos de la BD existe algun ;
Habria alguna otra forma de restaurar la BD desde PHP utilizando la extension de mysqli?
#35
PHP / [Ayuda] Problemas con Zend Loader
13 Abril 2017, 21:24 PM
Hola a todos. Hace un tiempo estuve por aqui hablando sobre proteger la propiedad intelectual y Engel Lex me dio un par de ideas muy buenas. La semana pasada me hablaron de Zend Guard que no ofusca, sino que compila una especie de Bytecode que luego podemos cargar mediante Zend Loader y que según me dijeron hace más rápida la ejecucion porque el código se compila una sola vez. El punto es que ya tengo el Zend Guard funcionando y me codifica bien el código, pero el Zend Loader no me funciona, por tanto no puedo utilizar la herramienta. Según lo que entendi en el sitio oficial tenia que descargar el comprimido que tiene dentro las 2 dll, y ponerla en la carpeta de mis extensiones, en mi caso c:\xampp\php\ext y en el archivo php.ini añadir las siguientes lineas:
  • zend_extension=ZendLoader.dll
  • zend_extension=opcache.dll

y reiniciar el apache. Pero al tratar de acceder a algun archivo codificado me dice lo siguiente

For The Site Administrator/Web Master

One or more files on your site were encoded with Zend Guard. Thismay be third party libraries that
were provided to you by an ISV. Toallow these files to properly run you need to download and
installone of the Zend guard run-time libraries. This is either ZendOptimizer or Zend Loader. The
proper files can be downloaded fromhttp://www.zend.com/guard/downloads.This software is
provided free of charge.

General Disclaimer: Zend Technologies is not responsible tothe configuration and setup of web sites
using Zend Guard technology.Please contact your software vendor if these components were
providedby an ISV or consult your Zend Guard Users Guide if these files wereencoded by your
organization.


¿Que estoy haciendo mal?
#36
Perdón. Lo iba a poner y se me olvidó. Lo unico que dice es:
Query was empty
No da más ningun dato
#37
Hola amigos. Ayer publique un tema relacionado con este, pero prefiero hacer uno aparte, porque la forma de hacerlo que propuse ayer, si funciona. Lo que sucede es que quiero restaurar una BD desde PHP.
Lo estaba haciendo desde la consola de mysql usando la funcion
Código (php) [Seleccionar]
exec()
pero en la noche un amigo me dijo que si el phpmyadmin está hecho en PHP entonces debe existir una forma de hacerlo. Y me di a la tarea, lo primero fue limpiar el archivo .sql para quitarle los comentarios /* y --. El efecto fue usar
Código (php) [Seleccionar]
file_get_contents() para cargar todo el contenido, limpiarlo y luego llamar a la funcion que hace la restaura. En la funcion que hace la restaura lo que hago es dividir el string obtenido de la funcion anterior y delimitarlo por ; para generar la consulta.
El resultado es que la consulta me da error si la hago desde el script, pero si le pongo un
Código (php) [Seleccionar]
echo para que me muestre el contenido y luego eso lo ejecuto desde el phpMyadmin sí se ejecuta. A continuacion ambas funciones, la de limpiar y la de restaurar:

Código (php) [Seleccionar]

function limpiar_sql($file)
{
include "bd.php";
$file_sql = $salva_dir.$_POST['salva_sql'];
$archivo = file($file_sql, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$abrir = fopen($file_sql, "w");
foreach ($archivo as $key)
{
$recorte = substr($key, 0,2);
if ($recorte != "--")
{
if ($recorte != "/*")
{
fwrite($abrir, $key);
}
}
}
fclose($abrir);
restaurar_bd($_POST['salva_sql']);
}

function restaurar_bd($file)
{
include "bd.php";
$file_sql = $salva_dir.$_POST['salva_sql'];
$contenido = file_get_contents($file_sql);
$explode  = explode(";", $contenido);

foreach ($explode as $key)
{
$newkey = $key.";";
$mysqli->query($newkey) or die (mysqli_error($mysqli));
}

}


Ayuda Por favor
#38
Ya lo solucioné. Era porque se debe usar --password=$password $bd sin espacios despues del =
#39
PHP / [Resuelto] Problema al restaurar una BD
6 Abril 2017, 21:42 PM
Hola a todos. Resuelta que quiero restaurar una BD de mysql desde PHP. Para ello, a falta de otro método, pues utilizo exec
pero antes lo quiero probar a mano, así que tengo el siguiente código:

Código (php) [Seleccionar]

function restaurar_bd($salva)
{
include "bd.php";
$file_sql = $salva_dir.$_POST['salva_sql'];
$mysql = "..\..\mysql\bin\mysql";
$restaura = $mysql." -u $username --password = $password -h $host  $bd < $file_sql";
echo $restaura;
echo "<br>";
}


en el archivo bd.php es donde tengo los datos del mysql que uso normalmente para conectarme a la BD. El resultado es este
..\..\mysql\bin\mysql -u crenta --password = txehK8bY7br3vSMT -h localhost crenta < ./salvas/crenta_170406-1247.sql
y cuando lo ejecuto desde la consola me arroja  acces denied.
Acabo de ver que es porque donde tengo puesto el password va el nombre de la tabla, pero entonces... ¿Como pongo el password desde el comando PHP?
#40
PHP / [Ayuda] Clonar documentacion
4 Abril 2017, 13:12 PM
Hola de nuevo. Esta vez no voy a preguntar sobre programación aunque el objetivo sea ese. Hay alguna forma de clonar devdocs? Es que intenté con HTTrack y me dio error. termino de descargar y dice que si la documentacion no se abre directo de http://devdocs.io/  entonces no se podrá ver. En mi red (de la cual he hablado en ocasiones) hay un clon pero es de hace 1 año y medio y me gustaría tener una nueva version con la documentacion de Bootstrap 4 Alpha 6, PHP5, PHP7, HTML5 y otros lenguajes como Jquery para poder estudiar offline ya que en Cuba no todos tienen acceso a internet en los hogares. Si hay alguna forma que desconozco con HTTrack me la pueden decir? Gracias.

PD: Perdon si este post no va aqui, pero no sabia donde ponerlo.