Foros del Web » Programando para Internet » PHP »

Que le ocurre?

Estas en el tema de Que le ocurre? en el foro de PHP en Foros del Web. Hola, intento que cuando se registre el usuario le mande un MP: Código PHP: $nuevo  .=  "<" . "?\n" ; // campos del usuario.. $nuevo  .=  "?" . ...
  #1 (permalink)  
Antiguo 20/06/2010, 06:53
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Que le ocurre?

Hola, intento que cuando se registre el usuario le mande un MP:


Código PHP:
$nuevo .= "<"."?\n";
// campos del usuario..
$nuevo .= "?".">";

$crea fopen("usuarios/$cnnick.php","w");
chmod("usuarios/$cnnick.php"0777);
fputs($crea,$nuevo);
fclose($crea);
echo 
"<div id=infobox-center class=green>
            <div id=top></div>
            <div id=text>¡Bienvenid@ <strong>"
.$_POST["cnnick"]."</strong>! Te has registrado exitosamente.<br>¿A qué esperas para iniciar sesión?</div>
            <div id=bottom></div>
        </div>"
;

$nuevo2 .= "<"."?\n";
$nuevo2 .="\$fecha = \"".time()."\";\n";
$nuevo2 .="\$remitente = \"[BOT]\";\n";
$nuevo2 .="\$destinatario = \"$cnnick\";\n";
$nuevo2 .="\$mensaje = \"bienvenido\";\n";
$nuevo2 .= "?".">";


if(!
file_exists("mensajes/contador.txt")) { $ncrea fopen("mensajes/contador.txt","w"); fwrite($ncrea"0"); fclose($ncrea); }
$file "mensajes/contador.txt"
$nclicks fopen($file,"r+");
$clicks fgets($nclicks,1024); 
$clicks++; 
rewind($nclicks);
fwrite($nclicks,$clicks);
fclose($nclicks);

$crea2 fopen("usuarios/$clicks.php","w");
chmod("usuarios/$clicks.php"0777);
fputs($crea2,$nuevo2);
fclose($crea2);

ME he pasado un buen rato intentando ver el problema pero no se que le pasa
  #2 (permalink)  
Antiguo 20/06/2010, 10:17
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: Que le ocurre?

Me parecio ver algo:

Código PHP:

//ya en una de las primeras lineas
$crea fopen("usuarios/$cnnick.php","w"); 


//deberia  ser asi:
$crea fopen("usuarios/".$_POST["cnnick"].".php","w"); 


//y asi reemplaza todos los $cnnick por $_POST["cnnick"]


//si es que antes no haces (ya que no se ve)
$cnnick $_POST["cnnick"]; 
  #3 (permalink)  
Antiguo 20/06/2010, 10:36
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: Que le ocurre?

Si, eso está bien, porque con otros codigos me funciona, pero no se por qué no le envia el mp al registrarse :/
  #4 (permalink)  
Antiguo 20/06/2010, 15:32
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: Que le ocurre?

Quiza porque la persona a recibir el mp no te tiene en su lista.
...Bueno ese puede ser un motivo.

Ha pero dices que con otros codigos te funciona...

Postea algun otro codigo para comparar entonces...
  #5 (permalink)  
Antiguo 20/06/2010, 15:35
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: Que le ocurre?

Prueba quiza en lugar de fputs() fwrite()

Tambien puedes quitar el punto cuando das valor por primera ves:


Código PHP:

//asi la primera vez (para evitar concatenar un espacio vacio):
$nuevo "<"."?\n"
// luego si, .=
$nuevo .= "?".">"

...Tengo un codigo asi que no me trae problemas:

Código PHP:

$code="<? "\n"  alguna_funcion();"\n" ?>"; //...mas extenso obvio

//$code sera el codigo que se escribira en el archivo

//digo porque tu lo tienes asi:
//(...lo hice asi una vez)
$nuevo2 .= "<"."?\n";
...Detalles

Tambien podrias ver si el archivo se escribe correctamente

Última edición por wiwi74; 20/06/2010 a las 15:49
  #6 (permalink)  
Antiguo 20/06/2010, 15:40
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años, 7 meses
Puntos: 18
Respuesta: Que le ocurre?

pero no te da error nada?

no te dice o muestra nada?
  #7 (permalink)  
Antiguo 21/06/2010, 03:03
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: Que le ocurre?

No me tira ingun error, me registra el usuario, pero no le envia el mp :S

Es mas, crea el usuario, pero si vas al directorio de mensajes, no aparece ningun archivo ni se ha modificado nada
  #8 (permalink)  
Antiguo 21/06/2010, 08:41
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: Que le ocurre?

Lo he probado asi y funciona:

Pruebalo si quieres sin mas codigo y crea las carpetas usuarios y mensajes en el mismo directorio en que estaria este codigo:

Código PHP:

$cnnick
"user";
$_POST["cnnick"] = $cnnick;


$nuevo .= "<"."?\n"
// campos del usuario.. 
$nuevo .= "?".">"

$crea fopen("usuarios/$cnnick.php","w"); 
chmod("usuarios/$cnnick.php"0777); 
fputs($crea,$nuevo); 
fclose($crea); 
echo 
"<div id=infobox-center class=green> 
            <div id=top></div> 
            <div id=text>¡Bienvenid@ <strong>"
.$_POST["cnnick"]."</strong>
        ! Te has registrado exitosamente.
        <br>¿A qué esperas para iniciar sesión?</div> 
            <div id=bottom></div> 
        </div>"


$nuevo2 .= "<"."?\n"
$nuevo2 .="\$fecha = \"".time()."\";\n"
$nuevo2 .="\$remitente = \"[BOT]\";\n"
$nuevo2 .="\$destinatario = \"$cnnick\";\n"
$nuevo2 .="\$mensaje = \"bienvenido\";\n"
$nuevo2 .= "?".">"


if(!
file_exists("mensajes/contador.txt")) { 

$ncrea fopen("mensajes/contador.txt","w"); 
fwrite($ncrea"0"); 
fclose($ncrea); 



$file "mensajes/contador.txt";  
$nclicks fopen($file,"r+"); 
$clicks fgets($nclicks,1024);  
$clicks++;  
rewind($nclicks); 
fwrite($nclicks,$clicks); 
fclose($nclicks); 

$crea2 fopen("usuarios/$clicks.php","w"); 
chmod("usuarios/$clicks.php"0777); 
fputs($crea2,$nuevo2); 
fclose($crea2); 
En tu codigo original hay una llave al final que a mi me produjo error por no hallarse la de apertura.
Fijate que esa apertura puede ser de un condicional que no se cumple y que por lo tanto no te ejecuta ese trozo de codigo...
  #9 (permalink)  
Antiguo 21/06/2010, 09:38
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: Que le ocurre?

Dios.. fijate, que al poner tu código y al no funcionarme, voy a los usuarios para borrarlos y veo los archivos de los mensajes ahi..


Si te fijas:

$crea2 = fopen("usuarios/$clicks.php","w");
chmod("usuarios/$clicks.php", 0777);

Los crea en el directorio de usuarios, ahora ya me funciona! Muchas gracias de todos modos, aun así antes no los creaba. +1

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 22:29.