Jump to content
Sign in to follow this  
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.

Share this post


Link to post
Share on other 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>

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.