PHP - Id repetidos por un array o arreglo

 
Vista:

Id repetidos por un array o arreglo

Publicado por bob (13 intervenciones) el 22/05/2020 08:54:24
Tengo la variable $p que contiene toda la información en un array, que me dice de donde vino el visitante de mi sitio web.
Un enlace que me envía el id de un evento que haya hecho el usuario.
Al presionar ese enlace me da la información de:
De que url el visitante nos visita y cual es el id del evento que se utilizo.
Pero al darme la info Me da el nombre de la página de donde provino, pero pues el id me lo repite 3 veces, cuando yo solo quiero que me muestre el valor solamente una vez.
Ejemplo:
Http://id_eventopaginadeejemplo.comidevento/pasa variable.htmlid_evento.
Cuando yo solo quiero que me lo muestre de esta manera:
Http://paginadeejemplo.com/pasavariableid_evento
Este es el código que utilizo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
   //php 7.3.0
 
$p = parse_url($_SERVER["HTTP_REFERER"]);
 ?>
 <?
 foreach($p as $valor) {
 
echo $valor;
 echo $_GET["id"];
 
}
 
   include ("errores.php");
 
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de javier
Val: 595
Bronce
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Id repetidos por un array o arreglo

Publicado por javier (167 intervenciones) el 22/05/2020 09:36:49
hola,

hazle un var_dump a la variable $p y mira la info que trae, despues vas dando pasos hacia atras de donde viene la variable hasta que veas donde ocurre que almacene en el array 3 veces el ID

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Id repetidos por un array o arreglo

Publicado por bob (13 intervenciones) el 22/05/2020 13:43:55
Ya hice var_dump, esto fue lo que me resultó.
httparray(3) { ["scheme"]=> string(4) "http" ["host"]=> string(18) "cultivocultura.com" ["path"]=> string(28) "/tracking/variables_url.html" } eventocultivocultura.comarray(3) { ["scheme"]=> string(4) "http" ["host"]=> string(18) "cultivocultura.com" ["path"]=> string(28) "/tracking/variables_url.html" } evento/tracking/variables_url.htmlarray(3) { ["scheme"]=> string(4) "http" ["host"]=> string(18) "cultivocultura.com" ["path"]=> string(28) "/tracking/variables_url.html" } evento

Como tengo que retroceder.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Id repetidos por un array o arreglo

Publicado por bob (13 intervenciones) el 22/05/2020 16:34:39
Lo mejor sería tratar por separado al $_GET["id"]; para que no se mezcle con la información del nombre de la página, pero si ese $_GET["id"]; lo colocó fuera del foreach me muestra error.
Entonces como lo haría para no mezclarlo con el array.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Id repetidos por un array o arreglo

Publicado por bob (13 intervenciones) el 22/05/2020 18:05:13
Según php.net tengo que crear una clase:
https://www.php.net/manual/es/language.oop5.iterations.php

La prepare pero no la puedo hacer funcionar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
   //php 7.3.0
 
$p = parse_url($_SERVER["HTTP_REFERER"]);
 ?>
<?php
class MiClase
{
    $id= $_GET["id"];
 
 
    function iterateVisible() {
       echo $id;
       foreach($p as $valor) {
 
echo $valor;
 
}
    }
}
 
iterateVisible();
 
 
?>
Qué pasó estoy haciendo mal.
Gracias.
2020_05_22_10.02.41
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Id repetidos por un array o arreglo

Publicado por bob (13 intervenciones) el 23/05/2020 08:03:41
Listo ya quedo este lado de escript el código que hace, pues investiga de donde viene el visitante y si es enviado por id cual es el id
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
 
    function iterateVisible() {
 
$p = parse_url($_SERVER["HTTP_REFERER"]);
       echo $_GET["id"];
       foreach($p as $valor) {
 
echo $valor;
 
}
}
iterateVisible();
 
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de javier
Val: 595
Bronce
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Id repetidos por un array o arreglo

Publicado por javier (167 intervenciones) el 23/05/2020 10:01:31
hola buenas, tiene que darte errores por todas partes,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
error_reporting(E_ALL);
 
   //php 7.3.0
 
   // aqui declaras la variable fuera de la clase y es dentro o pasarla
   //a un metodo por valor y no lo haces.
   $p = parse_url($_SERVER["HTTP_REFERER"]);
 
 
 
//la clase no tiene constructor (es opcional) pero por ahora el metodo iterateVisible()
//no hace nada por que no sabe nada sobre la variable $id ni de la variable $p
//y la clase tampoco, no estas pasando valores a nada.
class MiClase
{
    $id= $_GET["id"];
 
 
    function iterateVisible() {
       echo $id;
       foreach($p as $valor) {
 
echo $valor;
 
}
    }
}
 
iterateVisible();//aqui no estas llamando al metodo de la clase, estas llamando a una funcion que no existe
 
 
?>

podrias hacer una cosa asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
 
 
//php 7.3.0
 
 
class MiClase
{
 
 public $p;
 public $id;
 
 
 public function __construct($argumento1 = '', $arg2 = '')
 {
 
   $this->p = $argumento1;
   $this->id = $arg2;
 
 }
 
 public function iterateVisible() {
 
        echo $this->id;
 
        foreach( $this->p as $valor) {
 
            echo $valor;
 
          }
     }
}
 
$_GET["id"] = 5;
 
 
//instanciamos el objeto (podemos pasarle tambien los valores al constructor)
//$objeto = new MiClase($_GET["id"], $p);
 
$objeto = new MiClase();
 
//pasamos valores a sus propiedades $this->id y $this->p
$objeto->id = $_GET["id"];
$objeto->p = parse_url("https://www.php.net/manual/es/function.parse-url.php");
 
//hacemos la llamada al metodo de la clase con los valores pasados para que haga lo
//que tenga que hacer.
$objeto->iterateVisible();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Id repetidos por un array o arreglo

Publicado por bob (13 intervenciones) el 23/05/2020 15:38:01
Muchas gracias pero el problema ya lo resolví, muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar