Problema con Variables PHP

Iniciado por iMarcSpS, 15 Abril 2012, 15:48 PM

0 Miembros y 1 Visitante están viendo este tema.

EFEX

#10
Mas adelante tenes que quitar el endif; y agregar un corchete final.
Código (php) [Seleccionar]

<input type="submit" name="submit" value="ALTA" /></p>
</form>
<?php ?>
</body>
</html>


Algo para agregar, es que se pueden usar los dos puntos con if, como lo explica en php
Pero para usar los dos puntos y corchetes se deve agregar un punto y coma al final del cierre del if{};
Código (php) [Seleccionar]

if($var):
.
.
if ($mysql_query($sql)) {
echo("<p>Alta dada satisfactoriamente</p>");
} else {
echo("<p>Error al darse de alta.: " . mysql_error() . "</p>");
}; // <---- punto y coma
.
.
else:
   echo $otravar;
endif;

GITHUB 

satu

No sabía yo eso de los : en los if

Muy bueno EFEX
Breakbeat como forma de vida

iMarcSpS

Cita de: EFEX en 15 Abril 2012, 17:13 PM
Mas adelante tenes que quitar el endif; y agregar un corchete final.
Código (php) [Seleccionar]

<input type="submit" name="submit" value="ALTA" /></p>
</form>
<?php ?>
</body>
</html>


Algo para agregar, es que se pueden usar los dos puntos con if, como lo explica en php
Pero para usar los dos puntos y corchetes se deve agregar un punto y coma al final del cierre del if{};
Código (php) [Seleccionar]

if($var):
.
.
if ($mysql_query($sql)) {
echo("<p>Alta dada satisfactoriamente</p>");
} else {
echo("<p>Error al darse de alta.: " . mysql_error() . "</p>");
}; // <---- punto y coma
.
.
else:
   echo $otravar;
endif;



Me sale lo mismo os paso el codigo final que tengo ahora haber si encontramos el fallo:

<title> Añadir un nuevo alumno </title>
</head>
<body>
<?php
if(!empty($_POST['submit']))
$dbcnx mysql_connect("localhost""root""tubititu");
mysql_select_db("alumnos");
$sql "INSERT INTO alumnos SET 
mobre = '
$nombre',
apellido = '
$apellido',
nacimiento = '
$nacimiento',
email = '
$email'  ";
if (
$mysql_query($sql)) {
echo(
"<p>Alta dada satisfactoriamente</p>");
} else {
echo(
"<p>Error al darse de alta.: " mysql_error() . "</p>");
}; 
// <---- punto y coma
?>

<p><a href="<?=$PHP_SELF?>">Añadir un nuevo alumno.</a></p>
<?php
else{
?>

<form action="<?=$PHP_SELF?>" method="post">
<p>Introduzca sus datos:<br />
Nombre: <input type="text" name="nombre" size="20" maxlength="255" /><br />
Apellido: <input type="text" name="apellido" size="20" maxlength="255" /><br />
Fecha de nacimiento (aaaa/mm/dd): <input type="text" name="nacimiento" size="20" maxlength="255" /><br />
Email: <input type="text" name="email" size="20" maxlength="255" /><br />
<input type="submit" name="submit" value="ALTA" /></p>
</form>
<?php endif} ?>
</body>
</html>

javirk

Hola, falta el { en el primer if, y el } a la izquierda del else.

satu

Hola

Código (php) [Seleccionar]

<title> Añadir un nuevo alumno </title>
</head>
<body>
<?php
if(!empty($_POST['submit'])) {
    
$dbcnx mysql_connect("localhost""root""tubititu");
    
mysql_select_db("alumnos");
    
$nombre $_POST['nombre'];
    
$apellido $_POST['apellido'];
    
$nacimiento $_POST['nacimiento'];
    
$email $_POST['email'];
    
$sql "INSERT INTO alumnos SET
        mobre = '
$nombre',
        apellido = '
$apellido',
        nacimiento = '
$nacimiento',
        email = '
$email'  ";
if (mysql_query($sql)) {
echo("<p>Alta dada satisfactoriamente</p>");
} else {
echo("<p>Error al darse de alta.: " mysql_error() . "</p>");
}
?>

<p><a href="<?=$PHP_SELF?>">Añadir un nuevo alumno.</a></p>
<?php
}else{
?>

<form action="<?=$PHP_SELF?>" method="post">
<p>Introduzca sus datos:<br />
Nombre: <input type="text" name="nombre" size="20" maxlength="255" /><br />
Apellido: <input type="text" name="apellido" size="20" maxlength="255" /><br />
Fecha de nacimiento (aaaa/mm/dd): <input type="text" name="nacimiento" size="20" maxlength="255" /><br />
Email: <input type="text" name="email" size="20" maxlength="255" /><br />
<input type="submit" name="submit" value="ALTA" /></p>
</form>
<?php ?>
</body>
</html>


Saludos

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
Breakbeat como forma de vida

EFEX

Hay quedo mas ordenado por satu ;D
Podes pasar por el sitio oficial de php, tienen documentacion que te interesará.

Estructuras de Control
http://www.php.net/manual/es/language.control-structures.php
GITHUB 

satu

Hola

Además he añadido algunas cosas porque al solucionar el error de las llaves tiraba errores de variables no inicializadas:

Código (php) [Seleccionar]

$nombre = $_POST['nombre'];
$apellido = $_POST['apellido'];
$nacimiento = $_POST['nacimiento'];
$email = $_POST['email'];


Saludos
Breakbeat como forma de vida

iMarcSpS

Cita de: satu en 15 Abril 2012, 17:29 PM
Hola

Código (php) [Seleccionar]

<title> Añadir un nuevo alumno </title>
</head>
<body>
<?php
if(!empty($_POST['submit'])) {
    
$dbcnx mysql_connect("localhost""root""tubititu");
    
mysql_select_db("alumnos");
    
$nombre $_POST['nombre'];
    
$apellido $_POST['apellido'];
    
$nacimiento $_POST['nacimiento'];
    
$email $_POST['email'];
    
$sql "INSERT INTO alumnos SET
        mobre = '
$nombre',
        apellido = '
$apellido',
        nacimiento = '
$nacimiento',
        email = '
$email'  ";
if (mysql_query($sql)) {
echo("<p>Alta dada satisfactoriamente</p>");
} else {
echo("<p>Error al darse de alta.: " mysql_error() . "</p>");
}
?>

<p><a href="<?=$PHP_SELF?>">Añadir un nuevo alumno.</a></p>
<?php
}else{
?>

<form action="<?=$PHP_SELF?>" method="post">
<p>Introduzca sus datos:<br />
Nombre: <input type="text" name="nombre" size="20" maxlength="255" /><br />
Apellido: <input type="text" name="apellido" size="20" maxlength="255" /><br />
Fecha de nacimiento (aaaa/mm/dd): <input type="text" name="nacimiento" size="20" maxlength="255" /><br />
Email: <input type="text" name="email" size="20" maxlength="255" /><br />
<input type="submit" name="submit" value="ALTA" /></p>
</form>
<?php ?>
</body>
</html>


Saludos

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

Y Que error hay en este me sale esto:

Parse error: syntax error, unexpected $end in C:\xampp\htdocs\queridos.php on line 70

<!- queridos.php ->
<html>
<head>
<title>Votación profesores</title>
</head>
<form action="<?=$PHP_SELF?>" method="post">
<body>
<?php
if ($bueno == "a")
{
$con=mysql_connect("localhost""root""tubititu");
mysql_select_db("www");
$sql="UPDATE populares SET votos=votos+1 WHERE ID=1";
if (!
mysql_query($sql)) {
echo 
"Error en la votación. Inténtelo de nuevo.";}
}
if (
$bueno == "b")
{
$con=mysql_connect("localhost""root""tubititu");
mysql_select_db("www");
$sql="UPDATE populares SET votos=votos+1 WHERE ID=2";
if (!
mysql_query($sql)) {
echo 
"Error en la votación. Inténtelo de nuevo.";}
{
if (
$bueno == "c");
{
$con=mysql_connect("localhost""root""tubititu");
mysql_select_db("www");
$sql="UPDATE populares SET votos=votos+1 WHERE ID=3";
if (!
mysql_query($sql)) {
echo (
"Error en la votación. Inténtelo de nuevo.");}
}
?>

<table>
<tr>
<td>¿Quién fue para tí el profesor más querido del Colegio Maravillas?</td>
<td>select name="bueno"><option value = "a">Pablo Partido, "El Leches"<option value = "b">Avelino Puebla "El Fabas"<option value = "c">Cesar Artero "Hermano Artero"
</select></td>
<td colspan=2 align=center>
<input type=submit value "Vota! ">
</td>
</tr>
<br><br><br><br><br>
</table>
</form>
<?php
$bd
=@mysql_connect("localhost""root""tubititu");
if (!
$bd) {
echo 
"Error, No se puede conectar con la base de datos en este momento. Inténtelo más tarde. ";
exit();
}
$sel=@mysql_select_db("www");
if (!
$sel)
{
echo 
"Error, No se puede acceder a la base de datos en este momento. Inténtelo más tarde.";
exit();
}
$busqueda=@mysql_query("SELECT nombre, apellido, mote, votos FROM populares");
if (!
$busqueda)
{
echo (
"Error al seleccionar los elementos de la base de datos. Inténtelo más tarde");
exit();
}
while (
$row mysql_fetch_array($busqueda))
{
echo (
"<p>" $row["nombre"]." ".$row["apellido"]." " ."'".$row["mote"]."'"." ".$row["votos"]." votos" "</p>");
}
?>

</body>
</html>

EFEX

Revisa el cierre y apertura de los if{}.
GITHUB 

satu

Hola

EFEX te ha dicho cómo solucionarlo.

Además en el if de debajo te sobra el ;

Y además sigues teniendo los mismos errores que intento corregirte desde el principio. La variable $bueno no la tienes inicializada.

Además te aconsejo que identes el código con tabuladores para que sea más legible .

Saludos
Breakbeat como forma de vida