LA_BASE_MUSICAL
Usuario habitual
Usuario habitual

Asi es como tengo mis archivos de php pero tengo muchos errores y les pido ayuda


config.php

<?
$dbhost="localhost"; //Host del mysql
$dbuser="usuario"; //Usuario del mysql
$dbpass="password"; //Password del mysql
$db="db_usuarios"; //db donde se creará la tabla users

//conectamos y seleccionamos db
mysql_connect("$dbhost","$dbuser","$dbpass&quot;
mysql_select_db("$db&quot;

//Comenzamos la sesión, esto se explica despues en el Sistema de Login
?>


uregistrar.php

<?
include("config.php&quot ;
if($registrar) {
function quitar($texto) {
$texto = trim($texto) ;
$texto = htmlspecialchars($texto) ;
return $texto ;
}
$nick = quitar($nick) ;
$email= quitar($email) ;
// Comprobar si ya existe este usuario en la base de datos
$resp = mysql_query("select id from usuarios where nick='$nick' or email='$email'&quot ;
if(mysql_num_rows($resp) != 0) {
echo "Ya existe un usuario con ese nick o email en la base de datos. Haz click <a href=\"javascript:history.back()\">aquí</a> para regresar." ;
}
else {
$fecha = time() ;
$contrasena = quitar($contrasena) ;
mysql_query("insert into usuarios (fecha,nick,contrasena,email,ip) values ('$fecha','$nick','$contrasena','$email','$REMOTE_ADDR')&quot ;
echo "Has sido registrado con éxito. Haz click <a href=\"index.php\">aquí</a> para ir a la página principal." ;
}
}
else {
?>
<script>
function revisar() {
if(formulario.nick.value.length < 3) { alert('El nick debe contener por lo mínimo 3 caractéres') ; return false ; }
if(formulario.contrasena.value.length < 5) { alert('La contraseña debe contener por lo mínimo 5 caractéres') ; return false ; }
if(formulario.email.value.length == 0) { alert('Debes poner un email válido') ; return false ; }
}
</script>
<form name="formulario" method="post" action="uregistrar.php" onsubmit="return revisar()">
<b>Nick:</b><br>
<input type="text" name="nick" maxlength="20"><br>
<b>Contraseña:</b><br>
<input type="password" name="contrasena" maxlength="20"><br>
<b>Email:</b><br>
<input type="text" name="email" maxlength="40"><br><br>
<input type="submit" name="registrar" value="Registrar">
</form>
<?
}
mysql_close($conectar) ;
?>


y me aparecen los siguientes errores

Warning: main(config.php): failed to open stream: No such file or directory in /home/webcindario/dwebb/uregistrar.php on line 2

Warning: main(): Failed opening 'config.php' for inclusion (include_path='.') in /home/webcindario/dwebb/uregistrar.php on line 2

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/webcindario/dwebb/uregistrar.php on line 43


uentrar.php

<?
include("config.php&quot ;
if($entrar) {
function quitar($texto) {
$texto = trim($texto) ;
$texto = htmlspecialchars($texto) ;
return $texto ;
}
$nick = quitar($nick) ;
$contrasena = quitar($contrasena) ;
$resp = mysql_query("select contrasena from usuarios where nick='$nick'&quot ;
$datos = mysql_fetch_array($resp) ;
if(mysql_num_rows($resp) != 0) {
if($datos[contrasena] == $contrasena) {
// Se guarda el nick y la contraseña en las cookies sin embargo es necesario encriptar la contraseña mediante md5()
$contrasena = md5(md5($contrasena)) ;
setcookie("unick",$nick,time()+7776000) ;
setcookie("ucontrasena",$contrasena,time()+7776000) ;
header("location: index.php&quot ;
}
else {
echo "La contraseña es incorrecta. Haz click <a href=javascript:history.back()>aquí</a> para regresar." ;
}
}
else {
echo "Este usuario no existe en la base de datos." ;
}
}
else {
?>


los siguientes errores

Warning: main(config.php): failed to open stream: No such file or directory in /home/webcindario/dwebb/uentrar.php on line 2

Warning: main(): Failed opening 'config.php' for inclusion (include_path='.') in /home/webcindario/dwebb/uentrar.php on line 2


ulogin.php

<?
include("config.php&quot ;
$resp = mysql_query("select contrasena from usuarios where nick='$_COOKIE[unick]'&quot ;
$datos = mysql_fetch_array($resp) ;
$datos[contrasena] = md5(md5($datos[contrasena])) ;
if($datos[contrasena] != $_COOKIE[ucontrasena]) {
setcookie("unick&quot ;
setcookie("ucontrasena&quot ;
header("location: index.php&quot ;
}
mysql_free_result($resp) ;
mysql_close($conectar) ;
?>


y el siguiente error

No se puede mostrar la página

si me pueden ayudar se lo agradecere

Avatar Image
@man / @woman
@man / @woman

Tienes mal el $dbhost que es "mysql.webcindario.com" y el $db que sera el nombre de tu bases de datos, que puedes ver en el panel de control del espacio web.

LA_BASE_MUSICAL
Usuario habitual
Usuario habitual

si pero ese no es el problema los problemas son estos

uentrar.php

Warning: main(config.php): failed to open stream: No such file or directory in /home/webcindario/dwebb/uentrar.php on line 2

Warning: main(): Failed opening 'config.php' for inclusion (include_path='.') in /home/webcindario/dwebb/uentrar.php on line 2



uregistrar.php

Warning: main(config.php): failed to open stream: No such file or directory in /home/webcindario/dwebb/uregistrar.php on line 2

Warning: main(): Failed opening 'config.php' for inclusion (include_path='.') in /home/webcindario/dwebb/uregistrar.php on line 2

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/webcindario/dwebb/uregistrar.php on line 43


entendes NoSetup.tk y no se q tengo q arreglar por q el config.php lo tengo como vos me dijistes

Avatar Image
@man / @woman
@man / @woman

Pues el config.php esta mal subido porque no lo encuentra, eso es lo que pone el error.

LA_BASE_MUSICAL
Usuario habitual
Usuario habitual
cuando abro el archivo config.php veo una pagina en planco eso esta bien, si queres te paso mis claves para q veas lo q me sucede porq no logro solucionar el problema
Avatar Image
@man / @woman
@man / @woman
Escrito originalmente por LA_BASE_MUSICAL
cuando abro el archivo config.php veo una pagina en planco eso esta bien, si queres te paso mis claves para q veas lo q me sucede porq no logro solucionar el problema



No gracias....

prueba en el uentrar a poner include('config.php'); es decir con ' simples en vez de "
LA_BASE_MUSICAL
Usuario habitual
Usuario habitual

cuando abro el archivo uregistrar.php asi se me ve la pagina con el error

Nick:

Contraseña:

Email:



Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/webcindario/dwebb/uregistrar.php on line 43

y cuando me quiero loguar con el archivo uentrar.php me sale estos errores



Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webcindario/dwebb/uentrar.php on line 12

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/webcindario/dwebb/uentrar.php on line 13
Este usuario no existe en la base de datos.


me podrias decir q es lo q tengo q hacer

nosetup muchas gracias por tu ayuda

Avatar Image
@man / @woman
@man / @woman

Veo que solucionastes lo del config.php

En "mysql_close($conectar);" se supones que cierras la conexión, pero si te das cuentas la variable $conectar no la usas previamente... pon simplemente mysql_close();

Otra cosa ¿has subido la base de datos?

LA_BASE_MUSICAL
Usuario habitual
Usuario habitual

si ya cree la base de datos,uregistrar.php cuando ingreso los datos y preciono el boton registrar me sale otro error q es este

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/webcindario/dwebb/uregistrar.php on line 13
Has sido registrado con éxito. Haz click aquí para ir a la página principal
.

stratovare
Usuario Novato
Usuario Novato

Buenas a todos, yo tengo un problema con este mismo codigo, el registro de usuarios me funciona, asi como lo demas exceptuando el código de uentrar.php

<?phpinclude("config_reg.php") ;
if($_POST[enviar]) {
function quitar($texto) {
$texto = trim($texto) ;
$texto = htmlspecialchars($texto) ;
return $texto ;
}
$nick = quitar($nick) ;
$contrasena = quitar($contrasena) ;
$contrasena = md5(md5($contrasena)) ;
$con = mysql_query("select contrasena from usuarios where nick='$nick'") ;
$datos = mysql_fetch_array($con) ;
if(mysql_num_rows($con) != 0) {
if($datos[contrasena] == $contrasena) {
setcookie("unick",$nick,time()+2592000) ;
setcookie("ucontrasena",$contrasena,time()+2592000) ;
header("location: $HTTP_REFERER") ;
}
else {
echo "La contraseña es incorrecta. Haz click <a href="javascript:history.back()">aqui</a> para regresar." ;
}
}
else {
echo "Este usuario no existe en la base de datos. Haz click <a href="javascript:history.back()">aqui</a> para regresar." ;
}
}
?>

me da el siguiente error:

Warning: Cannot modify header information - headers already sent by (output started at /homez.406/metropolx/www/clivema/config_reg.php:8) in/homez.406/metropolx/www/clivema/uentrar_reg.php on line 16

Warning: Cannot modify header information - headers already sent by (output started at /homez.406/metropolx/www/clivema/config_reg.php:8) in/homez.406/metropolx/www/clivema/uentrar_reg.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at /homez.406/metropolx/www/clivema/config_reg.php:8) in/homez.406/metropolx/www/clivema/uentrar_reg.php on line 18

He leido por ahi que los cookies hay que crearlos al principio de todo del script, antes de mandar el header ya que no se puede modificar, y si me salto el comparar las contraseñas y demas y lo pongo de primero asi:

<?php

setcookie("unick",$nick,time()+2592000) ;
setcookie("ucontrasena",$contrasena,time()+2592000) ;
header("location: $HTTP_REFERER") ;

include("config_reg.php") ;
if($_POST[enviar]) {
function quitar($texto) {
$texto = trim($texto) ;
$texto = htmlspecialchars($texto) ;
return $texto ;
}
$nick = quitar($nick) ;
$contrasena = quitar($contrasena) ;
$contrasena = md5(md5($contrasena)) ;
$con = mysql_query("select contrasena from usuarios where nick='$nick'") ;
$datos = mysql_fetch_array($con) ;
if(mysql_num_rows($con) != 0) {
if($datos[contrasena] == $contrasena) {
//setcookie("unick",$nick,time()+2592000) ;
//setcookie("ucontrasena",$contrasena,time()+2592000) ;
//header("location: $HTTP_REFERER") ;
}
else {
echo "La contraseña es incorrecta. Haz click <a href="javascript:history.back()">aqui</a> para regresar." ;
}
}
else {
echo "Este usuario no existe en la base de datos. Haz click <a href="javascript:history.back()">aqui</a> para regresar." ;
}
}
?>

me crea los cookies correctamente y me conecta el usuario (claro que no vale para nada ya que no compara el nick y la contraseña.. XD), queria saber a que se debe y como lo arreglo. Gracias de antemano a todos.

Avatar Image
@man / @woman
@man / @woman

No uso cokies, así que mi ayuda puede no ser válida, o incompleta.

1- Poner header() después de setcookie() hará que no se ejecuten las siguientes líneas de código (en este caso header() no es necesario y crea el inconveniente que tienes).

2- cuando uses header() no dejes líneas en blanco antes (generan error).

stratovare
Usuario Novato
Usuario Novato

Hablando del este código original, no poner el Header() no me soluciona el problema, el error que tengo ahora sería

Warning: Cannot modify header information - headers already sent by (output started at /homez.406/metropolx/www/clivema/config_reg.php:8) in/homez.406/metropolx/www/clivema/uentrar_reg.php on line 16

Warning: Cannot modify header information - headers already sent by (output started at /homez.406/metropolx/www/clivema/config_reg.php:8) in/homez.406/metropolx/www/clivema/uentrar_reg.php on line 17

la linea 18 sería el Header() de antes y ahora no aparece, gracias, sigo investigando .. XD

Avatar Image
@man / @woman
@man / @woman

Sacado de:

http://soporte.miarroba.es/80376/14[....]uentes-config-php-errores-en-foros/

Cita:

Warning: Cannot modify header information - headers already sent by
Sobre este error se ha discutido mucho en mi@ y no hemos llegado a unas conclusiones claras, lo que voy a decir dicen algunos que es una chapuza, y estoy de acuerdo, pero es mas chapuza la forma que esta integrado el foro.

En la programación en PHP no se puede usar funciones "header" cuando ya ha habido salida, en este caso las usa para las cookies y como ya ha habido salidas, toda la cabecera del nuke y bloques da errores.

La solución parte por un buen diseño, también sería posible modificar una variable dentro del php.ini, pero en eso nosotros no podemos entrar.

La solución que podemos usar es ignorar esas líneas, sin ellas el foro funciona correctamente. Para ello hay que leer el error, pues nos indica en que fichero esta y en que línea.

Un error del tipo:
Warning: Cannot modify header information - headers already sent by (output started at /home/webcindario/XXXXX/themes/DeepBlue/theme.php:119) in /home/webcindario/XXXXXXXXX/includes/page_header.php on line 529

Nos indica el archivo "page_header.php" y línea 529. Con un editor de texto plano, como el bloc de notas, el WordPad o el textpad abrimos el fichero en concreto y buscamos la línea 529, muchos editores numeran las líneas. Una vez que tengamos esa línea, sera del estilo a:
header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');

Pues justo al inicio de esa línea pondremos un // o una @. Es decir una de estos dos ejemplos.
//header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0'); <-- de esta manera la línea quedaría comentada y no la ejecutaría.
@header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0'); <-- de este manera ejecutaría la línea y en caso de error no mostraría ningun mensaje.

Pues con todos las líneas que den error se debería repetir.

También hay otras opciones para solucionarlo.
Una de las que podrían servir, pero no he probado, se basa en sustituir el archivo "sessions.php", dentro de la carpeta "includes". En caso de hacerlo hacer una copia de seguridad del original.

Otra opción para los usuarios que sepan de PHP, consiste en hacer pasar toda la salida por un buffer de manera que realmente no genere salida hasta el final.
Para ello al inicio de las página del nuke, "header.php" justo detrás del comentario:
ob_start();

Para que desactive la salida. Sin espacios en blanco ni nada.

Este error no solo se da en mi@ sino en muchos más servidores, todo depende de la configuración del php.ini.

stratovare
Usuario Novato
Usuario Novato

Gracias, en este caso al ignorar las lineas el registro de usuarios no funciona, ya que son las lineas especificas de guardar el cookies. XD. si es problema del php.ini del servidor entonces habra que buscar otra forma.

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 01/Nov/2011, 06:00
alchro GestionXls12kNov/11
Por: , el 21/Ene/2010, 14:15
ttvictor aerialss88 inigoruiz23kJan/10
Por: , el 31/Ene/2009, 16:31
LudiBB NoSetup.org13kJan/09
Por: , el 20/Feb/2008, 14:46
pacopakito Torry_II PaseanteDelForo Ellocodelataquilla NoSetup.org92kFeb/08
Por: , el 26/Mar/2005, 19:23
AdmItmina jbalde NoSetup.org210kApr/05