elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  PHP Vuelto Loco con variables.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: PHP Vuelto Loco con variables.  (Leído 7,332 veces)
spysecurityca

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: PHP Vuelto Loco con variables.
« Respuesta #10 en: 18 Agosto 2014, 04:22 am »

Engel-Ex como dicen en Cisco, error de Capa 8 jejeje.

Bien, para todos les explico: ya quisiera que fuese un simple notice, el problema es que sencillamente no llega la variable que le paso por ajax cuando un textbox detecta un Keyup.

Lo tengo configurado de 2 formas.

1 Aplicando un poco de POO a PHP LA CUAL NO ME FUNCIONA :(

2. Sin POO y la cual es la que me funciona.

Ya les inserto los 2 Códigos:

"El Js del Ajax no lo meto ya que el error solo me viene al modificar PHP"

Código
  1.    class NuevaOrden{
  2.     private $arreglo;
  3.     public function __construct($arr) {
  4.     $this->arreglo=$arr;
  5.     $this->empujarProducto();
  6.     }
  7.     private function empujarProducto() {
  8.     foreach ($this->arreglo as $desc => $val) {
  9.     if ($val=="") {
  10.     unset($this->arreglo[$desc]);
  11.     }
  12.     }
  13.     }
  14.     public function verificarProductos() {
  15.     if (count($this->arreglo)==0) {
  16.     echo "No hay elementos seleccionados";
  17.    }else {
  18.     $arreglo=(json_encode($this->arreglo));
  19.     echo $arreglo;
  20.    }
  21.     }
  22.    }
  23.    if (isset($_REQUEST['nombre']) && isset($_REQUEST['valor'])) {
  24.     $nomb=$_REQUEST['nombre'];
  25.     $valo=$_REQUEST['valor'];
  26.    }else {
  27.     $nomb="Ebebe tu variable está en blanco, no llegó, no existe, ve a escuchar Soda Estereo - No existes - :("."<br>";
  28.     $valo="Ebebe tu variable está en blanco, no llegó, no existe, ve a escuchar Soda Estereo - No existes - :(";
  29.    }
  30.    echo $nomb;
  31.    echo $valo;
  32.    if (isset($_SESSION['orden'])) {
  33.     $nuevaOrden= new NuevaOrden($_SESSION['orden']);
  34.    }else {
  35.     $_SESSION['orden']=array();
  36.     $_SESSION['orden'][$nomb]=$valo;
  37.     $nuevaOrden= new NuevaOrden($_SESSION['orden']);
  38.    }

Código
  1.    if (isset($_REQUEST['nombre'])) {
  2.     $nomb=$_REQUEST['nombre'];
  3.    }else {
  4.     $nomb="";
  5.    }
  6.    if (isset($_REQUEST['valor'])) {
  7.     $valo=$_REQUEST['valor'];
  8.    }else {
  9.     $valo="";
  10.    }
  11.    if (isset($_SESSION['orden'])) {
  12.     $_SESSION['orden'][$nomb]=$valo;
  13.     foreach ($_SESSION['orden'] as $desc => $val) {
  14.     if ($val=="") {
  15.     unset($_SESSION['orden'][$desc]);
  16.     }
  17.     }
  18.    }else {
  19.     $_SESSION['orden']=array();
  20.     $_SESSION['orden'][$nomb]=$valo;
  21.     foreach ($_SESSION['orden'] as $desc => $val) {
  22.     if ($val=="") {
  23.     unset($_SESSION['orden'][$desc]);
  24.     }
  25.     }
  26.    }
  27.    if (count($_SESSION['orden'])==0) {
  28.     echo "No hay elementos seleccionados";
  29.    }else {
  30.     $arreglo=(json_encode($_SESSION['orden']));
  31.     echo $arreglo;
  32.    }
  33.  

¿Será problema con PHP POO y Ajax :(?



Es más.

Si agarro y borro todo el PHP y pongo solamente:

Código
  1. <?php
  2.  
  3. if(isset($_REQUEST['valo'])){
  4.  
  5. $valor=$_REQUEST['valo'];
  6. echo $valor;
  7. }
  8.  
  9. ?>

Me sigue tirando el error de que no llega la variable :(, es que ni con eso, osea el archivo como que es sagrado y no lo puedo tocar


« Última modificación: 18 Agosto 2014, 04:37 am por #!drvy » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: PHP Vuelto Loco con variables.
« Respuesta #11 en: 18 Agosto 2014, 04:39 am »

Entonces el problema no esta en tu PHP sino en tu llamada ajax.. Muestra el código js..

PD: Existe el botón modificar. No hagas doble post.

PD2: Estas seguro de que es el mismo archivo ?

Saludos


« Última modificación: 18 Agosto 2014, 04:42 am por #!drvy » En línea

spysecurityca

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: PHP Vuelto Loco con variables.
« Respuesta #12 en: 18 Agosto 2014, 04:43 am »

Si, casualmente cuando le dí a modificar ya lo habías arreglado, sorry por hacerte pasar trabajo.

Aqui el Js.

Código:
window.addEventListener("load", iniciarEventos, false);
clase="";
function iniciarEventos(e) {
var cajas = document.getElementsByClassName(clase);
for (var i = 0; i < cajas.length; i++) {
cajas[i].addEventListener('keyup',obtenerDatos,false);
}
}

function obtenerDatos(e) {
var ref=e.target;
var producto=ref.name;
var cantidad=ref.value;
procesarDat(producto,cantidad);
}
var conex3= new XMLHttpRequest();
function procesarDat(pro,can) {
conex3.onreadystatechange=procesarElementos;
conex3.open("GET",'../procesarPedido/orden.php?nombre='+pro+'&valor='+can,true);
conex3.send(null);
}
function procesarElementos() {
if (conex3.readyState==4) {
alert(conex3.responseText);
}else {
alert("conexion fallida");
}
}
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: PHP Vuelto Loco con variables.
« Respuesta #13 en: 18 Agosto 2014, 05:32 am »

En tu primer script con POO nunca mandas a llamar a verificarProductos que es el que genera el string de JSON.
En línea

spysecurityca

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: PHP Vuelto Loco con variables.
« Respuesta #14 en: 18 Agosto 2014, 05:40 am »

Hola Minus,

Hice lo que me has dicho y nada no hay cambio, fijate el problema no es POO porque borrando todo y haciendo en PHP solo la verificación de que llegue o no la variable me dice que no llega.

De hecho acabo de hacer en el Ajax que me envie las variables a otro PHP y si me lo agarra.

El problema es en ese PHP :( Será que lo deje intacto, pero la verdad no me gusta quedar al aire.
« Última modificación: 18 Agosto 2014, 05:43 am por spysecurityca » En línea

vladek

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re:
« Respuesta #15 en: 18 Agosto 2014, 06:32 am »

Si en ese archivo borrás todo y hacés un var_dump($_GET); llega la data?
En línea

spysecurityca

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: PHP Vuelto Loco con variables.
« Respuesta #16 en: 18 Agosto 2014, 07:57 am »

Ok me explico más resumido.

1. capturo datos del Form.

2. Envio datos por GET con ajax.

3. Ajax al estar en onreadystatechange lanza la funcion que verifica que tenga Status 200, lo cual es positivo y me devuelve el responseText por un alert. En el response Text esta el echo de las variables que envío desde Ajax.

El problema es que cuando ingreso directamente al PHP luego de obviamente captar+enviar+verificarRecepcion de variables, me doy cuenta que sencillamente las variables que he enviado no han sido recibidas y me muestra el agradable Notice: Undefined variable

¿Porque cuando hago el envio/consulta en caliente con ajax si envia y recibe el responseText con el contenido de las variables pero cuando entro directamente PHP me dice literalmente que no he enviado nada?
En línea

vladek

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re:
« Respuesta #17 en: 18 Agosto 2014, 15:02 pm »

A qué te referís con "entro directamente"?
En línea

spysecurityca

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: PHP Vuelto Loco con variables.
« Respuesta #18 en: 18 Agosto 2014, 16:57 pm »

Hola vladek con eso me refiero a que tengo un enlace que me dirige al archivo php.

Allí verifico si todo lo que me mostró Ajax sigue estando en el archivo PHP.
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: PHP Vuelto Loco con variables.
« Respuesta #19 en: 18 Agosto 2014, 17:22 pm »

¿Si pero como accedes al archivo?

archivo.php?valor=valor

Debería traerte una respuesta correcta. No para el último archivo que tienes porque ahi estás usando.

Código
  1. $_REQUEST['valo']

Necesitas definir bien el nombre de tus variables para evitar este tipo de confusiones.
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pasar variables por formulario sin variables globales¿? « 1 2 »
PHP
hardkoo 11 9,207 Último mensaje 22 Noviembre 2006, 12:55 pm
por chicuela66
[BATCH] ¿Como puedo meter variables dentro de variables?
Scripting
Meine programmen 1 3,838 Último mensaje 24 Marzo 2012, 16:48 pm
por Eleкtro
El mundo se ha vuelto loco: Microsoft está perfilando (parte de) el futuro ...
Noticias
wolfbcn 0 1,745 Último mensaje 18 Septiembre 2017, 02:25 am
por wolfbcn
¿Se ha vuelto loco Twitter? Qué son los extraños números que acabas de recibir
Noticias
wolfbcn 6 1,564 Último mensaje 17 Octubre 2018, 08:58 am
por buite
El creador del antivirus McAfee se ha vuelto loco « 1 2 »
Foro Libre
Adrian2895 13 5,303 Último mensaje 14 Octubre 2020, 00:50 am
por B€T€B€
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines