Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

milisystem

Problema com sessão

Recommended Posts

Olá pessoal

 

Estou precisando de uma ajudinha de vocês

Preciso fazer uma manutenção em um sistema de inscrições para cursos.

 

Tenho a lista de inscrições abertas (que são várias) clico naquela que eu quero fazer a inscrição e pronto digito cpf e assim abre o formulário.

Mas, se eu clicar em uma e entrar, e depois clicar em outra abre uma outra página para cpf e inscrição.

O problema é que assim está acontecendo vários erros, porque eu perco a primeira sessão e assim alguns dados são gravados errados,pois assume-se o código da nova sessão, que seria o curso, e os dados da combo, que são os módulos ficam da sessão antiga, gravando códigos de módulos que não existem para tal curso da nova sessão.

 

Não sei se fui clara, mas se puderem, me de alguma dica do que fazer.

 

Obrigada desde já :) :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Página chamada via get

 

inscricoes_site_index.php

<?
session_start();
session_destroy();

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Instituição Soler de Ensino</title>
</head>

<body onload="document.form_login.cpf.focus();">
<center>
<?
include "../conexao.php";
$consulta = pg_query($conn_pg, "select nome_orgao, nome_processo, inscricao_site, inscricao_inicio, inscricao_fim from concursos where codigo = ".$_GET['concurso']);
$r0 = pg_fetch_array($consulta);
extract($r0);
if ($inscricao_site == 's'){
	if ($inscricao_inicio <= date("Y-m-d H:i:s") and $inscricao_fim >= date("Y-m-d H:i:s")){

?>
<form name="form_login" method="post" action="site_candidatos_index.php" onsubmit="return verifica_login();">
<input type="hidden" name="codigo_curso" value="<?=$_GET['curso'];?>"/>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
	<td style="font-family:Arial, Helvetica, sans-serif; font-size:14px; color:#27126F;">
   	<br />
    <b><?=$nome_processo."-".$nome_orgao;?></b>
    </td>
</tr>
<tr>
	<td style="font-family:Arial, Helvetica, sans-serif; font-size:12px; color:#333;">
   	<b>Ficha de inscrição</b><br />
	 
    </td>
</tr>
<tr>
	<td style="font-family:Verdana, Geneva, sans-serif; font-size:12px;">
    CPF: <input type="text" id="cpf" name="cpf" onKeyPress="return somente_numeros(this,event);" maxlength="11"/> <input type="submit" value="Continuar" />
    </td>
</tr>
</table>
</form>
<?
	} else {
		echo "Inscrição fora do prazo.<br/>";
		echo "Favor consultar o Edital.";
	}
} else {
	echo "Não é possível realizar a inscrição.";
}

if ($_GET['erro']==1) {
	echo "Sua sessão expirou. Tente novamente";
}
?>
</center>
</body>
</html>

 

site_candidatos_index.php

 

<?
session_start();
///	echo $_SESSION['ise_inscricao_curso'];
if ($_POST['cpf']) {
	$_SESSION['ise_inscricao_cpf']=$_POST['cpf'];
	$_SESSION['ise_inscricao_curso']=$_POST['codigo_curso'];
}

if ($_SESSION['ise_inscricao_cpf']) {
	include "../conexao.php";
	//nome do curso
	$consulta = pg_query($conn_pg, "select nome_orgao, nome_processo from cursos where codigo = ".$_SESSION['ise_inscricao_curso']);
	$r0 = pg_fetch_array($consulta);
	extract($r0);

	if ($_GET['status']=='') {
		//verifica se já fez inscrição
		$resultado_edit=pg_query($conn_pg,"select codigo from candidatos where cpf='".$_SESSION['ise_inscricao_cpf']."' and codigo_curso = ".$_SESSION['ise_inscricao_curso']);
		if ($linha_edit=pg_fetch_array($resultado_edit)) {
			header("location: site_lista_inscricoes.php");
			//header("location: site_candidatos_dados.php");
		}
	}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Instituição Soler de Ensino</title>
<body style="padding:0px; margin:0px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" >
<tr>
	<td colspan="3" style="font-family:Verdana, Geneva, sans-serif; font-size:12px;">
    <?
	if ($_GET['status']=='') {
		$status='new';
	} else {
		$status=$_GET['status'];
	}
	?>
    <form name="form_candidatos" method="post" action="site_candidatos_salvar.php" onsubmit="return confere_candidatos('<?=$status;?>');" style="margin:0px; padding:0px;" id="form_candidatos">   
    <table border="0">
    <tr>
        <td style="font-family:Arial, Helvetica, sans-serif; font-size:14px; color:#27126F;" align="center">
        <br />
        <b><?=$nome_processo;?><br />
        <?=$nome_orgao;?></b><br />
		 
        </td>
    </tr>
    <? if ($_GET['status']=='new' or $_GET['status']=='edit') { ?>
    <tr>
        <td style="font-family:Arial, Helvetica, sans-serif; font-size:14px; color:#27126F;" align="left">
        <a href="site_lista_inscricoes.php" style="color:#00F;" >Listar minhas inscrições</a>
        </td>
    </tr>
    <? }
	
	if ($_GET['status']=='edit' and $_GET['codigo_candidato']>0) {
		//editar inscrição	
		$resultado_edit=pg_query($conn_pg,"select c.codigo, c.inscricao, c.nome, c.cpf, cg.nome as modulo, c.codigo_modulo, c.rg, c.sexo, c.estado_civil, c.nome_mae, c.nascimento, c.nacionalidade, c.endereco, c.endereco_numero, c.bairro, c.cidade, c.uf, c.cep, c.ddd, c.telefone, c.deficiencia, c.data_cadastro, c.e_mail from candidatos c, modulos cg where c.codigo_modulos=cg.codigo and c.codigo=".$_GET['codigo_candidato']);
		if ($linha_edit=pg_fetch_array($resultado_edit)) {
			$dn=explode("-",$linha_edit['nascimento']);
			$data_nascimento=$dn[2]."/".$dn[1]."/".$dn[0];
			$dc=explode("-",$linha_edit['data_cadastro']);
			$data_cadastro=$dc[2]."/".$dc[1]."/".$dc[0];
		}
	} else if($_GET['status']=='new') {	
		//editar inscrição
		$resultado_edit=pg_query($conn_pg,"select c.codigo, c.inscricao, c.nome, c.cpf, cg.nome as modulos, c.rg, c.sexo, c.estado_civil, c.nome_mae, c.nascimento, c.nacionalidade, c.endereco, c.endereco_numero, c.bairro, c.cidade, c.uf, c.cep, c.ddd, c.telefone, c.deficiencia, c.data_cadastro, c.senha, c.e_mail from candidatos c, modulos cg where c.codigo_modulos=cg.codigo and c.codigo=".$_GET['codigo_candidato']);
		if ($linha_edit=pg_fetch_array($resultado_edit)) {
			$dn=explode("-",$linha_edit['nascimento']);
			$data_nascimento=$dn[2]."/".$dn[1]."/".$dn[0];
			$dc=explode("-",$linha_edit['data_cadastro']);
			$data_cadastro=$dc[2]."/".$dc[1]."/".$dc[0];
		}
	}
	?>
    <tr>
    	<td align="center">
        <table border="0" cellpadding="0" cellspacing="3">
        <tr>
            <td align="left" colspan="3">
            <input type="hidden" name="status" value="<?=$status;?>" />
            <input type="hidden" name="codigo" value="<?=$_GET['codigo_candidato'];?>" />
            <? if ($_GET['status']=='edit' and $_GET['codigo_candidato']>0) { ?>
            <input type="hidden" name="codigo_modulos" value="<?=$linha_edit['codigo_modulos'];?>" />
            Módulos: <select name="xcx" disabled="disabled">
            <option value=""></option>
            <?
            $r2=pg_query($conn_pg,"select codigo, nome from modulos where codigo_curso =".$_SESSION['ise_inscricao_curso']." order by nome asc");
			while ($l2=pg_fetch_array($r2)) {
			?>
            <option value="<?=$l2['codigo'];?>" <? if ($linha_edit['codigo_modulos']==$l2['codigo']) { ?> selected="selected" <? } ?>><?=$l2['nome'];?></option>
            <? } ?>
            </select>
            <? } else { ?>
            Módulos: <select name="codigo_modulos">
            <option value=""></option>
            <?
            $r2=pg_query($conn_pg,"select codigo, nome from modulos where codigo_curso =".$_SESSION['ise_inscricao_curso']." order by nome asc");
			while ($l2=pg_fetch_array($r2)) {
			?>
            <option value="<?=$l2['codigo'];?>" <? if ($linha_edit['codigo_modulos']==$l2['codigo']) { ?> selected="selected" <? } ?>><?=$l2['nome'];?></option>
            <? } ?>
            </select>
            <? } ?>
            </td>
        </tr>
        <tr>
            <td align="right" colspan="2">
            Nome: <input type="text" name="nome" value="<?=$linha_edit['nome'];?>" maxlength="40" size="39" />
            </td>
            <td align="right" colspan="2">
            CPF: <?=$_SESSION['ise_inscricao_cpf'];?> 
            </td>
        </tr>
        <tr>
            <td align="right" colspan="2">
              RG: <input type="text" name="rg" value="<?=$linha_edit['rg'];?>" maxlength="20" size="20" /> 
            </td>
            <td align="right"> 
            Sexo: <select name="sexo">
            <option value=""></option>
            <option value="Masculino" <? if ($linha_edit['sexo']=="Masculino") { ?> selected="selected" <? } ?>>Masculino</option>
            <option value="Feminino" <? if ($linha_edit['sexo']=="Feminino") { ?> selected="selected" <? } ?>>Feminino</option>
            </select>
            </td>
        </tr>
        <tr>
            <td align="right" colspan="2">
             
            Estado Civil: <select name="estado_civil">
            <option value=""></option>
            <option value="Casado" <? if ($linha_edit['estado_civil']=="Casado") { ?> selected="selected" <? } ?>>Casado</option>
            <option value="Solteiro" <? if ($linha_edit['estado_civil']=="Solteiro") { ?> selected="selected" <? } ?>>Solteiro</option>
            <option value="Viúvo" <? if ($linha_edit['estado_civil']=="Viúvo") { ?> selected="selected" <? } ?>>Viúvo</option>
            <option value="Outros" <? if ($linha_edit['estado_civil']=="Outros") { ?> selected="selected" <? } ?>>Outros</option>
            </select>
            </td>
            <td align="right"> 
              Nacionalidade: <input type="text" name="nacionalidade" maxlength="20" size="20" value="<?=$linha_edit['nacionalidade'];?>"/>
            </td>
        </tr>
        <tr>
            <td align="right" colspan="2">
            Mãe:
            <input type="text" name="nome_mae" value="<?=$linha_edit['nome_mae'];?>" maxlength="40" size="40"/>
            </td>
            <td align="right">
            Data Nasc: <input type="text" id="data_nascimento" name="data_nascimento" onkeyup="valida_data(this);" maxlength="10" value="<?=$data_nascimento;?>" size="10" onkeypress="return somente_numeros(this,event);"/>
            </td>
        </tr>
        <tr>
            <td align="right" colspan="2">
            Endereço: <input type="text" name="endereco" value="<?=$linha_edit['endereco'];?>" maxlength="30" size="30"/>
            </td>
            <td align="right">
            Número: <input type="text" name="endereco_numero" id="endereco_numero" value="<?=$linha_edit['endereco_numero'];?>" size="5" maxlength="5"/>
            </td>
        </tr>
        <tr>
            <td align="right" colspan="2">
            Bairro: <input type="text" name="bairro" value="<?=$linha_edit['bairro'];?>" maxlength="20" size="20"/>
            </td>
            <td align="right">
            Cidade: <input type="text" name="cidade" value="<?=$linha_edit['cidade'];?>" maxlength="30" size="30"/>
            </td>
        </tr>
        <tr>
            <td align="right" colspan="2">
            UF: 
              <input type="text" name="uf" value="<?=$linha_edit['uf'];?>" maxlength="2" size="2" onblur="verifica_tamanho(this, 2);"/></td>
            <td align="right">
            CEP: <input type="text" name="cep" onkeypress="return somente_numeros(this,event);" maxlength="8" value="<?=$linha_edit['cep'];?>" size="8" onblur="verifica_tamanho(this, 8);"/>
            </td>
        </tr>
        <tr>
            <td align="right">
            DDD: <input type="text" name="ddd" onkeypress="return somente_numeros(this,event);" maxlength="2" value="<?=$linha_edit['ddd'];?>" size="2" onblur="verifica_tamanho(this, 2);"/>
            </td>
            <td align="right">
            Fone: 
              <input type="text" name="telefone" onkeypress="return somente_numeros(this,event);" maxlength="8" value="<?=$linha_edit['telefone'];?>" size="8" onblur="verifica_tamanho(this, 8);"/></td>
            <td align="right">
            Nec. Especiais: <select name="deficiencia">
            <option value=""></option>
            <option value="Auditiva" <? if ($linha_edit['deficiencia']=="Auditiva") { ?> selected="selected" <? } ?>>Auditiva</option>
            <option value="Física" <? if ($linha_edit['deficiencia']=="Física") { ?> selected="selected" <? } ?>>Fisica</option>
            <option value="Mental" <? if ($linha_edit['deficiencia']=="Mental") { ?> selected="selected" <? } ?>>Mental</option>
            <option value="Nenhuma" <? if ($linha_edit['deficiencia']=="Nenhuma") { ?> selected="selected" <? } ?>>Nenhuma</option>
            <option value="Visual" <? if ($linha_edit['deficiencia']=="Visual") { ?> selected="selected" <? } ?>>Visual</option>
            </select>
            </td>
        </tr>
        <tr>
        <td align="left" colspan="3">
	        E-mail: <input type="text" name="e_mail" value="<?=$linha_edit['e_mail'];?>" maxlength="80" size="80"/>
        </td>
        </tr>
        <? if ($_GET['status']=='') { ?>
        <tr>
        	<td align="left" colspan="3">
            <br />
			Para futuros acessos você deverá cadastrar uma senha
            </td>
        </tr>
        <tr>
            <td align="right">
            Senha: <input type="password" name="senha" maxlength="6" size="6" onblur="verifica_tamanho(this, 6);" onkeypress="return sem_espaco(this,event);"/>
            </td>
            <td align="right">
            Senha Novamente: <input type="password" name="senha2" maxlength="6" size="6" onblur="verifica_tamanho(this, 6);" onkeypress="return sem_espaco(this,event);"/>
            </td>
        </tr>
        <? } else { ?>
        <input type="hidden" name="senha" value="<?=$linha_edit['senha'];?>"/>
        <? } ?>
        </table>
        </td>
    </tr>
    </table>

    <div align="right">
    <? if ($_GET['status']=='new' or $_GET['status']=='') { ?>
	<input name="salvar" type="submit" value="Finalizar"/>
    <? } else { ?>
    <input name="salvar" type="submit" value="Alterar"  />
    <? } ?>
      
    </div>
    </form>
    </td>
</tr>
</table>
<? } else {
	header("location: site_inscricao_index.php");
}
?>
</body>
</html>

 

site_candidatos_salvar.php

 

<?
session_start();
if ($_SESSION['ise_inscricao_curso']){
	//include "permissao.php";
	$dn=explode("/", $_POST['data_nascimento']);
	$data_nascimento=$dn[2]."-".$dn[1]."-".$dn[0];
	$dc=explode("/", $_POST['data_cadastro']);
	$data_cadastro=$dc[2]."-".$dc[1]."-".$dc[0];
	include "../conexao.php";
	if($_SESSION['ise_inscricao_cpf']){
		if ($_POST['status']=='new') {
			//novo
			pg_query($conn_pg,"begin");
			//pega o úlitmo registro no banco de dados
			$r_inscricao=pg_query($conn_pg,"select max(inscricao + 1) as ultima_inscricao from candidatos where codigo_curso=".$_SESSION['ise_inscricao_curso']);
			$l_inscricao=pg_fetch_array($r_inscricao);
			if (!$l_inscricao['ultima_inscricao']){
				$l_inscricao['ultima_inscricao'] = 1;	
			}
			
			pg_query($conn_pg,"insert into candidatos (codigo_modulos, nome, rg, sexo, cpf, estado_civil, nome_mae, nascimento, nacionalidade, endereco, endereco_numero, bairro, cidade, uf, cep, ddd, telefone, deficiencia, situacao, data_cadastro, usuario, senha, inscricao, codigo_curso, e_mail) values (".$_POST['codigo_modulos'].", '".$_POST['nome']."', '".$_POST['rg']."', '".$_POST['sexo']."', '".$_SESSION['ise_inscricao_cpf']."', '".$_POST['estado_civil']."', '".$_POST['nome_mae']."', '".$data_nascimento."', '".$_POST['nacionalidade']."', '".$_POST['endereco']."', '".$_POST['endereco_numero']."', '".$_POST['bairro']."', '".$_POST['cidade']."', '".$_POST['uf']."', '".$_POST['cep']."', ".$_POST['ddd'].", ".$_POST['telefone'].", '".$_POST['deficiencia']."', 'Inscrito', '".date("Y-m-d")."', 99, '".$_POST['senha']."', ".$l_inscricao['ultima_inscricao'].", ".$_SESSION['ise_inscricao_curso'].", '".$_POST['e_mail']."')");
			$r=pg_query($conn_pg,"select max(c.codigo) as codigo, co.inscricao_boleto from candidatos c, modulos co where co.codigo=c.codigo_curso and c.cpf='".$_SESSION['ise_inscricao_cpf']."' and c.codigo_curso =".$_SESSION['ise_inscricao_curso']." group by co.inscricao_boleto");
			$l=pg_fetch_array($r);
			$inscricao=$l_inscricao['ultima_inscricao'];
			for ($z=strlen($l_inscricao['ultima_inscricao']); $z<4; $z++) {
				$inscricao="0".$inscricao;	
			}
			
			if ($l['inscricao_boleto'] == 's'){
				//valor do modulo
				$rc=pg_query($conn_pg,"select valor from modulos where codigo=".$_POST['codigo_modulo']);
				$lc=pg_fetch_array($rc);
				$valor_boleto=$lc['valor'];
				
				//inicio nosso numero
				$rr=pg_query($conn_pg,"select inicio_nosso_numero, vencimento_boleto from cursos where codigo=".$_SESSION['ise_inscricao_curso']);
				$ll=pg_fetch_array($rr);
				$nosso_numero=$ll['inicio_nosso_numero']+intval($inscricao);
				pg_query($conn_pg,"insert into debitos (codigo_candidato, documento, nosso_numero, valor, data_emissao, data_vencimento) values (".$l['codigo'].", ".$nosso_numero.", ".$nosso_numero.", ".$valor_boleto.", '".date("Y-m-d")."', '".$ll['vencimento_boleto']."')");
			}
			
			pg_query($conn_pg,"commit");
			$codigo_candidato = $l['codigo'];
		} else if ($_POST['status']=='edit') {
			//atualiza
			pg_query($conn_pg,"update candidatos set codigo_modulo=".$_POST['codigo_modulo'].", nome='".$_POST['nome']."', rg='".$_POST['rg']."', sexo='".$_POST['sexo']."', estado_civil='".$_POST['estado_civil']."', nome_mae='".$_POST['nome_mae']."', nascimento='".$data_nascimento."', nacionalidade='".$_POST['nacionalidade']."', endereco='".$_POST['endereco']."', endereco_numero='".$_POST['endereco_numero']."', bairro='".$_POST['bairro']."', cidade='".$_POST['cidade']."', uf='".$_POST['uf']."', cep='".$_POST['cep']."', ddd=".$_POST['ddd'].", telefone=".$_POST['telefone'].", deficiencia='".$_POST['deficiencia']."', e_mail='".$_POST['e_mail']."'  where codigo=".$_POST['codigo']);
			$codigo_candidato=$_POST['codigo'];
		}
	}
	header ("location: site_candidatos_dados.php?codigo_candidato=".$codigo_candidato."&msgcode=1");
} else {
	header ("location: site_inscricao_index.php?erro=1");
}
?>

 

 

Bom é isso aí galera, coloquei apenas as páginas principais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.