DevilRocks92 Posted May 30, 2012 at 01:49 PM Report #459145 Posted May 30, 2012 at 01:49 PM (edited) Boa tarde, Eu estou a trabalhar num site onde tenho de adicionar utilizadores, mas estou com problemas na validação, não me faz nem echos nem adiciona nada: <?php include 'db_connect.php'; ?> <html> <head> <title>Adminstração</title> </head> <body style="color=#FFFFFF" bgcolor="#666666"> <table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="1"> <tr> <form method="post" action=""> <td align="center" valign="middle"> <table width="300px" cellpadding="0" cellspacing="3" bgcolor="#FFFFFF" style=" border: 1px solid #000000;"> <tr> <td style=" border-style:none;"> <br> </td> </tr> <tr> <td align="right" style="font-size: 13;font-family: Arial, Helvetica, sans-serif;font-weight: bold;border-style:none;"> Utlizador: </td> <td style=" border-style:none;"> <input name="user" type="text"> </td> </tr> <tr> <td align="right" style="font-size: 13;font-family: Arial, Helvetica, sans-serif;font-weight: bold;border-style:none;"> Password: </td> <td style=" border-style:none;"> <input name="password" type="password"> </td> </tr> <tr> <td colspan="2" align="center" style=" border-style:none;"> <input type="submit" name="registar" value="Registar"> <a href="admin.php"> <input type="button" name="voltar" value="Voltar"> </a> </td> </tr> <tr> <td style=" border-style:none;"> <br> </td> </tr> </table> <span class="style1" style="font-size: 13;font-family: Arial, Helvetica, sans-serif;font-weight: bold;color: red;"> </span> </td> </form> </tr> </table> </body> </html> <?PHP if(isset($_POST['registar'])) { $username = $_POST['user']; $password = $_POST['password']; if (empty($username) OR empty($password)) { echo "<script>alert('Todos os campos são obrigatórios.') location.href = 'add_user.php';</script>"; } if ($username!="" && $password!="") { $sel_user="SELECT * FROM utilizadores"; $user=mysql_query($sel_user, $connect); $row_user=mysql_fetch_assoc($user); if ($username=$row_user['username']) { "<script>alert('O nome do utilizador ja existe.')</script>"; } else { $sql="INSERT INTO utilizadores (username, password) VALUES ('".$username."','".sha1($password)."')"; $result = mysql_query($sql); if(!$result) { echo "<script>alert('Erro a adicionar utilizador.')</script>"; } else { echo "<script>alert('Utilizador adicionado com sucesso.'); location.href = 'admin.php';</script>"; } } mysql_close($connect); } } ?> Edited May 30, 2012 at 01:49 PM by DevilRocks92
HappyHippyHippo Posted May 30, 2012 at 02:00 PM Report #459152 Posted May 30, 2012 at 02:00 PM (edited) visto que não faz nem echos nem nada insere este linha de código antes do primeiro if e diz o que aparece: print_r($_POST); Edited May 30, 2012 at 02:00 PM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
DevilRocks92 Posted May 30, 2012 at 02:05 PM Author Report #459154 Posted May 30, 2012 at 02:05 PM (edited) visto que não faz nem echos nem nada insere este linha de código antes do primeiro if e diz o que aparece: print_r($_POST); Array() :/ Mas espera aí ele so faz o primeiro echo se os campos tiverem vazios...daí pa frente é que não, e se puser o print, dá-me: Array ( [user] => asdasd [password] => asdas [registar] => Registar ) Edited May 30, 2012 at 02:07 PM by DevilRocks92
DevilRocks92 Posted May 30, 2012 at 02:29 PM Author Report #459160 Posted May 30, 2012 at 02:29 PM (outro codigo com insert) Sem querer abusar, podes-me tentar explicar pq é que o "identificador" ele adiciona-me sempre 0? <?PHP include 'db_connect.php'; $query_id="SELECT * FROM content_lang"; $id=mysql_query($query_id); $row_id=mysql_fetch_assoc($id); $query_ident="SELECT * FROM content"; $ident=mysql_query($query_ident, $connect); $row_ident=mysql_fetch_assoc($ident); ?> <html> <head> <title>Administração - Adicionar</title> </head> <body style="color:#FFFFFF;" bgcolor="#666666"> <form action="" method="POST"> <table> <tr> <td align="right"> Identificador: </td> <td> <select name="identifier"> <?PHP do{ ?> <option value="<?PHP $row_ident['id_content']; ?>"> <!--selcciona opção definida--> <?PHP echo $row_ident['identifier']; ?> </option> <?PHP } while ($row_ident=mysql_fetch_assoc($ident)); ?> </select> </td> </tr> <tr height="10px"></tr> <tr> <td align="right"> Linguagem: </td> <td> <select name="lang"> <option value="pt"> Português </option> <option value="en"> Inglês </option> </select> </td> </tr> <tr height="10px"></tr> <tr> <td align="right"> Título: </td> <td> <input type="text" name="titulo"> </input> </td> </tr> <tr height="10px"></tr> <tr> <td align="right" valign="top"> Conteúdo: </td> <td> <textarea name="descricao" cols="50" rows="10"></textarea> </td> </tr> <tr> <td></td> <td> <input type="submit" name="adicionar" value="Adicionar Informação" /> <a href="admin.php"><input type="button" name="update" value="Voltar"/></a> </td> </tr> </table> </form> </body> </html> <?PHP /*************************************************/ if (isset($_POST['adicionar'])) { $identifier=$_POST['identifier']; $lang=$_POST['lang']; $titulo=$_POST['titulo']; $descricao=$_POST['descricao']; $sel_id_cont="SELECT * FROM content WHERE identifier='".$identifier."'"; $id_cont=mysql_query($sel_id_cont, $connect); $row_id_cont=mysql_fetch_assoc($id_cont); if($add_info=mysql_query("INSERT INTO content_lang (id_content, lang, titulo, descricao) VALUES ('".$row_id_cont['id_content']."', '".$lang."', '".$titulo."', '".$descricao."')")) { header ('Location: admin.php'); } else { echo 'Informação não foi inserida devido a um problema no sistema.'; } } ?>
HappyHippyHippo Posted May 30, 2012 at 02:53 PM Report #459168 Posted May 30, 2012 at 02:53 PM (edited) se o print_r dá Array() é obvio que o if(isset($_POST['registar'])) vai falhar ... no que toca na segunda questão ... volta a fazer a mesma coias : adicionar print_r($_POST) antes do if (isset($_POST['adicionar'])) Edited May 30, 2012 at 02:54 PM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
DevilRocks92 Posted May 30, 2012 at 02:58 PM Author Report #459170 Posted May 30, 2012 at 02:58 PM se o print_r dá Array() é obvio que o if(isset($_POST['registar'])) vai falhar ... no que toca na segunda questão ... volta a fazer a mesma coias : adicionar print_r($_POST) antes do if (isset($_POST['adicionar'])) Array(), também. Qual é o problema?
HappyHippyHippo Posted May 30, 2012 at 03:03 PM Report #459172 Posted May 30, 2012 at 03:03 PM não estás a receber dados nenhum no pedido ... estás a testar isso depois de carregar no submit ?? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
DevilRocks92 Posted May 30, 2012 at 03:08 PM Author Report #459176 Posted May 30, 2012 at 03:08 PM (edited) não estás a receber dados nenhum no pedido ... estás a testar isso depois de carregar no submit ?? Dá-me isto: Array ( [identifier] => [lang] => pt [titulo] => titulo3 [descricao] => descricao3 [adicionar] => Adicionar Informação ) Identifier=0 e eu quero que me de o id $sel_id_cont="SELECT * FROM content WHERE identifier='".$identifier."'"; $id_cont=mysql_query($sel_id_cont, $connect); $row_id_cont=mysql_fetch_assoc($id_cont); if($add_info=mysql_query("INSERT INTO content_lang (id_content, lang, titulo, descricao) VALUES ('".$row_id_cont['id_content']."', '".$lang."', '".$titulo."', '".$descricao."')")) O primeiro do registo dá-me: Array ( [user] => asd [password] => asd [registar] => Registar ) Edited May 30, 2012 at 04:54 PM by brunoais Shesh... Este editor devia de aprender uma coisa ou outra sobre como lidar com texto copiado. | Geshi adicionado
HappyHippyHippo Posted May 30, 2012 at 03:10 PM Report #459177 Posted May 30, 2012 at 03:10 PM se o post vem com o valor de 0 é porque isto <option value="<?PHP $row_ident['id_content']; ?>"> dá o valor de zero ... porque dá zero .. .não faço ideia porque não conheço a base de dados (a sua estrutura e os valores ai guardados) diz-me tu o html criado desse select IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
DevilRocks92 Posted May 30, 2012 at 03:16 PM Author Report #459179 Posted May 30, 2012 at 03:16 PM se o post vem com o valor de 0 é porque isto <option value="<?PHP $row_ident['id_content']; ?>"> dá o valor de zero ... porque dá zero .. .não faço ideia porque não conheço a base de dados (a sua estrutura e os valores ai guardados) diz-me tu o html criado desse select Epah tenho a tabela content: id_content (auto-increment) | identifier (varchar - adicionei manualmente) content_lang: id | id_content | lang | titulo | descricao
HappyHippyHippo Posted May 30, 2012 at 03:17 PM Report #459180 Posted May 30, 2012 at 03:17 PM diz-me tu o html criado desse select IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
DevilRocks92 Posted May 30, 2012 at 03:19 PM Author Report #459182 Posted May 30, 2012 at 03:19 PM Desculpa a minha ignorancia, mas nao estou a preceber o que queres.
HappyHippyHippo Posted May 30, 2012 at 03:24 PM Report #459183 Posted May 30, 2012 at 03:24 PM quero que facas post do html !!! IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
DevilRocks92 Posted May 30, 2012 at 03:27 PM Author Report #459185 Posted May 30, 2012 at 03:27 PM (edited) quero que facas post do html !!! <html> <head> <title>Administração - Adicionar Conteúdo</title> </head> <body style="color:#FFFFFF;" bgcolor="#666666"> <form action="" method="POST"> <table> <tr> <td align="right"> Identificador: </td> <td> <select name="identifier"> <?PHP do{ ?> <option value="<?PHP $row_ident['id_content']; ?>"> <!--selcciona opção definida--> <?PHP echo $row_ident['identifier']; ?> </option> <?PHP } while ($row_ident=mysql_fetch_assoc($ident)); ?> </select> </td> </tr> <tr height="10px"></tr> <tr> <td align="right"> Linguagem: </td> <td> <select name="lang"> <option value="pt"> Português </option> <option value="en"> Inglês </option> </select> </td> </tr> <tr height="10px"></tr> <tr> <td align="right"> Título: </td> <td> <input type="text" name="titulo"> </input> </td> </tr> <tr height="10px"></tr> <tr> <td align="right" valign="top"> Conteúdo: </td> <td> <textarea name="descricao" cols="50" rows="10"><textarea> </td> </tr> <tr> <td></td> <td> <input type="submit" name="adicionar" value="Adicionar Informação" /> <a href="admin.php"><input type="button" name="update" value="Voltar"/></a> </td> </tr> </table> </form> </body> </html> Edited May 30, 2012 at 04:55 PM by brunoais o a linguagem indicada estava errada
HappyHippyHippo Posted May 30, 2012 at 03:28 PM Report #459186 Posted May 30, 2012 at 03:28 PM eu não quero o teu código ... quero o html resultante !!!!! IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
DevilRocks92 Posted May 30, 2012 at 03:36 PM Author Report #459191 Posted May 30, 2012 at 03:36 PM eu não quero o teu código ... quero o html resultante !!!!! Tipo, o codigo fonte da página onde é adicionado?
johnmaia Posted May 30, 2012 at 03:41 PM Report #459194 Posted May 30, 2012 at 03:41 PM Não. Ele quer que executes o teu código. E no browser vejas o código da página e coles aqui o resultado. Firefox -> Botão do Lado Direito do Rato na Pagina -> "Ver código fonte da página"
DevilRocks92 Posted May 30, 2012 at 03:45 PM Author Report #459195 Posted May 30, 2012 at 03:45 PM (edited) Não. Ele quer que executes o teu código. E no browser vejas o código da página e coles aqui o resultado. Firefox -> Botão do Lado Direito do Rato na Pagina -> "Ver código fonte da página" <html> <head> <title>Administração - Adicionar Conteúdo</title> </head> <body style="color:#FFFFFF;" bgcolor="#666666"> <form action="" method="POST"> <table> <tr> <td align="right"> Identificador: </td> <td> <select name="identifier"> <option value=""> <!--selcciona opção definida--> Family Office </option> <option value=""> <!--selcciona opção definida--> Multi Family Office </option> <option value=""> <!--selcciona opção definida--> Foco </option> <option value=""> <!--selcciona opção definida--> Serviços </option> <option value=""> <!--selcciona opção definida--> Valores </option> <option value=""> <!--selcciona opção definida--> Seminários </option> </select> </td> </tr> <tr height="10px"></tr> <tr> <td align="right"> Linguagem: </td> <td> <select name="lang"> <option value="pt"> Português </option> <option value="en"> Inglês </option> </select> </td> </tr> <tr height="10px"></tr> <tr> <td align="right"> Título: </td> <td> <input type="text" name="titulo"> </input> </td> </tr> <tr height="10px"></tr> <tr> <td align="right" valign="top"> Conteúdo: </td> <td> <textarea name="descricao" cols="50" rows="10"><textarea> </td> </tr> <tr> <td></td> <td> <input type="submit" name="adicionar" value="Adicionar Informação" /> <a href="admin.php"><input type="button" name="update" value="Voltar"/></a> </td> </tr> </table> </form> </body> </html> Array ( [identifier] => [lang] => pt [titulo] => sg.,rds [descricao] => grçlsg [adicionar] => Adicionar Informação ) Edited May 30, 2012 at 04:55 PM by brunoais geshi!
HappyHippyHippo Posted May 30, 2012 at 03:47 PM Report #459197 Posted May 30, 2012 at 03:47 PM como podes ver o resultado do valor atribuído à opção do select é vazio... logo ou tens a base de dados mal construída ou a coluna id não tem esse nome IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
johnmaia Posted May 30, 2012 at 03:54 PM Report #459199 Posted May 30, 2012 at 03:54 PM (edited) O teu <?PHP $row_ident['id_content']; ?> Não está a retornar nada. Logo os Values do select estão a vazios, e por isso é que não é enviado nada pelo _POST <option value=""> <!--selcciona opção definida--> Seminários </option> Mete assim: <?PHP echo $row_ident['id_content']; ?> Ou: <?=$row_ident['id_content']; ?> Edited May 30, 2012 at 05:57 PM by johnmaia
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