Ir ao conteúdo
  • Cadastre-se

PHP Fiz o login e tudo certo, funciona no Xampp, mas não no 000webHos


Ir à solução Resolvido por DiF,

Posts recomendados

Boa tarde.
Fiz um sistema de login, fiz testes usando o xampp e funcionou tudo ok, porém quando faço o upload para o 000webhost com a conexão toda correta com BD, eu consigo fazer o login, entroas paginas e quando vou enviar um formulário, diz que eu preciso estar logado. Não estou conseguindo achar o problema, já que quando testo no meu XAMPP funciona tudo perfeito.

 

MEU PROTECT.PHP PARA FAZER COM QUE SOMENTE O USUARIO LOGADO POSSA FAZER TAL AÇÃO

<?php

if(!isset($_SESSION)) {
    session_start();
}

if(!isset($_SESSION['email']) || !isset($_SESSION['id_colaboradores'])) {
    die("Você não pode acessar esta página porque não está logado.<p><a href=\"index.php\">Entrar</a></p>");
}

?>
AQUI É MEU LISTARUSUARIOS.PHP LISTA TODAS PESSOAS INCLUSAS NO MEU BANCO DE DADOS, PARA QUE EU POSSA ESCOLHER PARA QUEM MANDAR MEU FORMULARIO

<?php
include_once "conexao.php";

include('protect.php');


$name = $_SESSION['nome'];

//consultar no banco de dados      

$result_usuario = "SELECT * FROM colaboradores WHERE nome != '$name' ORDER BY nome";
$resultado_usuario = mysqli_query($mysqli, $result_usuario);

//Verificar se encontrou resultado na tabela "auto_u"

if(($resultado_usuario) AND ($resultado_usuario->num_rows != 0)){
	?>
	<table class="table table-striped table-bordered table-hover">
		<thead>
			<tr>
				<th style="color: red;">NOME</th>
				<th style="color: red;">SOBRENOME</th>
				<th style="color: red;">DEPARTAMENTO</th>
				<th style="color: red;">CARGO</th>
				<th style="color: red;">  </th>
			</tr>
		</thead>
		<tbody>
			<?php
			while($row_usuario = mysqli_fetch_assoc($resultado_usuario)){

				  $id_colaboradores = $row_usuario['id_colaboradores'];				

				?>
				<form method="_POST">
					<tr>

						<th><?php echo $row_usuario['nome']; ?></th>
						<td><?php echo $row_usuario['sobrenome']; ?></td>
						<td><?php echo $row_usuario['departamento']; ?></td>
						<td><?php echo $row_usuario['cargo']; ?></td>

						<td style="text-align: center;"><a href="avaliar_colaborador.php?id_colaboradores=<?php echo $id_colaboradores; ?>" type="submit" class="btn btn-success m-2" style="width: 80%;">AVALIAR</a></td>

					</tr>
				</form>	
				<?php
			}?>
		</tbody>
	</table>
<?php
}else{
	echo "<div class='alert alert-danger' role='alert'>Nenhum usuário encontrado!</div>";
}
?>

 

PARTE1.jpg

PARTE 2.jpg

Link para o comentário
Compartilhar em outros sites

@MailingTester Iniciei

@MailingTester

<?php
include ('conexao.php');

include('protect.php');

?>


                                    <div class="d-flex w-100 justify-content-between">
                                        
                                        <?php
                                        //consultar no banco de dados      

									      //recebe o valor id vindo da URL
									      $ID = $_GET["id_colaboradores"];

									      //consultar no banco de dados      
									      $result_usuario = "SELECT * FROM colaboradores WHERE id_colaboradores = $ID";
									      $resultado_usuario = mysqli_query($mysqli, $result_usuario);

                                        #$result_usuario = "SELECT * FROM colaboradores";
                                        #$resultado_usuario = mysqli_query($mysqli, $result_usuario);

                                        //Verificar se encontrou resultado na tabela "auto_u"

                                        if(($resultado_usuario) AND ($resultado_usuario->num_rows != 0)){
                                            ?>
                                            <table class="table table-striped table-bordered table-hover">
                                                <thead>
                                                    <tr>
                                                   
                                                        <th  scope="col" style="color: red;">NOME </th>
                                                        <th  scope="col" style="color: red;">ESCREVA UM FEEDBACK</th>
                                                        <th  scope="col" style="color: red;">RECONHECIMENTO</th>
                                                        <!--<th  scope="col" style="color: red;">DÊ UMA PONTUAÇÃO</th> -->
                                                        <th  scope="col" style="color: red;">DATA DO ENVIO</th>
                                                        <th  scope="col" style="color: red;"></th>
                                                
                                                    </tr>
                                                </thead>
                                                <tbody>
                                                    <?php
                                                        #$row_usuario = mysqli_fetch_assoc($consulta_colaboradores);
                                                        $row_id = mysqli_fetch_assoc($resultado_usuario);

                                                        $nome = $_SESSION['nome'];

                                                    ?>

                                                       <form method="POST" action="processamento_feedback.php">    

                                                            <tr>
                                                            	
                                                            	<select style="display: none;" name="escolha_nome">

																	<option selected="selected"><?php echo $row_id['id_colaboradores']; ?></option>
																	
																</select>

																<select style="display: none;" name="escolha_idenvio">

																	<option selected="selected"><?php echo $_SESSION['nome']; ?><?php echo ' '.$_SESSION['sobrenome']; ?></option>
																	
																</select>
														
																<!--<th scope="row"><?php #echo $row_id['id_colaboradores']; ?></th>  TESTANDO-->
														
                                                               	<th scope="row"><?php echo $row_id['nome']; ?><?php echo' '. $row_id['sobrenome']; ?></th>
                                                                <!--<td><?php #echo $row_id[#'sobrenome']; ?></td> -->

																<td>                                             

                                                                		<!--<input type="text" name="mensagem" placeholder="Digite seu feedback..." required><br>-->

                                                                         <div class="form-floating">
                                                                            <textarea  required class="form-control" placeholder="Deixe um feedback..."
                                                                               name="mensagem" id="mensagem"  style="height: 70px;"></textarea>
                                                                            <label for="floatingTextarea">Deixe seu feedback...</label>
                                                                        </div>
                                                                            
																			<td>
                                                                               
																				  	<select class="form-select mb-3" aria-label="Default select example" name="reacao" id="reacao" required>
																				  		<option value="" selected="selected" hidden="hidden">Clique Aqui</option>
																					    <option value="Bom">Bom</option>
																					    <option value="Muito Bom">Muito Bom</option>
																					    <option value="Excelente">Excelente</option>
																					    <!--<option value="Conhecimento">Conhecimento</option>
																					    <option value="Companheirismo">Companheirismo</option> -->
																				  	</select>
                                                                                
                                                               	 			</td>

                                                               	 			<!--<td>
																				  	<select class="form-select mb-3" aria-label="Default select example" name="ponto" id="ponto" required>
																				  		<option value="" selected="selected" hidden="hidden">ESTRELAS</option>
																					    <option value="1">1</option>
																					    <option value="2">2</option>
																					    <option value="3">3</option>
																					    <option value="4">4</option>
																					    <option value="5">5</option>
																				  	</select>
                                                               	 			</td>-->

                                                               	 		<td>

                                                                        <input type="date" id="data" name="data" class="form-control" style="background-color: #696969; color: white;" required></td>	

  																		<td><input type="submit" class="btn btn-success m-2" style="width: 80%;" value="ENVIAR">
  																</td>

                                                        </form>

                                                            </tr>

                                                </tbody>
                                            </table>
                                        <?php
                                        }else{
                                            echo "<div class='alert alert-danger' role='alert'>Nenhum usuário encontrado!</div>";
                                        }
                                        ?>
                                    </div>

 

@MailingTester Eu testei o mesmo código usando o XAMPP, conectando com meu banco,funciona certinho.
Quando faço o upload no webhost, tá esse problema, mas ele faz o login corretamente, acessa as páginas corretamente, só essa página que está dando problemas.
É como se eu não tivesse logado, mas eu estou, tanto que nas outras páginas funciona também

Link para o comentário
Compartilhar em outros sites

  • Moderador
  • Solução

@Lipeco Você não inicou a sessão.

 

Você deve colocar  session_start()   no topo do seu arquivo php, acima de tudo, logo abaixo da abertura da tag do php.

 

Eu sempre uso este modelo aqui para autenticar a sessão:

 

<?php 
session_start();
	setcookie("ck_authorized", "true", 0, "/");
	date_default_timezone_set("Brazil/East");
	
	if(!isset($_SESSION["login"])):
		header("location: ../index.html"); 
	else
        //atribui na varíável de sessão o login do usuário, aqui pode ser um username ou email
		$login = $_SESSION["login"];	
        
        //atribui na variavel de sessão o ultimo acesso do usuário
		$ultimo = $_SESSION['ultimoacesso'];

        //atribui na variável de sessão o código id do usuário 
		$idUsuario = $_SESSION["codusuario"];

        //atribui na variável de sessão o nome do usuário
		$nome = $_SESSION["nome"];
		
	require '../../conexao/conexao.php';	
	require '../../includes/functions.php';

        //aqui gera a data e hora atual
		$data = date('Y-m-d H:i:s'); 

        // faz um update na tabela de ultimo acesso, para registro de usuário
		$sqldata = "UPDATE admin SET ultimoacesso= '$data' WHERE idUsuario ='$idUsuario'";
		$dados = mysql_query($sqldata);	
		
        //aqui faz um slit na data para mostrar ao usuário
		$separaData = explode(" ", $ultimo);
		$dataNova = $separaData[0];
		$hora = $separaData[1];
	endif;	
?>

 

Esse trecho sempre deve ser colocado em cada página php onde o usuário vai logar, no caso por exemplo  a página depois que ele   loga.  Basicamente ele testa, se  não houver sessão,  ele redireciona direto pra página de login, se não, ele atribui em cada variável  os dados da sessão... com isso você tem controle, e pode fazer várias coisas.. como no exemplo ali, eu tenho como gravar o ultimo acesso do usuário, o código iD dele,  o nome do usuário, username de login.. e etc..

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@DiF Bom dia amigo, implementei da maneiro como explicou, funcionou, a página agora abre, porém aparece um problema que não estou conseguindo arrumar.

Mandei como imagem o que está acontecendo, é o seguinte, faço um login qualquer, com Thales, quando eu uso o XAMPP, funciona perfeitamente, eu clico em avaliar algum usuario, faço a avaliação e o banco de dados recebe tudo Ok. Já quando eu estou no webhost, quando entro na página de avaliar, não consigo enviar o formulário como o Thales., envia a mensagem, mas a página não reconhece Thales como Usuario logado e não envia para o Banco de dados que foi o Thales que enviou, fica em branco, o formulário é enviado, porém em branco a parte de quem enviou.
PARTE1.thumb.jpg.cea40ebaac7f8c8c76a827cbe61ae4be.jpg95392720_parte2bd.thumb.jpg.d63ede3ff7f5fa312831e46658acdaf4.jpg1998241640_PARTE2.thumb.jpg.c6751ad5ae0ca7ebfbb204f82cfdbea9.jpg702446071_bdwebhost.thumb.jpg.75840746c6d54e667d48cf2d1c606c78.jpg
Utilizei o mesmo código nos dois, não fiz alteração. Vou mandar em anexo.

 

<?php
#include ('conexao.php');

#include('protect.php');
session_start();
    setcookie("ck_authorized", "true", 0, "/");
    date_default_timezone_set("Brazil/East");
    
    if(!isset($_SESSION["email"]))
        header("location:login.php"); 
    else
        //atribui na varíável de sessão o login do usuário, aqui pode ser um username ou email
        $email = $_SESSION["email"];    

        //atribui na variável de sessão o código id do usuário 
        $id_colaboradores = $_SESSION["id_colaboradores"];

        //atribui na variável de sessão o nome do usuário
        $nome = $_SESSION["nome"];
        
    require 'conexao.php';

?>

        <!-- Sidebar Start -->
        <div class="sidebar pe-4 pb-3">
            <nav class="navbar bg-secondary navbar-dark">
                <a href="painel.php" class="navbar-brand mx-4 mb-3"> 
                    <h3 class="text-primary"><img src="img/AutoU.png" style="max-width: 30px;">utoU</h3>
                </a>
                <div class="d-flex align-items-center ms-4 mb-4">
                    <div class="position-relative">
                        <img class="rounded-circle" src="<?php echo $_SESSION['foto']; ?>" alt="" style="width: 40px; height: 40px;"> <!-- CARREGAR FOTO DEPOIS-->
                        <div class="bg-success rounded-circle border border-2 border-white position-absolute end-0 bottom-0 p-1"></div>
                    </div>
                    <div class="ms-3">
                        <h6 class="mb-0"><?php

                            echo $nome; 
                            echo ' '.$id_colaboradores; 

                        ?></h6>
                        <span>Cargo: <?php echo $_SESSION['cargo']; ?></span>
                    </div>

                </div>

                <div class="navbar-nav w-100">
                    
                    <div class="nav-item dropdown">
                        <a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown"><i class="far fa-file-alt me-2"></i>Perfil</a>
                        <div class="dropdown-menu bg-transparent border-0">
                            <a href="informacao.php" class="dropdown-item">Informações</a>  
                            <a href="logout.php" class="dropdown-item">Sair</a>                                        
                        </div>                      
                    </div>
                    <a href="painel.php" class="nav-item nav-link "><i class="fa fa-tachometer-alt me-2"></i>Dashboard</a>
                    <a href="meu_feedback.php" class="nav-item nav-link"><i class="fa fa-chart-bar me-2"></i>Meus Feedbacks</a>

                    <div class="nav-item dropdown">
                        <a href="#" class="nav-link dropdown-toggle active" data-bs-toggle="dropdown"><i class="far fa-file-alt me-2"></i>Avaliar</a>
                        <div class="dropdown-menu bg-transparent border-0">
                            <a href="colaboradores.php" class="dropdown-item">Lista de Colaboradores</a>
                        </div>
                    </div>
                </div>
            </nav>
        </div>
        <!-- Sidebar End -->

        <div class="content">

            <!-- Widgets Start -->
            <div class="container-fluid pt-4 px-4">
                <div class="row g-4">
                    <div class="col-sm-12 ">
                        <div class="h-100 bg-secondary rounded p-4">
                            <div class="d-flex align-items-center justify-content-between mb-2">
                                <h6 class="mb-0">Avalie um colaborador:</h6><br><br><br>
                                
                            </div>
                           
                                    <div class="d-flex w-100 justify-content-between">
                                        
                                        <?php
                                        //consultar no banco de dados      

									      //recebe o valor id vindo da URL
									     $ID = $_GET["id_colaboradores"];
                                        #$id_envia = $consulta_feedbacks['id_envia'];

									      //consultar no banco de dados      
									      $result_usuario = "SELECT * FROM colaboradores WHERE id_colaboradores = $ID";
									      $resultado_usuario = mysqli_query($mysqli, $result_usuario);

                                        #$result_usuario = "SELECT * FROM colaboradores";
                                        #$resultado_usuario = mysqli_query($mysqli, $result_usuario);

                                        //Verificar se encontrou resultado na tabela "auto_u"

                                        if(($resultado_usuario) AND ($resultado_usuario->num_rows != 0)){
                                            ?>
                                            <table class="table table-striped table-bordered table-hover">
                                                <thead>
                                                    <tr>
                                                   
                                                        <th  scope="col" style="color: red;">NOME </th>
                                                        <th  scope="col" style="color: red;">ID de quem Envia </th>
                                                        <th  scope="col" style="color: red;">ESCREVA UM FEEDBACK</th>
                                                        <th  scope="col" style="color: red;">RECONHECIMENTO</th>
                                                        <!--<th  scope="col" style="color: red;">DÊ UMA PONTUAÇÃO</th> -->
                                                        <th  scope="col" style="color: red;">DATA DO ENVIO</th>
                                                        <th  scope="col" style="color: red;"></th>
                                                
                                                    </tr>
                                                </thead>
                                                <tbody>
                                                    <?php
                                                        #$row_usuario = mysqli_fetch_assoc($consulta_colaboradores);
                                                        $row_id = mysqli_fetch_assoc($resultado_usuario);

                                                        $nome = $_SESSION['nome'];

                                                    ?>

                                                       <form method="POST" action="processamento_feedback.php">    

                                                            <tr>
                                                            	
                                                            	<select style="display: none;" name="escolha_nome">

																	<option selected="selected"><?php echo $row_id['id_colaboradores']; ?></option>
																	
																</select>

																<select name="escolha_idenvio">

																	<option selected="selected"><?php echo $_SESSION['nome']; ?><?php echo ' '.$_SESSION['sobrenome']; ?></option>
																	
																</select>
														
																<!--<th scope="row"><?php #echo $row_id['id_colaboradores']; ?></th>  TESTANDO-->
														
                                                               	<th scope="row"><?php echo $row_id['nome']; ?><?php echo' '. $row_id['sobrenome']; ?></th>
                                                                <th scope="row"><?php echo $id_colaboradores; ?></th>
                                                                <!--<td><?php #echo $row_id[#'sobrenome']; ?></td> -->

																<td>                                             

                                                                		<!--<input type="text" name="mensagem" placeholder="Digite seu feedback..." required><br>-->

                                                                         <div class="form-floating">
                                                                            <textarea  required class="form-control" placeholder="Deixe um feedback..."
                                                                               name="mensagem" id="mensagem"  style="height: 70px;"></textarea>
                                                                            <label for="floatingTextarea">Deixe seu feedback...</label>
                                                                        </div>
                                                                            
																			<td>
                                                                               
																				  	<select class="form-select mb-3" aria-label="Default select example" name="reacao" id="reacao" required>
																				  		<option value="" selected="selected" hidden="hidden">Clique Aqui</option>
																					    <option value="Bom">Bom</option>
																					    <option value="Muito Bom">Muito Bom</option>
																					    <option value="Excelente">Excelente</option>
																					    <!--<option value="Conhecimento">Conhecimento</option>
																					    <option value="Companheirismo">Companheirismo</option> -->
																				  	</select>
                                                                                
                                                               	 			</td>

                                                               	 			<!--<td>
																				  	<select class="form-select mb-3" aria-label="Default select example" name="ponto" id="ponto" required>
																				  		<option value="" selected="selected" hidden="hidden">ESTRELAS</option>
																					    <option value="1">1</option>
																					    <option value="2">2</option>
																					    <option value="3">3</option>
																					    <option value="4">4</option>
																					    <option value="5">5</option>
																				  	</select>
                                                               	 			</td>-->

                                                               	 		<td>

                                                                        <input type="date" id="data" name="data" class="form-control" style="background-color: #696969; color: white;" required></td>	

  																		<td><input type="submit" class="btn btn-success m-2" style="width: 80%;" value="ENVIAR">
  																</td>

                                                        </form>

                                                            </tr>

                                                </tbody>
                                            </table>
                                        <?php
                                        }else{
                                            echo "<div class='alert alert-danger' role='alert'>Nenhum usuário encontrado!</div>";
                                        }
                                        ?>
                                    </div>
                         
                                </div>
                            </div>
                      
                        </div>
                    </div>
                    
                </div>
            </div>
            <!-- Widgets End -->
</body>

</html>

 

PARTE 2.jpg

 

bd webhost.jpg

parte 2 bd.jpg

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!