Problema email y autenticación

Hola de nuevo. Bueno la pregunta va relacionada sobre el tema de recibir el formulario de autenticación del usuario, y luego desde la página referenciada en action, en este caso "correo.php", decido si el usuario tiene privilegios de usuario o no, y si los tiene, puede escribir un formulario que sera el cuerpo del correo que
Se enviara a todos los pertenecientes a la tabla usuarios, y esto lo quiero hacer en esta misma página, es decir correo.php, que creo que es lo que se llama autorecogida de variables de formulario, el caso es que algo no me funciona y me pone un error muy extraño, quizás tu sepas de que se trata, te dejo todo el código de la página correo.php:
<?php
$nombre_usuario= $_POST['nombre_usuario'];
$password=$_POST['password'];
$password=mysql_escape_string($password);
$nombre_usuario=mysql_escape_string($nombre_usuario);
$conexion=mysql_pcconnect('localhost','david','aikido');
$conexion=mysql_select_db('Usuarios',$conexion);
$consulta=mysql_query("SELECT * FROM datos WHERE nombre='$nombre_usuario',password='$password' ",$conexion);
$privilegio=mysql_fetch_row($consulta);
if($privilegio['privilegios']<>10)
{
die("a chuparla,no tienes privilegios de administrador");
}
$_SESSION['privilegios']=$privilegio['privilegios'];
session_start();
if (!isset( $_SESSION['privilegios'])) {
die("a chuparla");
} else {
if ($_SESSION['privilegios'] < 10) {
die("a chuparla");
} else { ?>
<form action="correo.php" method="post">
<P><font color="#FF6600" size="4" face="Geneva, Arial, Helvetica, sans-serif"><strong>Escribe aqui tu correo:</strong></font></P>
<textarea name="body" cols="40" rows="15"></textarea>
<input type="submit" name="Submit" value="Enviar">
</form>
<?php
$body=mysql_escape_string($_POST['body']);
if (!isset($body))
{
die("no has escrito ningun mensaje");
}
else
{ if(mysql_fetch_row($consulta))
{
$correo=mysql_fetch_row($consulta);
mail($correo['email'],"Novedades",$body,"From: [email protected]");
}
}
}
session_unset();
mysql_free_result ( $consulta );
mysql_close ( $conexion );
?>
El error que me da es este:
Parse error: parse error, unexpected $ in c:\foxserv\www\david\correo.php on line 69
Por favor si ves algo en el código que se pueda mejorar de forma sencilla, no dudes en decírmelo, muy agradecido por tu tiempo, david.
1

1 Respuesta

5.625 pts.
Que yo haya visto, te falta un cierre de llave.
En cualquier caso, para no sufrir errores frustrantes ( yo he sufrido muchos con PHP :) ) te recomiendo que completes todos los if con sus else's o else if y luego borres el bloque si no has escrito código.
********************
<?php
$nombre_usuario= $_POST['nombre_usuario'];
$password=$_POST['password'];
$password=mysql_escape_string($password);
$nombre_usuario=mysql_escape_string($nombre_usuario);
$conexion=mysql_pcconnect('localhost','david','aikido');
$conexion=mysql_select_db('Usuarios',$conexion);
$consulta=mysql_query("SELECT * FROM datos WHERE nombre='$nombre_usuario',password='$password' ",$conexion);
$privilegio=mysql_fetch_row($consulta);
if($privilegio['privilegios']<>10){
die("a chuparla,no tienes privilegios de administrador");
}
$_SESSION['privilegios']=$privilegio['privilegios'];
session_start();
if (!isset( $_SESSION['privilegios'])) {
die("a chuparla");
} else {
if ($_SESSION['privilegios'] < 10) {
die("a chuparla");
} else { ?>
<form action="correo.php" method="post">
<P><font color="#FF6600" size="4" face="Geneva, Arial, Helvetica, sans-serif"><strong>Escribe aqui tu correo:</strong></font></P>
<textarea name="body" cols="40" rows="15"></textarea>
<input type="submit" name="Submit" value="Enviar">
</form>
<?php
$body=mysql_escape_string($_POST['body']);
if (!isset($body))
{
die("no has escrito ningun mensaje");
}
else{
if(mysql_fetch_row($consulta)){
$correo=mysql_fetch_row($consulta);
mail($correo['email'],"Novedades",$body,"From: [email protected]");
}
}
}
}<<<<<<<<<<< Cierre de Llave
session_unset();
mysql_free_result ( $consulta );
mysql_close ( $conexion );
?>
********************

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas