Insertar datos con sesión iniciada
Publicado por María de Alejandría (37 intervenciones) el 21/01/2017 12:11:41
Me ha surgido de nuevo un problema a la hora de insertar datos. Esta vez se trata de insertar datos en una tabla llamada periódicos cuyos atributos son: un número de id que se incrementa de forma automática, el título del periódico y un autor, el cual es el usuario que ha iniciado la sesión( exactamente tengo aquí el problema, a la hora de insertar dicho autor los datos no se me insertan y no me aparece ninguno de los mensajes que he programado: ni el de acierto ni el de error). Pregunté ayer sobre esto y me dijeron que estaba haciendo referencia a una variable no declarada,cambié dicha variable por una existente pero tengo el mismo problema.Dejo mi código:
<?php
$titulo=$_POST['titulo'];
$autor=$_SESSION['nombre'];
$mysqli = mysqli_connect("localhost","root","clave","usuarios");
if (!$mysqli) {
echo 'No se pudo establecer la conexión con la base de datos';
}
else{
$consulta="INSERT INTO periodicos(titulo,autor) VALUES ('$titulo','$autor')";
$consulta_autor="SELECT * FROM periodicos WHERE autor='$autor'";
$checkautor=mysqli_query($mysqli,$consulta_autor);
$check_autor=mysqli_num_rows($checkautor);
if($check_autor>0){
echo ' <script language="javascript">alert("Atencion,este usuario ya ha creado un periodico, por favor,modifique los datos introducidos");</script> ';
}else{
if(!mysqli_query($mysqli,$consulta)){
echo ' <script language="javascript">alert("Error, no se han podido registrar los datos");</script> ';
}
else{
echo ' <script language="javascript">alert("Periódico registrado con éxito");</script> ';
}
}
}
?>
Por si acaso dejo los formularios. He hecho varios formularios puesto que la idea principal es que el autor pueda crear un periódico( formulario1), añadir secciones( formulario2), eliminar secciones (formulario3) y modificar secciones( formulario4). Las secciones se recogen en otra tabla la cual cuenta con los siguientes atributos: nombre de la sección, id de la sección con autoincremento y nombre del periódico al que pertenece:
<?php
session_start();
?>
<!DOCTYPE HTML>
<?php
$_SESSION['nombre']=$_POST['nombre'];
$_SESSION['pass']=$_POST['pass'];
?>
<fieldset>
<form id="formulario" action="gestion.php" method="post">
<p>Crear periódico</p>
<input type="text" name="titulo" value="" required placeholder="Título"/>
<button class="button" type="submit" name="submit">Enviar</button>
</form>
<?php
if(isset($_POST['submit'])){
require("registroPeriodico.php");
}
?>
<form id="formulario2" action="#" method="post">
<p>Añadir sección</p>
<input type="text" name="nombre2" value="" required placeholder="Nombre de la sección"/>
<button class="button" type="submit" name="submit">Enviar</button>
</form>
<form id="formulario3" action="#" method="post">
<p>Eliminar sección</p>
<input type="text" name="nombre3" value="" required placeholder="Nombre de la sección a eliminar"/>
<button class="button" type="submit" name="submit">Enviar</button>
</form>
<form id="formulario4" action="#" method="post">
<p>Modificar sección</p>
<input type="text" name="nombre4" value="" required placeholder="Nombre de la sección a modificar" />
<button class="button" type="submit" name="submit">Enviar</button>
</form>
</fieldset>
</html>
Como siempre digo gracias de antemano a quien o quienes respondan y perdón por las molestias
<?php
$titulo=$_POST['titulo'];
$autor=$_SESSION['nombre'];
$mysqli = mysqli_connect("localhost","root","clave","usuarios");
if (!$mysqli) {
echo 'No se pudo establecer la conexión con la base de datos';
}
else{
$consulta="INSERT INTO periodicos(titulo,autor) VALUES ('$titulo','$autor')";
$consulta_autor="SELECT * FROM periodicos WHERE autor='$autor'";
$checkautor=mysqli_query($mysqli,$consulta_autor);
$check_autor=mysqli_num_rows($checkautor);
if($check_autor>0){
echo ' <script language="javascript">alert("Atencion,este usuario ya ha creado un periodico, por favor,modifique los datos introducidos");</script> ';
}else{
if(!mysqli_query($mysqli,$consulta)){
echo ' <script language="javascript">alert("Error, no se han podido registrar los datos");</script> ';
}
else{
echo ' <script language="javascript">alert("Periódico registrado con éxito");</script> ';
}
}
}
?>
Por si acaso dejo los formularios. He hecho varios formularios puesto que la idea principal es que el autor pueda crear un periódico( formulario1), añadir secciones( formulario2), eliminar secciones (formulario3) y modificar secciones( formulario4). Las secciones se recogen en otra tabla la cual cuenta con los siguientes atributos: nombre de la sección, id de la sección con autoincremento y nombre del periódico al que pertenece:
<?php
session_start();
?>
<!DOCTYPE HTML>
<?php
$_SESSION['nombre']=$_POST['nombre'];
$_SESSION['pass']=$_POST['pass'];
?>
<fieldset>
<form id="formulario" action="gestion.php" method="post">
<p>Crear periódico</p>
<input type="text" name="titulo" value="" required placeholder="Título"/>
<button class="button" type="submit" name="submit">Enviar</button>
</form>
<?php
if(isset($_POST['submit'])){
require("registroPeriodico.php");
}
?>
<form id="formulario2" action="#" method="post">
<p>Añadir sección</p>
<input type="text" name="nombre2" value="" required placeholder="Nombre de la sección"/>
<button class="button" type="submit" name="submit">Enviar</button>
</form>
<form id="formulario3" action="#" method="post">
<p>Eliminar sección</p>
<input type="text" name="nombre3" value="" required placeholder="Nombre de la sección a eliminar"/>
<button class="button" type="submit" name="submit">Enviar</button>
</form>
<form id="formulario4" action="#" method="post">
<p>Modificar sección</p>
<input type="text" name="nombre4" value="" required placeholder="Nombre de la sección a modificar" />
<button class="button" type="submit" name="submit">Enviar</button>
</form>
</fieldset>
</html>
Como siempre digo gracias de antemano a quien o quienes respondan y perdón por las molestias
Valora esta pregunta
0