derrepnete funcionan derrepente no!! mier..!!
e probado de todoo!!
si hay codigo html arriba del script php que tiene el header's no vaa funcionar entoncs lo tengo q colocar debajo..! muy bein!
tambien est ala opcion de ob_star() y ob_end_flush(); que segun lo tanto que e leido.. si lo colocas enel codigo php.. al principio y al final.. entonces podras poner tu codigo html tranquilamente del lado de arriba...!!!
Mi peo es que ! ok e puesto el ob_star()......... y el html arriba... y
hay veces que si me funcionaa!! y veces que nooo!!! :S silo pngo abajo no me sirve por q tengo una funcion en java script! que redirecciona...
entoncs el codigo de php dice: si se ahace tal cosa.. manda a java mandar un msj y luego funcion() y funcion() redirecciona con windon.location= blablabla ---
entoncs si coloco el codigo html abajo.. no em agarra... :S
y no puedo quitra los header..lso header comprueba si la seccion se inicio.. y si no lo manda a acceso.html .. -.-
aqui el codigo para qlo entiendan mejor.. !
Código PHP:
<head>
<meta http-equiv="Content-Language" content="es">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Invertir</title>
<script language="JavaScript">
<!--
var nav4 = window.Event ? true : false;
function acceptNum(evt){
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57
var key = nav4 ? evt.which : evt.keyCode;
return (key <= 13 || (key >= 48 && key <= 57));
}
//-->
</script>
<script type="text/javascript">
function redireccionar(){
window.location="misinversiones.php";
}
</script>
</head>
<body bgcolor="#C0C0C0">
<script>
function cambio(object, colores){
object.style.background=colores}
</script>
<form method="POST" action="invertir.php">
<p align="center">
<u><b>Hacer Inversion.</b></u></p>
<table border="0" width="100%" id="table1">
<tr>
<td width="182"><font color="#FF0000">Tu Código de Seguridad</font></td>
<td>
<input type="text" onfocus="cambio(this,'#ffffff')" name="codigo" size="15" style="color: #000000; background-color: #CCCCCC"></td>
</tr>
<tr>
<td width="182">Monto a invertir</td>
<td>
<input type="text" onfocus="cambio(this,'#ffffff')" name="monto" size="15" style="color: #000000; background-color: #CCCCCC"></td>
</tr>
<tr>
<td width="182">Plazo</td>
<td><SELECT name="plazo" size="1">
<OPTION value="30" selected>30 dias</OPTION>
<OPTION value="60">60 dias</OPTION>
<OPTION value="90">90 dias</OPTION>
<OPTION value="120">120 dias</OPTION>
</SELECT></td>
</tr>
<tr>
<td width="182">Renovación Automática por: </td>
<td><SELECT name="renovacion" size="1">
<OPTION value="0" selected>0</OPTION>
<OPTION value="1">1 vez</OPTION>
<OPTION value="2">2 veces</OPTION>
<OPTION value="3">3 veces</OPTION>
</SELECT></td>
</tr>
</table>
<p><input type="submit" value="Invertir" name="B1"></p>
</form>
</body>
<?ob_start();
session_start();
include ('../seg/conexion.php');
if(!isset($_SESSION['s_nombre']))header("location: acceso.php");
// Preguntaremos si se han enviado ya las variables necesarias
if (isset($_POST["codigo"])) {
$nombre= $_SESSION["s_nombre"];
$sc = $_POST["codigo"];
$plazo = $_POST["plazo"];
$monto = $_POST["monto"];
$renovable = $_POST["renovacion"];
$mail2 = "[email protected]";
$fecha=time();
$consulta=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
$lado=mysql_num_rows ($consulta);
while($row=mysql_fetch_array($consulta)){
$disponible=$row["disponible"];
}
$consulta3=mysql_query("SELECT email FROM usuarios WHERE nombre='$nombre'");
$lado3=mysql_num_rows ($consulta3);
while($row=mysql_fetch_array($consulta3)){
$para2=$row["email"];
}
$ganancia = (($monto*50)/100);
// Hay campos en blanco
if(empty($monto) | empty($sc)) {
echo "<center>Ingrese todos los campos.</center>";
}else{
$query = mysql_query("SELECT sc FROM usuarios WHERE nombre = '$nombre'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['sc'] != $sc) {
echo "<center>Codigo de Seguridad Incorrecto<center>";
}else{
if($disponible<$monto) {
echo "<center>No posees Suficiente Gold Disponible en tu cuenta<center>";
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
$header = 'From: ' . $mail2 . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje = "Hola " . $nombre . " has invertido en nuestro banco. \r\n";
$mensaje .="\r\n";
$mensaje .= " Por un monto de " . $monto . " Gold\r\n";
$mensaje .="\r\n";
$mensaje .= "Fecha de la Inversion ".$fecha." \r\n";
$mensaje .="\r\n";
$mensaje .= "A un plazo de ".$plazo." \r\n";
$mensaje .="\r\n";
$mensaje .= "Renovacion Automatica ".$renovacion." \r\n";
$mensaje .="\r\n";
$mensaje .= "Puedes Revisar esta inversion en 'Mis inversiones' en tu panel de usuario \r\n";
$mensaje .= "Gracias por usar Banco de Comercio";
$asunto = 'Has realizado una Inversion';
mail($para, $asunto, utf8_decode($mensaje), $header);
$mensaje2 = "El Usuario " . $nombre . " a Realizado una inversion.\r\n";
$mensaje2 .="\r\n";
$mensaje .= " Por un monto de " . $monto . " Gold\r\n";
$mensaje .="\r\n";
$mensaje .= "Fecha de la Inversion ".$fecha." \r\n";
$mensaje .="\r\n";
$mensaje .= "A un plazo de ".$plazo." \r\n";
$mensaje .="\r\n";
$mensaje .= "Renovacion Automatica ".$renovacion." \r\n";
$mensaje2 .="\r\n";
$asunto2 = 'Nueva Inversion';
$para = "[email protected]";
mail($para, $asunto2, utf8_decode($mensaje2), $header);
$query = "INSERT INTO inversiones (nombre, invertido, dia, plazo, ganancia, renovable, fechaini) VALUES('$nombre','$monto','$plazo','$plazo','$ganancia','$renovable','$fecha')";
mysql_query($query) or die(mysql_error());
$query = "UPDATE usuarios SET disponible = disponible-$monto WHERE nombre='$nombre'";
mysql_query($query) or die(mysql_error());
echo "<script type=\"text/javascript\">alert(\"Inversion Realizada Con Existo, podra ver sus inverciones en el menu 'mis inversiones'.\"); redireccionar(); </script>";
}
}
}
}
ob_end_flush();
?>
El error que m da es este!!
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\banco\es\invertir.php:66) in C:\AppServ\www\banco\es\invertir.php on line 67