Gois Posted June 6, 2014 at 11:12 PM Report Share #558518 Posted June 6, 2014 at 11:12 PM (edited) Boa noite, Penso que a questão é facil, no entanto, ando às voltas já algum tempo. no ficheiro login.php <form method="post" action="valida.php"> <div id = "topo-login"><label>BACK-OFFICE</label></div> <div id = "esquerda-login"><label>Usuario</label></div> <div id = "direita-login"><input type="text" name="utilizador" maxlength="50" /><br></div> <div id = "esquerda-login"><label>Senha</label></div> <div id = "direita-login"><input type="password" name="palavrapasse" maxlength="50" /><br></div> <div id = "esquerda-login"><label>Loja</label></div> <div id = "direita-login"><input type="text" name="loja" maxlength="50" /><br></div> <div id = "rodape-login"><input type="submit" value="Entrar" /></div> </form> Desta forma, a autenticação do login funciona corretamente. No entanto, nao funciona com <select> e eu nao percebo o pq... <form method="post" action="valida.php"> <div id = "topo-login"><label>BACK-OFFICE</label></div> <div id = "esquerda-login"><label>Usuario</label></div> <div id = "direita-login"><input type="text" name="utilizador" maxlength="50" /><br></div> <div id = "esquerda-login"><label>Senha</label></div> <div id = "direita-login"><input type="password" name="palavrapasse" maxlength="50" /><br></div> <div id = "esquerda-login"><label>Loja</label></div> <div id = "direita-login"><select name ="loja"> <option value = 1>Administrador</option><option value = 2> Administrador2</option></select></div> <div id = "rodape-login"><input type="submit" value="Entrar" /></div> </form> O problema está no campo de loja. Alguem me pode ajudar? cumps, Edited June 7, 2014 at 09:40 AM by brunoais tags code + geshi Link to comment Share on other sites More sharing options...
guarana1 Posted June 6, 2014 at 11:59 PM Report Share #558522 Posted June 6, 2014 at 11:59 PM Não sei se funciona como tu tens com o value = 1, eu tenho a ideia que se tenha e por as "", <option value="1"> administrador </option> Link to comment Share on other sites More sharing options...
Gois Posted June 7, 2014 at 05:54 AM Author Report Share #558532 Posted June 7, 2014 at 05:54 AM Agora com aspas, mas continua a não funcionar. Alguma ideia? Link to comment Share on other sites More sharing options...
bioshock Posted June 7, 2014 at 09:00 AM Report Share #558534 Posted June 7, 2014 at 09:00 AM Verifica que dados estão a ser passados. print_r($_POST); Link to comment Share on other sites More sharing options...
Gois Posted June 7, 2014 at 09:31 AM Author Report Share #558535 Posted June 7, 2014 at 09:31 AM (edited) obrigado pela resposta. Coloquei assim, e no entanto só me aparece a mensagem: Array () ... <div id = "esquerda-login"><label>Loja</label></div> <div id = "direita-login"><input type="text" name="loja" maxlength="50" /><br></div> <div id = "rodape-login"><input type="submit" value="Entrar" /></div> <?php print_r($_POST); ?> </form> </div> Acho que devo estar a fazer algo de errado. Já tentei fazer "prints" na pagina valida.php quando recebe o formulario, mas não consigo... no ficheiro valida.php if ($_SERVER['REQUEST_METHOD'] == 'POST') { // Salva duas variáveis com o que foi digitado no formulário // Detalhe: faz uma verificação com isset() pra saber se o campo foi preenchido $usuario = (isset($_POST['utilizador'])) ? $_POST['utilizador'] : ''; $senha = (isset($_POST['palavrapasse'])) ? $_POST['palavrapasse'] : ''; $loja = (isset($_POST['loja'])) ? $_POST['loja'] : ''; .... Cumps, Edited June 7, 2014 at 09:41 AM by brunoais tags code + geshi Link to comment Share on other sites More sharing options...
bioshock Posted June 7, 2014 at 10:57 AM Report Share #558539 Posted June 7, 2014 at 10:57 AM O código que te dei deve ser colocado na página valida.php. Link to comment Share on other sites More sharing options...
Gois Posted June 7, 2014 at 12:06 PM Author Report Share #558544 Posted June 7, 2014 at 12:06 PM (edited) O código que me deste foi colocado e não acontece nada... O login funciona, mas eu não consigo ver quais são os dados que foram inseridos no login quando chega ao valida.php... Tanto para um login errado como para um login certo. Julgo que isso acontece por uma simples razão, quando o login está OK, ele redirecciona-me para o index.php e quando o login está errado, actualiza a pagina automaticamente. Edited June 7, 2014 at 12:09 PM by Gois Link to comment Share on other sites More sharing options...
Gois Posted June 7, 2014 at 12:37 PM Author Report Share #558545 Posted June 7, 2014 at 12:37 PM Já consegui resolver o problema e deixo aqui a solução. No ficheiro login.php: <form method="post" action="valida.php"> <div id = "topo-login"><label>BACK-OFFICE</label></div> <div id = "esquerda-login"><label>Usuario</label></div> <div id = "direita-login"><input type="text" name="utilizador" maxlength="50" /><br></div> <div id = "esquerda-login"><label>Senha</label></div> <div id = "direita-login"><input type="password" name="palavrapasse" maxlength="50" /><br></div> <div id = "esquerda-login"><label>Loja</label></div> <div id = "direita-login"><?php buildCombo('lojas'); ?> <br></div> <div id = "rodape-login"><input type="submit" value="Entrar" /></div> </form> no ficheiro combobox.php ... { if ($target =='lojas'){ $sql_table = 'lojas'; $sql_name = 'loja'; $sql_id = 'id'; } $sql = "SELECT * FROM ".$sql_table." ORDER BY " .$sql_name; $result = mysql_query($sql) or die ("ERRO" .mysql_error()); while ($row = mysql_fetch_array($result)){ $name = $row[$sql_name]; $id = $row[$sql_id]; echo ("<select name ='loja'><option value = '".$name."'>".$name."</option></select>"); } Básicamente, o value tem que ser igual ao valor que é mostrado na combobox. O que não estava acontecer visto que eu ele era "1". <option value = 1>Administrador</option> Cumps, Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now