Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Zero Minamoto

Notice: Undefined index: submit

Recommended Posts

Então, eu estou criando um sistema de postagens e criei, dentre outros arquivos, dois que estou tendo particular dificuldade. Um deles é a página de login do usuário/administrador feita através de um formulário, a outra é a página com o formulário que irá fazer a postagem. Teoricamente, após escrever o usuário e senha corretos em login.php serei redirecionado para admin.php, onde poderei fazer a postagem. O meu primeiro problema está nesta página de login: Após eu digitar o usuário e senha que especifiquei para serem os corretos, o formulário ao invés de me enviar para a página onde farei a postagem fica em branco e não redireciona para admin.php. E além disso, acima dele aparece a mensagem: Notice: Undefined index: submit in C:\wamp\www\blog_simples\login.php on line 4

 

login.php:

<?php
	session_start();
	
	if($_POST['submit']) {
		$dbUserName = "admin";
		$dbPassword = "password";
		
		$username = strip_tags($_POST["username"]);
		$username = strtolower($username);
		$password = strip_tags($_POST["password"]);
		
		if($username == $dbUserName && $password == $dbPassword) {
			$_SESSION['username'] = $username;
			header('Location: admin.php');
		} else {
			echo "Wrong username or password, asshole!";
		}
	}
?>

.......

<form action="login.php" method="post">
		Username: <input type="text" name="username">
		Password: <input type="password" name="password">
		
		<input type="submit" name="submit" value="Login"/>
	</form>

admin.php:

<?php
	session_start();
	
	if(isset($_SESSION['username'])) {
		$username = ucfirst($_SESSION['username']);
			if($_POST['submit']) {
				$title = $_POST['title'];
				$autor = $_POST['aut'];
				$content = $_POST['content'];
				include_once("connection.php");
				$sql = mysqli_query($conn, "INSERT INTO posts (titulo, autor, conteudo) VALUES ('$title', '$autor', '$content')");
				
				echo "Postado com sucesso";
			}
			else {
				header('Location: login.php');
				die();
			}
	}
?>

E a index.php, apenas para não deixar pontos vazios:

<!DOCTYPE html>
<html>

<head>
	<meta charset="UTF-8"/>
	<title>Blog Simples</title>
	<link rel="stylesheet" type="text/css" href="estilo.css">
</head>

<body>
	<h1 style="text-align: center;">Meu Primeiro Blog Simples</h1>
	
	<section id="corpo">
	<article id="artigo-principal">
	<?php
		include_once("connection.php");
		
		$sql = mysqli_query($conn, "SELECT * FROM posts ORDER BY id DESC");
		
		while($row = mysqli_fetch_array($sql)){
			$title = $row['titulo'];
			$autor = $row['autor'];
			$content = $row['conteudo'];
	?>
		<h2><?php echo $title; ?> - <small><?php echo $autor; ?></small></h2>
		<hr/> 
		<?php echo $content; ?>
		
		
	
	<?php
	
		}
	?>
	
	
	<br />
</article>
</section>
	<a href = "admin.php">Admin</a>

</body>
</html>

Agradeceria se me ajudassem a encontrar o problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Formulário da admin.php:

<h1>Welcome, <?php echo $dbUserName; ?>!</h1>
			<form method="post" action="admin.php">
				Título: <input type="text" name="title">
				Autor: <input type="text" name="aut">
				Conteúdo: <textarea name="content"></textarea>
				
				<input type="submit" name="submit" value="Post blog entry!"/>
			</form>
			
			<br />
			<a href="index.php">Home Page</a> | <a href="logout.php">Logout</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Valide com isset

if(isset($_POST['submit']))

Obrigado! Mas o outro problema persiste: Toda vez que digito o usuário e a senha corretos e clico em Login, os campos ficam em branco novamente e eu permaneço na página de login, não sou enviado para admin.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.