Hola, les cuento:
Tengo un formulario.html que hace un action a un register.php
En ese mismo register necesito hacer una redirección, pero no me anda. Si la redirección la pongo en el formulario.html me anda (lo probé).
Les muestro ambos codigos:
formulario.html
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>roScripts.com - ajax validation form</title>
<script type="text/javascript" src="js/mootools.js"></script>
<script type="text/javascript">
window.addEvent('domready', function(){
$('registerForm').addEvent('submit', function(e) {
new Event(e).stop();
var log = $('log_res').empty().addClass('ajax-loading');
this.send({
update: log,
onComplete: function() {
log.removeClass('ajax-loading');
}
});
});
});
</script>
<style type="text/css">
body {
font:0.7em Arial, helvetica, sens-serif;
color:#567475;
}
.input {
border: 1px solid #99b3b4;
width: 220px;
background: #e4ebeb;
font: 11px verdana, sans-serif;
color:#443;
padding:3px;
margin-bottom:4px;
outline:none;
}
.input:focus {
border:1px solid #567475;
background: #e4ebeb;
}
.submit-btn {
width: 54px;
height: 20px;
background: #743 url(http://www.roscripts.com/images/submit.gif) no-repeat;
outline: none;
}
.submit-btn:hover {
background: #069 url(http://www.roscripts.com/images/submit.gif) no-repeat 0 -20px;
}
div#container {
border:1px solid #99b3b4;
padding:15px;
margin:auto;
width:400px;
}
#log_res {
height:auto;
padding:15px;
margin:100px auto 20px auto;
width:400px;
}
#log_res p {
margin:0;
padding:4px 0 4px 0;
}
#log_res.ajax-loading
{background: url(http://www.roscripts.com/images/spinner.gif) no-repeat center;
}
.error {
color:red;
margin:0;
padding:0;
}
</style>
<!--
____ __
/\ _`\ __ /\ \__
_ __ ___\ \,\L\_\ ___ _ __ /\_\ _____\ \ ,_\ ____
/\`'__\/ __`\/_\__ \ /'___\/\`'__\/\ \/\ '__`\ \ \/ /',__\
\ \ \//\ \L\ \/\ \L\ \/\ \__/\ \ \/ \ \ \ \ \L\ \ \ \_/\__, `\
\ \_\ \____/\ `\____\ \____\ \_\ \ \_\ \ ,__/\ \__\/\____/
\/_/ \/___/ \/_____/\/____/ \/_/ \/_/\ \ \/ \/__/\/___/
\ \_\
\/_/
Making your world easy
-->
</head>
<body>
<div id="log">
<div id="log_res">
<!-- SPANNER -->
</div>
</div>
<div id="container">
<form method="post" id="registerForm" action="register.php">
<table align="center" cellpadding="2" cellspacing="0">
<tr>
<td style="width:120px"><div align="left"><strong><LABEL for="First_name">First name:</LABEL></strong></div></td>
<td><div align="left" class="string">
<input name="First_name" type="text" class="input" id="First_name" value="" size="32" /></div>
</td>
</tr>
<tr>
<td style="width:120px"><div align="left"><strong><LABEL for="Last_name">Last name:</LABEL></strong></div></td>
<td><div align="left">
<input name="Last_name" class="input" type="text" id="Last_name" value="" size="32" /></div></td>
</tr>
<tr>
<td style="width:120px"><div align="left"><strong><LABEL for="Username">Username:</LABEL></strong></div></td>
<td><div align="left">
<input name="Username" type="text" class="input" id="Username" value="" size="32" /></div>
</td>
</tr>
<tr>
<td style="width:120px"><div align="left"><strong><LABEL for="Password">Password:</LABEL></strong></div></td>
<td><div align="left">
<input name="Password" type="password" class="input" id="Password" value="" size="32" /></div></td>
</tr>
<tr>
<td style="width:120px"><div align="left"><strong><LABEL for="re_Password">Re-type Password:</LABEL></strong></div></td>
<td><div align="left">
<input name="re_Password" type="password" class="input" id="re_Password" value="" size="32" /></div></td>
</tr>
<tr>
<td style="width:120px"><div align="left"><strong><LABEL for="Email">Email:</LABEL></strong></div></td>
<td><div align="left">
<input name="Email" type="text" class="input" id="Email" value="" size="32" /></div></td>
</tr>
<tr>
<td colspan="2"><div align="right">
<input type="image" name="register" class="submit-btn" src="http://www.roscripts.com/images/btn.gif" alt="submit" title="submit" />
</div></td>
</tr>
</table>
</form>
</div>
</body>
</html>
y este es el register.php
Código:
<?php
include('functions.php');
if ($_POST['First_name']=='' || strlen($_POST['First_name'])<3)
{
$errors[] = 'First name is required and must contain 3 characters or more';
}
if ($_POST['Last_name']=='' || strlen($_POST['Last_name'])<3)
{
$errors[] = 'Last name is required and must contain 3 characters or more';
}
if ($_POST['Username']=='' || alpha_numeric($_POST['Username'])==FALSE)
{
$errors[] = 'Username is required and must be alpha-numeric';
}
if ($_POST['Password']=='' || alpha_numeric($_POST['Password'])==FALSE)
{
$errors[] = 'A password is required and must be alpha-numeric';
}
if ($_POST['Password']!=$_POST['re_Password'])
{
$errors[] = 'The two passwords must match';
}
if (valid_email($_POST['Email'])==FALSE)
{
$errors[] = 'Please supply a valid email address';
}
if(isset($errors))
{
echo '<p class="error"><b>The following errors occured</b></p>';
while (list($key,$value) = each($errors))
{
echo '<span class="error">'.$value.'</span><br />';
}
}
else {
//do something here----store to db, send email
echo '<p><b>Success!</b></p>';
echo '<span>Your registration was successfully processed. You may login and start using your account. Thank you for registering !</span>';
echo "<meta http-equiv='refresh' content='0;url=desauto.php'>";
}
?>
Como pueden observar en el register.php, la redireccion esta al final. Es esta LINEA:
Código:
echo "<meta http-equiv='refresh' content='0;url=desauto.php'>";
pero NO ME DA BOLA. dice el mensaje de arriba pero no redirecciona y no me dice nada. Alguien tiene idea?
Probe con header(location:link.php); de php y no solo no me da bola, sino que me da el siguiente error:
Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\ajax_validation\register.php:47) in c:\program files\easyphp1-8\www\ajax_validation\register.php on line 50
Alguien por favor que me diga una forma de redirección y que funcione, es sencillo pero ya no se que hacer