acabo de agregarle un sistema de logeo pop up a mi pagina www.mtbeat.com el usuario es demo y la contraseña es demo pero a la hora que entro parece que hay un error algo del header el archivo de este esta de la siguiente forma:
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['nombre'])) {
$loginUsername=$_POST['nombre'];
$password=md5($_POST['password']);
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "../index.php";
$MM_redirectLoginFailed = "login.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_conexion, $conexion);
$LoginRS__query=sprintf("SELECT nombre, password, estado, id FROM m_users WHERE nombre=%s AND password=%s AND estado=1",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
$LoginRS = mysql_query($LoginRS__query, $conexion) or die(mysql_error());
$miIdUsuario = mysql_fetch_assoc($LoginRS);
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";
if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
$_SESSION['MM_Id'] = $miIdUsuario ["id"];
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
<?php
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO m_users (nombre, email, password, estado, avatar) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['nombre'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString(md5($_POST['password']), "text"),
GetSQLValueString($_POST['estado'], "int"),
GetSQLValueString($_POST['avatar'], "text"));
mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());
$insertGoTo = "../index.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
<!---- POPUP #1 ----->
<a href="#x" class="overlay" id="login_form"></a>
<div class="box">
<h2>LOG IN</h2>
<!-- Start "join with facebook" and "twitter", you can delete if you don't like it -->
<div class="connectwith">
<input class="fb" type="button" value="Join with Facebook" />
<input class="tw" type="button" value="Join with Twitter" />
</div>
<!-- end of "join with facebook" and "twitter" -->
<form id="form1" name="form1" method="POST" action="<?php echo $loginFormAction; ?>">
<input type="text" class="text-field" name="nombre" id="nombre" placeholder="Username" />
<input type="password" class="text-field" name="password" id="password" placeholder="Password" />
<div id="buttons"> <input type="submit" name="button" id="button" value="Login" class="red"/>
<a href="#signup_form"><input type="button" value="Sign up" class="blue"/></a></div>
<p><input type="checkbox" > <label>Remember me</label></p>
<p><a id="forg" href="#recover">Forgot Your Password?</a></p></br>
</form>
<a class="close" href="#close"></a>
<!-- error state it is not visible because: visibility:hidden -->
<div class="error">
<div class="errortext">Incorrect login or password</div>
</div>
<!--end of error state -->
</div>
<!----- END OF POPUP #1 ----->
<!---- POPUP #2 ----->
<a href="#x" class="overlay" id="signup_form"></a>
<div class="box">
<h2>SIGN UP</h2>
<!-- Start "join with facebook" and "twitter", you can delete if you don't like it -->
<div class="connectwith">
<input class="fb" type="button" value="Join with Facebook" />
<input class="tw" type="button" value="Join with Twitter" />
</div>
<!-- end of "join with facebook" and "twitter" -->
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
<input type="text" class="text-field" name="nombre" placeholder="username" />
<input type="email" class="text-field" name="email" placeholder="email" />
<input type="password" class="text-field" name="password" placeholder="Password" />
<p><input type="checkbox"><label>I agree <a href="#">terms and conditions</a></label></p></br></br>
<input type="submit" value="Registrarme" class="blue-round"/></br>
<p>Already have account? <a href="#login_form">Log In</a></p>
</form>
<a class="close" href="#close"></a>
</div>
<!----- END OF POPUP #2 ----->
<!---- PASSWORD RECOVERY ----->
<a href="#x" class="overlay" id="recover"></a>
<div class="box">
<h2>Forgot your password?</h2>
<p>We’ll email a code to this address.</p>
<br>
<br>
<input type="text" class="text-field" placeholder="email" />
<input type="button" value="Send" class="blue-round"/>
<a class="close" href="#close"></a>
</div>
<!----- PASSWORD RECOVERY ----->
Alguna idea para que funcione bien mi nuevo sistema de logeo?0
Puntos
Puntos
1532
Visitas
Visitas
3
Resp
Resp
Por miguelsirna hace 12 años
Novice
Respuesta #1
crea un archivo php por ejemplo process.php y te llevas de aquí todo el código que inserta el registro:
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO m_users (nombre, email, password, estado, avatar) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['nombre'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString(md5($_POST['password']), "text"),
GetSQLValueString($_POST['estado'], "int"),
GetSQLValueString($_POST['avatar'], "text"));
mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());
$insertGoTo = "../index.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
después en el action del form le dices que envíe los datos a ese nuevo archivo y los procese:
<form id="form1" name="form1" method="POST" action="process.php">de esa forma no tienes dos scrips mezclados por eso suelen ser los Warning: Cannot modify header information
0
Puntos
Puntos
Por alber hace 12 años
Admin
Respuesta #2
claro ten en cuenta que ahora mismo tienes 2 headers en la misma pagina por eso te tira el error
0
Puntos
Puntos
Por zeuskx hace 12 años
Mods
Respuesta #3
Ya funciona a la perfeccion :D
0
Puntos
Puntos
Por miguelsirna hace 12 años
Novice