Autor Tema: {DUDA} con el uso de funciones  (Leído 1543 veces)

Desconectado Xtreme

  • PHPerit@
  • *
  • Mensajes: 5
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
{DUDA} con el uso de funciones
« en: 27 de Diciembre de 2007, 12:01:10 pm »
Buenas,
Hace tiempo que estoy mirando por la comunidad, pero hasta hoy no he decidido registrarme. Bueno, estoy haciendo una web para una empresa y tengo problemas con la forma de aplicar las funciones. He creado una función con los típicos códigos de php para mejorar la seguridad. Esta función está en un archivo llamado funciones.php, cuyo código es el siguiente:
Código: [Seleccionar]
<?php
function seguridad($datos) {
$datos htmlspecialchars($datos);
$datosstrip_tags($datos);
$datosstripslashes($datos);
$datosstr_replace("<","&lt;"$datos);
$datosstr_replace(">","&gt;"$datos);
$datosmysql_real_escape_string($datos);
$datosmd5($datos);
return 
$datos;
}
?>
Entonces, tengo un formulario de registro, donde la variable $datos seria, por ejemplo, lo que el usuario ha introducido en el campo contrasena. Entonces creo un archivo donde se procesen los datos. La forma en que he intentado hacer esto yo es la siguiente:
Código: [Seleccionar]
<?php 
include(
"./funciones.php");
if (isset(
$_POST['registro'])) {
$datos "".$_POST['contrasena']."";
seguridad($datos); //funcion de seguridad
echo = "'.$datos.'"//mostramos la contraseña encriptada
?>

Y el problema que tengo es que no se me muestra el echo correctamente, me devuelve la contraseña pero sin encriptar, cosa que hago en la función...

Saludos,
Xtreme

¡¿Pero donde está la otra mitaaad?! ¡¡¡¡AAh!!!!

Comunidad PHPeros

{DUDA} con el uso de funciones
« en: 27 de Diciembre de 2007, 12:01:10 pm »

Desconectado x.mara.x

  • PHPero Master
  • ******
  • Mensajes: 1.364
  • Karma: 57
  • Sexo: Femenino
    • Ver Perfil
Re: {DUDA} con el uso de funciones
« Respuesta #1 en: 27 de Diciembre de 2007, 17:14:34 pm »
Pues no seria mejor hacerlo mas facil, asi:
Código: [Seleccionar]
<?php 
include(
"./funciones.php");
if (isset(
$_POST['registro'])) {
$datos '".md5($_POST['contrasena'])."';
seguridad($datos); //funcion de seguridad
echo = "'.$datos.'"//mostramos la contraseña encriptada

?>


O si no, no se xD

Desconectado Revancha

  • PHPero Avanzado
  • ****
  • Mensajes: 375
  • Karma: 22
  • Sexo: Masculino
    • Ver Perfil
Re: {DUDA} con el uso de funciones
« Respuesta #2 en: 27 de Diciembre de 2007, 17:20:32 pm »
<?php 
	

include(
"./funciones.php");
	

if (isset(
$_POST['registro'])) {
$datos $_POST['contrasena'];
$datos seguridad($datos); //funcion de seguridad
echo $datos//mostramos la contraseña encriptada
?>


prueba así

El echo no va con signo igual.

Desconectado Xtreme

  • PHPerit@
  • *
  • Mensajes: 5
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re: {DUDA} con el uso de funciones
« Respuesta #3 en: 27 de Diciembre de 2007, 19:24:49 pm »
¡Gracias a los dos!
Al final use el código de Revancha y me ha funcionado a la perfección  :D Pero tengo otra duda, si por ejemplo quiero comprovar dos cosas en un mismo archivo tengo que crear dos funciones o con una está bien... Es decir, me serviria un código así:¿?
Código: [Seleccionar]
<?php
include("./funciones.php");
if (isset(
$_POST['registro'])) {
$datos $_POST['contrasena'];
$datos seguridad($datos); //funcion de seguridad
echo $datos//mostramos la contraseña encriptada
$datos $_POST['codigo'];
$datos seguridad($datos); //funcion de seguridad
echo $datos//mostramos lel codigo encriptado
?>
Yo diria que no porque entonces, si en la funcion al valor datos le voy añadiendo funciones de las predefenidas se me mantendria todo el rato la contraseña junto con el valor de código... ¿No? ::)

Mil gracias O0,
Xtreme
« Última modificación: 27 de Diciembre de 2007, 19:33:19 pm por Xtreme »

¡¿Pero donde está la otra mitaaad?! ¡¡¡¡AAh!!!!

Desconectado Martin10

  • PHPer@ Fijo
  • ***
  • Mensajes: 160
  • Karma: 11
  • Sexo: Masculino
    • Ver Perfil
Re: {DUDA} con el uso de funciones
« Respuesta #4 en: 29 de Diciembre de 2007, 03:07:57 am »
Me parece que tendrias que probarlos los codigos antes de hacer la consulta (nose si lo hiciste).
Al asignarle un valor con el signo = lo que se hace es darle un nuevo valor. Para asignarle un valor sin perder el anterior, osea agregarle mas datos a la variable se usa el .=

EJ:


$a 
"hola";
$a "chau";
echo 
$a// muestra chau porque es el ultimo valor que se le asigno

// en cambio si pones el . delante del =
$a "hola";
$a .= "chau";
echo 
$a// muestra holachau



Saludos.
8)

Desconectado Xtreme

  • PHPerit@
  • *
  • Mensajes: 5
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re: {DUDA} con el uso de funciones
« Respuesta #5 en: 29 de Diciembre de 2007, 13:20:12 pm »
Gracias por la respuesta Martin! :), me ha servido!
Saludos,
xtreme

¡¿Pero donde está la otra mitaaad?! ¡¡¡¡AAh!!!!