Foros del Web » Programando para Internet » PHP »

Hacer replace con datos de formulario

Estas en el tema de Hacer replace con datos de formulario en el foro de PHP en Foros del Web. Hola: Pues la verdad es que todo éste código PHP: Código PHP: <?php // Tomamos el valor ingresado $url  = @ $_POST [ 'url' ]; // Si está vacío, lo informamos, sino realizamos la búsqueda if(empty( $url )) { ...
  #1 (permalink)  
Antiguo 20/08/2011, 13:57
 
Fecha de Ingreso: julio-2011
Ubicación: Po la verda eh que nunca mavia preguntao ezo
Mensajes: 16
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Hacer replace con datos de formulario

Hola:

Pues la verdad es que todo éste código PHP:
Código PHP:
<?php
// Tomamos el valor ingresado
$url = @$_POST['url'];

// Si está vacío, lo informamos, sino realizamos la búsqueda
if(empty($url))
{
echo 
"<p class='msg info'>Ingrese una url para comprobar.</p>";
} else {
// Conexión a la base de datos y seleccion de registros
$con=mysql_connect("localhost","root","****");
$sql "SELECT * FROM badurls WHERE url like '%$url%'";
mysql_select_db("urlsdb"$con);

$result mysql_query($sql$con);

// Tomamos el total de los resultados
$total mysql_num_rows($result);

require_once(
'config.php');

// Imprimimos los resultados
if ($total == 1){
   echo 
"<p class='msg error'>&iexcl;La Web ha sido marcada como peligrosa! Te recomendamos no acceder a la Web.</p>";
}
elseif (
$total == 0){
   echo 
"<p class='msg done'>&iexcl;La Web es segura! Puedes seguir navegando tranquilamente.</p>";
}
}
?>
Y quisiera que justo antes de hacer ése proceso con ése código PHP, que reemplazara con la función "replace" de php. Sé usar el replace pero no sé aplicarlo a la estructura de código que tengo hecha.

El formulario:
Código HTML:
Ver original
  1. <form method="post" action="check.php">
  2. <p>URL:
  3. <input name="url" type="text" id="url" value="" />
  4. </p>
  5. <p>
  6. <input type="submit" name="send" id="button" value="Submit" />
  7. </p>
  8. </form>
Si fuérais tan amables de ayudarme me hariáis un gran favor.

P.D: Ése código PHP está en el mismo archivo que el formulario. (CHECK.PHP)

Gracias de antemano,
m1n1i.

Última edición por m1n1i; 20/08/2011 a las 13:58 Razón: Falta de datos
  #2 (permalink)  
Antiguo 20/08/2011, 14:12
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 7 meses
Puntos: 31
Respuesta: Hacer replace con datos de formulario

Por favor puedes explicar un poco mejor que realmente deseas hacer...
  #3 (permalink)  
Antiguo 20/08/2011, 14:40
 
Fecha de Ingreso: julio-2011
Ubicación: Po la verda eh que nunca mavia preguntao ezo
Mensajes: 16
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Hacer replace con datos de formulario

Hola:

Cita:
Y quisiera que justo antes de hacer las acciones que hay en código PHP, que reemplazara los datos del formulario, en este caso el campo URL, con la función "replace" de php. Ejemplo: reemplazar www. por http://. Sé usar el replace pero no sé aplicarlo para que siga funcionando con mi anterior código.
Saludos.

Última edición por m1n1i; 20/08/2011 a las 14:42 Razón: Más especificaciones para los usuarios
  #4 (permalink)  
Antiguo 20/08/2011, 14:58
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 7 meses
Puntos: 793
Respuesta: Hacer replace con datos de formulario

Código PHP:
Ver original
  1. $cadena = 'www.google.com.co';
  2. echo str_replace('www.', 'http://', $cadena);

Tal vez sea eso lo que quieres, la verdad no entendí muy bien. Dale una mirada al manual: str_replace()
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 20/08/2011, 15:11
 
Fecha de Ingreso: julio-2011
Ubicación: Po la verda eh que nunca mavia preguntao ezo
Mensajes: 16
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Hacer replace con datos de formulario

Hola:

Muchas gracias por tu respuesta. ¿Podrías explicarme más acerca de ésta función? Es que todavía no consigo entender lo del manual de PHP :S No me aclaro con su uso. ¿Puedes poner un código PHP ejercitando "str_replace()" como ejemplo y con comentarios para entenderlo?

Otra vez, gracias de antemano.

Saludos.
  #6 (permalink)  
Antiguo 20/08/2011, 15:19
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 7 meses
Puntos: 793
Respuesta: Hacer replace con datos de formulario

1. parámetro: Lo que quieres buscar en la cadena
2. parámetro: En caso de encontrarse el parámetro 1, reemplazarlo con el parámetro 2
3. parámetro: La cadena en la que quieres buscar el parámetro 1.

$cadena = 'www.google.com.co';

str_replace(parámetro1 Si encuentras "www.", parámetro2 entonces reemplazamelo por "http://", parámetro3 ¿En dónde lo quieres buscar?);

o como lo explica el manual

str_replace(si se encuentra la aguja, reemplazalo por esto, busca en este pajar);
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 20/08/2011, 16:14
 
Fecha de Ingreso: julio-2011
Ubicación: Po la verda eh que nunca mavia preguntao ezo
Mensajes: 16
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Hacer replace con datos de formulario

Hola:

Entendí tu explicación correctamente pero parece como si no lo reemplazara. Me hace la consulta a la base de datos y como tiene http:// no me lo detectaba, por eso quiero hacer el replace pero veo que no funciona :S

Saludos.
  #8 (permalink)  
Antiguo 20/08/2011, 16:20
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 7 meses
Puntos: 793
Respuesta: Hacer replace con datos de formulario

Cita:
Iniciado por m1n1i Ver Mensaje
Hola:

Entendí tu explicación correctamente pero parece como si no lo reemplazara. Me hace la consulta a la base de datos y como tiene http:// no me lo detectaba, por eso quiero hacer el replace pero veo que no funciona :S

Saludos.
Muestra como lo estas usando
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #9 (permalink)  
Antiguo 20/08/2011, 16:23
 
Fecha de Ingreso: julio-2011
Ubicación: Po la verda eh que nunca mavia preguntao ezo
Mensajes: 16
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Hacer replace con datos de formulario

Hola:

Ésta es la parte importante:
Código PHP:
Ver original
  1. <?php
  2. // Tomamos el valor ingresado
  3. $url = @$_POST['url'];
  4.  
  5. // Quitamos los datos indeseados del formulario
  6. str_replace("www.","",$url);
  7. str_replace("http://","",$url);
  8. ?>

Saludos.
  #10 (permalink)  
Antiguo 20/08/2011, 16:25
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 7 meses
Puntos: 793
Respuesta: Hacer replace con datos de formulario

Código PHP:
Ver original
  1. <?php
  2. // Tomamos el valor ingresado
  3. $url = $_POST['url'];
  4.  
  5. // Quitamos los datos indeseados del formulario
  6. $url = str_replace("www.","http://",$url);
  7. ?>
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #11 (permalink)  
Antiguo 20/08/2011, 16:28
 
Fecha de Ingreso: julio-2011
Ubicación: Po la verda eh que nunca mavia preguntao ezo
Mensajes: 16
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Hacer replace con datos de formulario

Hola:

Es que si quito el @ del $POST me sale lo siguiente:
Cita:
Notice: Undefined index: url in B:\xampp\htdocs\check.php on line 113
Además que sigue sin subsituirlo. Osea tengo una database de URLs sin http:// ni www. y quiero usar eso para quitarlo pero veo que me dice que no lo encuentra :S

Saludos.

Última edición por m1n1i; 20/08/2011 a las 16:29 Razón: Añadir detalles
  #12 (permalink)  
Antiguo 20/08/2011, 16:35
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 7 meses
Puntos: 793
Respuesta: Hacer replace con datos de formulario

No se está pasando correctamente la URL por el método POST verifica eso.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #13 (permalink)  
Antiguo 20/08/2011, 16:36
 
Fecha de Ingreso: julio-2011
Ubicación: Po la verda eh que nunca mavia preguntao ezo
Mensajes: 16
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Hacer replace con datos de formulario

Hola:

Pero es que antes me funcionaba sin meter eso del replace.

Saludos.
  #14 (permalink)  
Antiguo 20/08/2011, 16:39
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 7 meses
Puntos: 793
Respuesta: Hacer replace con datos de formulario

PHP no miente

Cita:
Notice: Undefined index: url in B:\xampp\htdocs\check.php on line 113
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #15 (permalink)  
Antiguo 20/08/2011, 16:43
 
Fecha de Ingreso: julio-2011
Ubicación: Po la verda eh que nunca mavia preguntao ezo
Mensajes: 16
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Hacer replace con datos de formulario

Hola:

Ya lo sé pero lo arreglé yo anteriormente :S
Y con este tema se me ha ido.

Saludos.
  #16 (permalink)  
Antiguo 20/08/2011, 17:18
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 10 meses
Puntos: 322
Respuesta: Hacer replace con datos de formulario

Creo que tendré que explicar como lo he hecho varias veces con más personas

Undefined index = Índice indefinido
Código PHP:
Ver original
  1. $arr = array();
  2. echo $arr['hola']; // Undefined index hola in.... Ésto porque el indice 'hola' no existe en el array. Igual que en tu caso con url
  3.  
  4. $arr['hola'] = 'Hola';
  5. echo $arr['hola']; //Hola

Entonces en resúmen, como ya te dijo andresdzphp, no estás pasando la URL correctamente, es decir, no estás poniendo bien el nombre del campo o algo por el estilo.
Aún no me crees? Haz lo siguiente:
Código PHP:
Ver original
  1. print_r($_POST);
En algun lugar te imprime el índice url?
Debes verificar eso

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #17 (permalink)  
Antiguo 20/08/2011, 17:41
 
Fecha de Ingreso: julio-2011
Ubicación: Po la verda eh que nunca mavia preguntao ezo
Mensajes: 16
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Hacer replace con datos de formulario

Hola:

Me sale esto en el array:
Cita:
Array ( [url] => secure.365daysbilling.com [send] => Submit )
No acabo de entender lo que dices :$

Saludos.
  #18 (permalink)  
Antiguo 20/08/2011, 18:55
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 10 meses
Puntos: 322
Respuesta: Hacer replace con datos de formulario

Cómo que no entendiste? Lo dije muy claro.

Si te imprimió el índice url, no debe salir el error. En qué parte del código hiciste el print_r?
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #19 (permalink)  
Antiguo 20/08/2011, 19:01
 
Fecha de Ingreso: julio-2011
Ubicación: Po la verda eh que nunca mavia preguntao ezo
Mensajes: 16
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Hacer replace con datos de formulario

Hola:

Éste fragmento de código lo puse después de mi anterior código PHP y el formulario. Exactamente, justo debajo del formulario, cómo tu me dijiste.

P.D: Ahora veo que sí me lo reemplaza pero cuando se hace la consulta MySQL me detecta como si no existiera en la base de datos.

Saludos.
  #20 (permalink)  
Antiguo 21/08/2011, 14:24
 
Fecha de Ingreso: julio-2011
Ubicación: Po la verda eh que nunca mavia preguntao ezo
Mensajes: 16
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Hacer replace con datos de formulario

Hola:

Bueno ya lo he hecho pero sólo se cumple el segundo replace u.u:
Código PHP:
Ver original
  1. <?php
  2. // Obtenemos los datos
  3. $url = @$_POST['url'];
  4.  
  5. // Quitamos los datos indeseados del formulario
  6. $chg_1 = str_replace("www.","",$url);
  7. $chg_2 = str_replace("http://","",$url);
  8. ?>

Si pongo www. no me lo quita, sin embargo me quita el http://

Saludos.
  #21 (permalink)  
Antiguo 21/08/2011, 14:43
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 10 meses
Puntos: 322
Respuesta: Hacer replace con datos de formulario

Código PHP:
Ver original
  1. <?php
  2. // Obtenemos los datos
  3. $url = @$_POST['url'];
  4.  
  5. // Quitamos los datos indeseados del formulario
  6. $url = str_replace("www.","",$url);
  7. $url = str_replace("http://","",$url);
  8.  
  9. // O más simplificado
  10. $url = str_replace('www', '', str_replace('http://', '', $url));
  11. ?>
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #22 (permalink)  
Antiguo 21/08/2011, 17:32
 
Fecha de Ingreso: julio-2011
Ubicación: Po la verda eh que nunca mavia preguntao ezo
Mensajes: 16
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Hacer replace con datos de formulario

Hola:

Muchas gracias amigo me has dado la solución ;D
Te agradezco tus esfuerzos.

Saludos.

Etiquetas: post, reemplazar, replace, variables, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:04.