Foros del Web » Programando para Internet » PHP »

Duda

Estas en el tema de Duda en el foro de PHP en Foros del Web. Tengo un problema con este script: Código PHP: <?php if( $editar ) { function  quitar ( $texto ) { $texto  =  trim ( $texto ) ; $texto  =  ...
  #1 (permalink)  
Antiguo 17/01/2010, 05:35
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 3 meses
Puntos: 9
Duda

Tengo un problema con este script:


Código PHP:

<?php
if($editar) {

function 
quitar($texto) {
$texto trim($texto) ;
$texto htmlspecialchars($texto) ;
return 
$texto ;
}
$cnnick quitar($cnnick) ;

// contrasena
if($cncontrasena == "") { $cncontrasena quitar($contrasena) ; 

else { 

$cncontrasena md5($cncontrasena); 
}
$cnemail quitar($cnemail) ;
$cnfecha quitar($fecha) ;
$cnip $REMOTE_ADDR ;
$cnpais quitar($cnpais) ;
$cnedad quitar($cnedad) ;
$cndescripcion quitar($cndescripcion) ;

$edita .= "<"."?\n";
$edita .="\$nick = \"$cnnick\";\n";
$edita .="\$contrasena = \"$cncontrasena\";\n";
$edita .="\$email = \"$cnemail\";\n";
$edita .="\$fecha = \"$cnfecha\";\n";
$edita .="\$ip = \"$cnip\";\n";
$edita .="\$sexo = \"$cnsexo\";\n";
$edita .="\$pais = \"$cnpais\";\n";
$edita .="\$edad = \"$cnedad\";\n";
$edita .="\$descripcion = \"$cndescripcion\";\n";
$edita .="\$puntos = \"$puntosmenus\";\n";
$edita .="\$lastConect2= \"$lastConect2\";\n";
$edita .="\$nivel = \"$nivel\";\n";
$edita .="\$color = \"$color\";\n";
$edita .="\$premium = \"$premium\";\n";
$edita .="\$avatar = \"$cnavatar\";\n";
$edita .="\$fechapremium = \"\";\n";
$edita .="\$diaspremium = \"$cndiaspremium\";\n";
$edita .= "?".">";

$edit fopen("usuarios/$cnnick.php","w");
fputs($edit,$edita);
fclose($edit);
echo 
"Se ha guardado";
}
// Si no se pone la edad esta se guarda como cero, para evitar mostrar el cero se hace lo siguiente
if($edad == 0) { $edad "" ; }
// El sexo se guarda como 0 y 1 que es masculino y femenino respectivamente, si se elige femenino la opción debe aparecer seleccionada
// aparecer seleccionada
if($sexo == 1) { $sexo " selected" ; }
// Mostrar la fecha en texto
$diassemana = array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado") ;
$mesesano = array("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic") ;
$diasemana date(w,$fecha) ; $diames date(j,$fecha) ; $mesano date(n,$fecha) - $ano date(Y,$fecha) ;
$fecha "$diassemana[$diasemana] $diames de $mesesano[$mesano] del $ano" ;
?>


      <form name="formulario" method="post" action="?p=premium" onsubmit="return revisar()">
            
Premium:
<select name="cndiaspremium" class="field">
<option value="30">30
<option value="60"<? echo $diaspremium ?>>60
</select>

            <input type="submit" name="editar" value="Editar" class="field">

        </form>


Bueno el problema que tengo es que no se porque al guardar los campos:


$edita .="\$fechapremium = \"time()\";\n";
$edita .="\$diaspremium = \"$cndiaspremium\";\n";


no lo guarda, se queda como esta :S

Última edición por SeaPirates; 17/01/2010 a las 07:07
  #2 (permalink)  
Antiguo 17/01/2010, 08:46
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Duda

time() es una funcion, no una variable y PHP no lo interpreta estando dentro de una cadena, por lo que tienes dos opciones:

1- Concatenando:
$cadena = "Cadena con la fecha: \"" . time() . "\" incluida';

2- Creando una variable e incluyendola en la cadena:
$fecha = time();
$cadena = "Cadena con la fecha: \"$fecha\" incluida";
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 17/01/2010, 09:24
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 3 meses
Puntos: 9
Respuesta: Duda

Vale ya lo tengo solucionado! Gracias +1

Última edición por SeaPirates; 17/01/2010 a las 09:30

Etiquetas: Ninguno
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 16:03.