Ir para conteúdo
Fórum Script Brasil
  • 0

Variavel Post na mesma pagina


Enigma_avatar

Pergunta

Estou com um problema em pegar o post na mesma pagina, estou tentando vazer a verificação para ver se não existe outro clan com o mesmo nome, porem o mesmo sempre exibe o resutlado do ultimo echo.

alguém me da uma luz ai onde to fazendo errado?

<?
$clan= $_POST["clan"];
if($cargo==""){
foreach ($HTTP_POST_VARS as $chave => $valor){$$chave=$valor;}
if(isset($id_user)){

$result = mysql_query("SELECT * FROM usuarios WHERE clan='$clan'");
if(mysql_fetch_array($result)!=""){
$erro = "<font color=red>Esse clan já existe . selecione um outro nome</font>";
}else{
$result = mysql_query("UPDATE usuarios SET clan='$clan' , donoclan='$id_user' WHERE ID='$id_user'");
if ($result) {echo "Seu Clan foi criado com sucesso voce pode agora convidar membros para ele. ";}$continue="";}
?>
<script language="JavaScript">

function validar() {

 var ok = true;

if (Cadastro.clan.value==""){
  alert("Voce precisa digitar um nome.");
  Cadastro.user.focus();
  ok = false;
  return(false);
}}}
if (!isset($continue)){
</script>
<form action="index.php?pag=verificarclan" method="post" name="Cadastro" onSubmit="javascript:return validar();">

  <table width="100%" cellspacing="0" cellpadding="3">
    <tr>
      <td colspan="2"><center>
        <h1 align="center">Criar Clan</h1>
        <font color=red>
        <?=$erro?>
      </td>
    </tr>
    <tr>
      <td align="right">Nome do Clan:</td>
      <td><input type="text" name="clan" size="25" value="<?=$clan?>"><br><input type="submit" value="Criar Clan"></td>
    </tr>
  </table>
</form>
<?
}
}else{echo "<center>Voce precisa estar logado para acessar esta opcao.";}
?>
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Fiz algumas mudancinhas, espero que de certo rsrs.

<?php
/*
 * Subistitua 
 * foreach ($HTTP_POST_VARS as $chave => $valor){$$chave=$valor;}
 * E
 * $clan= $_POST["clan"];
 * Por:
 */
extract($_POST);
/*
 * O seu problema estava aqui. Você dizia que se $cargo fosse igual à "" corresse todo o seu script e
 * caso contrario($cargo tivesse algum valor) escrevesse o último echo
 * Eu simplismente tirei o else para que a interpretação fosse mais fácil
 */
if($cargo == ""){
	echo "<center>Voce precisa estar logado para acessar esta opcao.</center>";
	exit();
}
/*
 * Se $id_user está setado quer dizer que o usuário esta logado certo?
 * Porque você verifica se $cargo é igual a vaziu dizendo que ele está deslogado e agora você verifica novamente se ele está logado?
 */
if(isset($id_user)) {
	/*
	 * "or die()" Eu recomendo rsrs.
	 */
	$result = mysql_query("SELECT * FROM usuarios WHERE clan='$clan'") or die('Não foi possível selecionar os usuários do clan'.mysql_error());
	/*
	 * Não tenho certeza se mysql_fetch_array($result)!="" funciona para o que você quer, mas mysql_num_rows funciona
	 */
	if(mysql_num_rows($result) > 0) {
		/*
		 * Já que esse era o único momento em que você escrevia o HTML achei por bem colocá-lo aqui dentro
		 * Fazendo desnecessário a variável $erro
		 */
		?>
		<script language="JavaScript">
			function validar() {
				var ok = true;
				if (Cadastro.clan.value=="") {
					alert("Voce precisa digitar um nome.");
					Cadastro.user.focus();
					ok = false;
					return(false);
				}
			}
		</script>
		<form action="index.php?pag=verificarclan" method="post" name="Cadastro" onSubmit="javascript:return validar();">
			<table width="100%" cellspacing="0" cellpadding="3">
				<tr>
					<td colspan="2">
						<center>
							<h1 align="center">Criar Clan</h1>
							<font color=red>Esse clan já existe . selecione um outro nome</font>
						</center>
					</td>
				</tr>
				<tr>
					<td align="right">
						Nome do Clan:
					</td>
					<td>
						<input type="text" name="clan" size="25" value="<?=$clan?>">
						<br>
						<input type="submit" value="Criar Clan">
					</td>
				</tr>
			</table>
		</form>
		<?php
	} else {
		/*
		 * Se a consulta der errada o "or die()" será executado escrevendo o erro na tela e parando o script sem executar o echo
		 */
		$result = mysql_query("UPDATE usuarios SET clan='$clan' , donoclan='$id_user' WHERE ID='$id_user'") or die('Não foi possível cadastrar o novo clan'.mysql_error());
		echo "Seu Clan foi criado com sucesso voce pode agora convidar membros para ele. ";
	}
}
?>

Abraços

Editado por Markus Magnus
Link para o comentário
Compartilhar em outros sites

  • 0

boaa Markos to apredendo muito contigo, entendi o que me passou acima , mais fuçando por ai , conseguir fazer isso.

<?php
//aki pego o nome pelo _POST:
$clan = $_POST['clan'];
$clan = trim($clan);
$search = mysql_query("SELECT * FROM novo_usuarios WHERE clan = '$clan'");
if(@mysql_num_rows($search) > 0){
echo 'Esse clan já existe';
}else{
// atualiza
$sql = mysql_query("UPDATE novo_usuarios SET clan='$clan' , donoclan='$id_user' , clanstatus='dono' WHERE ID='$id_user'");
echo "Clan criado com sucesso";
}
?>

De toda maneira obrigado pela aula , com certeza ajudara mais pra frente

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...