Ir para conteúdo

POWERED BY:

Arquivado

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

Pablo Costa

[Resolvido] Dificuldade com arrays em PHP

Recommended Posts

Olá , bom dia gente.

 

Eu peguei daqui, um script para formulário de contato ; foi nesse tópico:

http://scriptbrasil.com.br/forum/index.php?showtopic=82939&st=0

 

Obviamente, adaptei ele as minhas necessidades. Porém, estou tendo o seguinte problema.

Pelo que observei, ele não esta pegando meus arrays de jeito nenhum. As variáveis ele reconhece, porém, ele nem sabe da existência dos meus arrays.

 

Procurei checar o código html, o código php, e esta tudo certo.

Poderiam me ajudar por favor ? Estou postando meus códigos HTML e PHP abaixo.

Muito obrigado.

 

Pablo Costa

 

Código HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css" media="screen">
<!--
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
margin: 15px;
background: #666;
}
fieldset{
width: 600px;
padding: 10px;
background: #ccc;
}
input{
margin-top: 5px;
margin-bottom: 5px;
}
textarea {
   resize: none;
}
-->
</style>
<title> Formulário para criação de contas de usuário</title>
</head>
<body>
	<form action="enviar.php" method="post">
	<fieldset>
		<label for="nome">Nome Completo: </label>
			<input type="text" name="nome" id="nome" size="60" maxlength="80"/><br />
		Sexo:<select name="sexo">
		<option value="Masculino">Masculino</option>
		<option value="Feminino">Feminino</option>
		</select><br />
		<label for="setor">Setor:</label>
			<input type="text" name="setor" id="setor" size="15" maxlength="15" />
		<label for="funcao">Função:</label>
			<input type="text" name="funcao" id="funcao" size="15" maxlength="15" />
		<label for="matricula">Matrícula:</label>
			<input type="text" name="matricula" id="matricula" size="5" maxlength="5" /><br>
		<label for="data_adm">Data de admissão:</label>
			<input type="text" name="data_adm" id="data_adm" size="10" maxlength="10" /><br>
		<label for="ramal">Ramal telefônico:</label>
			<input type="text" name="ramal" id="ramal" size="5" /><br><br>
<p><center><h2>Definições de acesso a rede</h1></center></p>
<br>
<h3>Pastas:</h3>
			<input type="checkbox" name="pastas[]" id="pastas_doc" value="Documentos" />
		<label for="pastas_doc">Documentos</label>
			<input type="checkbox" name="pastas[]" id="pastas_pub" value="Publico" />
		<label for="pastas_pub">Pastas Públicas</label><br>
		<label for="pastas_especificas">Pastas Específicas:</label>
			<input type="text" name="pastas_especificas" id="pastas_esp" size="30" maxlength="30" />
			<br>
<h3>E-mail:</h3>
			Criar conta de e-mail ? 
			<input type="radio" name="email" id="email_sim" value="sim" /> 
		<label for="email_sim">Sim</label>
			<input type="radio" name="email" id="email_nao" value="nao" /> 
		<label for="email_nao">Não</label>
					<br>
		<label for="end_email">Endereço de E-mail:</label>
			<input type="text" name="end_email" id="end_email" size="20" maxlength="30" />

<p><center><h2>Definição de acesso a sistemas</center></h2></p>
		Acesso ao Teknisa:
			<input type="radio" name="acesso_teknisa" id="tek_sim" value="teknisa_sim" />
		<label for="tek_sim">Sim</label>
			<input type="radio" name="acesso_teknisa" id="tek_nao" value="teknisa_nao" />
		<label for="tek_nao">Não</label>

		<h3><center>Módulos Teknisa:</h3>
<table border="0" cellpadding="1" cellspacing="1" style="width: 600px;">
		<tbody>
			<tr>
				<td>
							<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_producao" value="Produção" />
		<label for="mod_tek_produção">Módulo Produção</label><br>
		<label for="obs_mod_prod">Observações:</label>
			<textarea name="obs_mod_prod" id="obs_mod_prod" rows="2" cols="20"></textarea></td>
				<td>
						<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_compras" value="Compras" />
		<label for="mod_tek_compras">Módulo Compras</label><br>
		<label for="obs_mod_compras">Observações:</label>
			<textarea name="obs_mod_compras" id="obs_mod_compras" rows="2" cols="20"></textarea></td>
				<td>
					<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_contas_pagar" value="Contas a pagar" />
		<label for="mod_tek_contas_pagar">Módulo Contas a Pagar</label><br>
		<label for="obs_mod_contas_pagar">Observações:</label>
			<textarea name="obs_mod_contas_pagar" id="obs_mod_contas_pagar" rows="2" cols="20"></textarea></td>
			</tr>
			<tr>
				<td>
					<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_contas_receber" value="Contas a receber" />
		<label for="mod_tek_contas_receber">Módulo Contas a Receber</label><br>
		<label for="obs_mod_contas_receber">Observações:</label>
			<textarea name="obs_mod_contas_receber" id="obs_mod_contas_receber" rows="2" cols="20"></textarea></td>
				<td>
					<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_contr_banc" value="Controle Bancário" />
		<label for="mod_tek_contr_banc">Módulo Controle Bancário</label><br>
		<label for="obs_mod_contr_banc">Observações:</label>
			<textarea name="obs_mod_contr_banc" id="obs_mod_contr_banc" rows="2" cols="20"></textarea></td>
				<td>
					<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_contr_prod" value="Controle Produção" />
		<label for="mod_tek_contr_prod">Módulo Controle Produção</label><br>
		<label for="obs_mod_contr_prod">Observações:</label>
			<textarea name="obs_mod_contr_prod" id="obs_mod_contr_prod" rows="2" cols="20"></textarea></td>
			</tr>
			<tr>
				<td>
					<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_contabilidade" value="Contabilidade" />
		<label for="mod_tek_contabilidade">Módulo Contabilidade</label><br>
		<label for="obs_mod_contabilidade">Observações:</label>
			<textarea name="obs_mod_contabilidade" id="obs_mod_contabilidade" rows="2" cols="20"></textarea></td>
				<td>
					<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_doc_fisc_ent" value="Documentos Fiscais de Entrada" />
		<label for="mod_tek_doc_fisc_ent">Módulo Documentos Fiscais de Entrada</label><br>
		<label for="obs_mod_doc_fisc_ent">Observações:</label>
			<textarea name="obs_mod_doc_fisc_ent" id="obs_mod_doc_fisc_ent" rows="2" cols="20"></textarea></td>
				<td>
					<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_doc_fisc_saida" value="Documentos Fiscais de Saída" />
		<label for="mod_tek_doc_fisc_saida">Módulo Documentos Fiscais de Saída</label><br>
		<label for="obs_mod_doc_fisc_saida">Observações:</label>
			<textarea name="obs_mod_doc_fisc_saida" id="obs_mod_doc_fisc_saida" rows="2" cols="20"></textarea></td>
			</tr>
			<tr>
				<td>
					<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_gestao_qualif" value="Gestão de Qualificação" />
		<label for="mod_tek_gestao_qualif">Gestão de Qualificação</label><br>
		<label for="obs_mod_tek_gestao_qualif">Observações:</label>
			<textarea name="obs_mod_gestao_qualif" id="obs_mod_gestao_qualif" rows="2" cols="20"></textarea></td>
				<td>
					<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_expedicao" value="Expedição" />
		<label for="mod_tek_expedicao">Expedição</label><br>
		<label for="obs_mod_tek_expedicao">Observações:</label>
			<textarea name="obs_mod_expedicao" id="obs_mod_expedicao" rows="2" cols="20"></textarea></td>
				<td>
					<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_manutencao" value="Manutenção" />
		<label for="mod_tek_manutencao">Manutenção</label><br>
		<label for="obs_mod_tek_manutencao">Observações:</label>
			<textarea name="obs_mod_manutencao" id="obs_mod_manutencao" rows="2" cols="20"></textarea></td>
			</tr>
			<tr>
				<td>
					<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_pedidos" value="Pedidos" />
		<label for="mod_tek_pedidos">Pedidos</label><br>
		<label for="obs_mod_tek_pedidos">Observações:</label>
			<textarea name="obs_mod_pedidos" id="obs_mod_pedidos" rows="2" cols="20"></textarea></td>
				<td>
					<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_plan_alim_ind" value="Planejamento Alim. Industrial" />
		<label for="mod_tek_plan_alim_ind">Planejamento Alim. Industrial</label><br>
		<label for="obs_mod_plan_alim_ind">Observações:</label>
			<textarea name="obs_mod_plan_alim_ind" id="obs_mod_plan_alim_ind" rows="2" cols="20"></textarea></td>
				<td>
					<input type="checkbox" name="modulos_teknisa[]" id="mod_tek_fiscal" value="Fiscal" />
		<label for="mod_tek_fiscal">Planejamento Alim. Industrial</label><br>
		<label for="obs_mod_fiscal">Observações:</label>
			<textarea name="obs_mod_fiscal" id="obs_mod_fiscal" rows="2" cols="20"></textarea></td>
			</tr>
			<tr>
				<td>
					<input type="checkbox" name="modulos_teknisa[]" id="mod_suprimentos" value="Suprimentos" />
		<label for="mod_tek_uprimentos">Suprimentos</label><br>
		<label for="obs_mod_uprimentos">Observações:</label>
			<textarea name="obs_mod_suprimentos" id="obs_mod_suprimentos" rows="2" cols="20"></textarea></td>
				<td>
					mod17</td>
				<td>
					mod18</td>
			</tr>
		</tbody>
	</table><br><br>
	Acesso ao TOTVS:
			<input type="radio" name="acesso_totvs" id="totvs_sim" value="totvs_sim" />
		<label for="totvs_sim">Sim</label>
			<input type="radio" name="acesso_totvs" id="totvs_nao" value="totvs_nao" />
		<label for="totvs_nao">Não</label>
		<h3>Módulos TOTVS</h3>
		<table border="0" cellpadding="1" cellspacing="1" style="width: 600px;">
		<tbody>
			<tr>
				<td>
					<input type="checkbox" name="modulos_totvs[]" id="mod_labore" value="Labore" />
		<label for="mod_totvs_labore">Labore</label><br>
		<label for="obs_mod_totvs_labore">Observações:</label>
			<textarea name="obs_mod_totvs_labore" id="obs_mod_totvs_labore" rows="2" cols="20"></textarea></td>
				<td>
					<input type="checkbox" name="modulos_totvs[]" id="mod_chronus" value="Chronus" />
		<label for="mod_totvs_chronus">Chronus</label><br>
		<label for="obs_mod_totvs_chronus">Observações:</label>
			<textarea name="obs_mod_totvs_chronus" id="obs_mod_totvs_chronus" rows="2" cols="20"></textarea></td>
				<td>
					<input type="checkbox" name="modulos_totvs[]" id="mod_vitae" value="Vitae" />
		<label for="mod_totvs_vitae">Vitae</label><br>
		<label for="obs_mod_totvs_vitae">Observações:</label>
			<textarea name="obs_mod_totvs_vitae" id="obs_mod_totvs_vitae" rows="2" cols="20"></textarea></td>
			</tr>
			<tr>
				<td>
					<input type="checkbox" name="modulos_totvs[]" id="mod_portal" value="Portal" />
		<label for="mod_totvs_portal">Portal</label><br>
		<label for="obs_mod_totvs_portal">Observações:</label>
			<textarea name="obs_mod_totvs_portal" id="obs_mod_totvs_portal" rows="2" cols="20"></textarea></td>
				<td>
				<input type="checkbox" name="modulos_totvs[]" id="mod_bi" value="BI" />
		<label for="mod_totvs_vie">BI</label><br>
		<label for="obs_mod_totvs_bi">Observações:</label>
			<textarea name="obs_mod_totvs_bi" id="obs_mod_totvs_bi" rows="2" cols="20"></textarea>
			</td>
			</tr>
		</tbody>
	</table>
	<br>
	<label for="obs_finais">Considerações Finais:</label>
	<textarea name="obs_finais" id="obs_finais" rows="10" cols="60"></textarea><br>
	<input type="submit" value="Enviar Formulário" />
	</fieldset>
	</form>
</body>
</html>

 

 

Código PHP

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
<style type="text/css" media="screen">
		<!--
		body {
		font-family: Verdana, Arial, Helvetica, sans-serif;
		font-size: 12px;
		margin: 15px;
		background: #666;
		}
		!-->
</style>
<title>Contato</title>
	</head>
<body>
	<?php
	if (!isset($modulos_teknisa)) {
	echo "Variável com problema";
	}
	 /*
	 Declaração de variáveis referentes a nome, sexo, setor, função, matrícula, ramal, endereço de
	 e-mail (caso seja selecionado pra criar e-mail), data de admissão, se vai acessar o
	 teknisa/totvs ou não, pastas a serem acessadas, pastas específicas a serem acessadas
	 */		
	$nome = $_POST['nome'];
	$sexo = $_POST['sexo'];
	$setor = $_POST['setor'];
	$funcao = $_POST['funcao'];
	$matricula = $_POST['matricula'];
	$data_adm = $_POST['data_adm'];
	$ramal = $_POST['ramal'];
	$end_email = $_POST['email'];
	$acs_tek = $_POST['acesso_teknisa'];
	$acs_totvs = $_POST['acesso_totvs'];
	$pastas_especiais = $_POST['pastas_especificas'];
	//arrays
	$acesso_pastas = $_POST['pastas'];
	$mod_totvs = $_POST['modulos_totvs'];
	$mod_tek = $_POST['modulos_teknisa'];
	//fim arrays

	//Convertendo os Arrays em Strings
	foreach ($acesso_pastas as $x)
	$acesso_pastas .= $x."<br />";

	foreach ($mod_totvs as $y)
	$mod_totvs .= $y."<br />";

	foreach ($mod_tek as $z)
	$mod_tek .= $z."<br />";





	//Observações dos Módulos
	$obs_mod_tek_prod = nl2br($_POST['obs_mod_prod']);
	$obs_mod_tek_compras = nl2br($_POST['obs_mod_compras']);
	$obs_mod_tek_contas_pagar = nl2br($_POST['obs_mod_contas_pagar']);
	$obs_mod_tek_contas_receber = nl2br($_POST['obs_mod_contas_receber']);
	$obs_mod_tek_contr_banc = nl2br($_POST['obs_mod_contr_banc']);
	$obs_mod_tek_contr_prod = nl2br($_POST['obs_mod_contr_prod']);
	$obs_mod_tek_contabilidade = nl2br($_POST['obs_mod_contabilidade']);
	$obs_mod_tek_doc_fisc_ent = nl2br($_POST['obs_mod_doc_fisc_ent']);
	$obs_mod_tek_doc_fisc_saida = nl2br($_POST['obs_mod_doc_fisc_saida']);
	$obs_mod_tek_gestao_qualif = nl2br($_POST['obs_mod_gestao_qualif']);
	$obs_mod_tek_expedicao = nl2br($_POST['obs_mod_expedicao']);
	$obs_mod_tek_manutencao = nl2br($_POST['obs_mod_manutencao']);
	$obs_mod_tek_pedidos = nl2br($_POST['obs_mod_pedidos']);
	$obs_mod_tek_plan_alim_ind = nl2br($_POST['obs_mod_plan_alim_ind']);
	$obs_mod_tek_fiscal = nl2br($_POST['obs_mod_fiscal']);
	$obs_mod_tek_suprimentos = nl2br($_POST['obs_mod_suprimentos']);
	$obs_mod_totvs1 = nl2br($_POST['obs_mod_totvs_labore']);
	$obs_mod_totvs2 = nl2br($_POST['obs_mod_totvs_chronus']);
	$obs_mod_totvs3 = nl2br($_POST['obs_mod_totvs_vitae']);
	$obs_mod_totvs4 = nl2br($_POST['obs_mod_totvs_portal']);
	$obs_mod_totvs5 = nl2br($_POST['obs_mod_totvs_bi']);
	//Observações Finais
	$cns_finais = nl2br($_POST['obs_finais']);


	//Transformando os arrays em strings comuns

	$para = "helpdesk@pharmascience.com.br";// e-mail que receberá a mensagem
	$mensagem = "
	<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">
	<html xmlns=\"http://www.w3.org/1999/xhtml\">
	<head>
	<title>Contato</title>
	</head>
	<body>
	Nome: <strong>$nome</strong><br />
	Sexo: <strong>$sexo</strong><br />
	Setor: <strong>$setor</strong><br />
	Função: <strong>$funcao</strong><br />
	Matrícula: <strong>$matricula</strong><br />
	Data de Admissão: <strong>$data_adm</strong><br/ >
	Ramal: <strong>$ramal</strong><br />
	Pastas a Serem Acessadas: <strong>$pastas_acessadas</strong><br />
	Pastas Especiais a Serem Acessadas:<strong>$pastas_especiais</strong><br />
	Endereço de E-mail a Ser criado: <strong>$end_email</strong><br />
	Acesso ao Teknisa ? <strong>$acs_tek</strong><br />
	<br>Módulos Teknisa Selecionados:<br /><strong>$mod_tek</strong><br/><br />

	Observações:<br>
	Módulo Produção: <strong>$obs_mod_tek_prod</strong><br>
	Módulo Compras: <strong>$obs_mod_tek_compras</strong><br>
	Módulo Contas a Pagar: <strong>$obs_mod_tek_contas_pagar</strong><br>
	Módulo Contas a Receber: <strong>$obs_mod_tek_contas_receber</strong><br>
	Módulo Controle Bancário: <strong>$obs_mod_tek_contr_banc</strong><br>
	Módulo Controle Produção: <strong>$obs_mod_tek_contr_prod</strong><br>
	Módulo Contabilidade: <strong>$obs_mod_tek_contabilidade</strong><br>
	Módulo Documentos Fiscais de Entrada: <strong>$obs_mod_tek_doc_fisc_ent</strong><br>
	Módulo Documentos Fiscais de Saída: <strong>$obs_mod_tek_doc_fisc_saida</strong><br>
	Módulo Gestão da Qualificação: <strong>$obs_mod_tek_gestao_qualif</strong><br>
	Módulo Expedição: <strong>$obs_mod_tek_expedicao</strong><br>
	Módulo Manutenção: <strong>$obs_mod_tek_manutencao</strong><br>
	Módulo Pedidos: <strong>$obs_mod_tek_pedidos</strong><br>
	Módulo Planejamento Alim. Industrial: <strong>$obs_mod_tek_plan_alim_ind</strong><br>
	Módulo Fiscal: <strong>$obs_mod_tek_fiscal</strong><br>
	Módulo Suprimentos: <strong>$obs_mod_tek_suprimentos</strong></br>
	<br>
	Acesso ao TOTVS ? <strong>$acs_totvs</strong><br />
	Módulos TOTVS selecionados: <strong>$mod_totvs</strong><br />
	Observações:<br>
	Módulo Labore: <strong>$obs_mod_totvs1</strong><br />
	Módulo Chronus: <strong>$obs_mod_totvs2</strong><br />
	Módulo Vitae: <strong>$obs_mod_totvs3</strong><br />
	Módulo Portal: <strong>$obs_mod_totvs4</strong><br />
	Módulo BI: <strong>$obs_mod_totvs5</strong><br />
	<br>
	Considerações Finais: <strong>$cns_finais</strong>	
	</body></html>
	";
	$header = "MIME-Version: 1.0\r\n";
	$header .= "Content-type: text/html; charset=iso-8859-15\r\n";
	$header .= "From: $nome <$email>";

	if (mail ($para, $assunto, $mensagem, $header))
	  echo "E-Mail enviado!";
		else
		  echo "Erro ao enviar o E-Mail";
	?>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloquei antes do array $acesso_pastas

 

Coloquei, eis o resultado:

 

"

Array ( [nome] => Pablo [sexo] => Masculino [setor] => [funcao] => [matricula] => [data_adm] => [ramal] => [pastas_especificas] => [end_email] => [obs_mod_prod] => [obs_mod_compras] => [obs_mod_contas_pagar] => [obs_mod_contas_receber] => [obs_mod_contr_banc] => [obs_mod_contr_prod] => [obs_mod_contabilidade] => [obs_mod_doc_fisc_ent] => [obs_mod_doc_fisc_saida] => [obs_mod_gestao_qualif] => [obs_mod_expedicao] => [obs_mod_manutencao] => [obs_mod_pedidos] => [obs_mod_plan_alim_ind] => [obs_mod_fiscal] => [obs_mod_suprimentos] => [obs_mod_totvs_labore] => [obs_mod_totvs_chronus] => [obs_mod_totvs_vitae] => [obs_mod_totvs_portal] => [obs_mod_totvs_bi] => [obs_finais] => ) 1

"

 

Parece que ele esta misturando tudo , ou é impressão minha ?

 

PS:

Esqueci de postar os erros, desculpem.

 

Variável com problema

Notice: Undefined index: email in C:\xampp\htdocs\teste\enviar.php on line 33

 

Notice: Undefined index: acesso_teknisa in C:\xampp\htdocs\teste\enviar.php on line 34

 

Notice: Undefined index: acesso_totvs in C:\xampp\htdocs\teste\enviar.php on line 35

 

Notice: Undefined index: mod_tek in C:\xampp\htdocs\teste\enviar.php on line 42

 

Notice: Undefined variable: acesso_pastas in C:\xampp\htdocs\teste\enviar.php on line 45

 

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\teste\enviar.php on line 45

 

Notice: Undefined variable: mod_totvs in C:\xampp\htdocs\teste\enviar.php on line 48

 

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\teste\enviar.php on line 48

 

Notice: Undefined variable: mod_tek in C:\xampp\htdocs\teste\enviar.php on line 51

 

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\teste\enviar.php on line 51

 

Notice: Undefined variable: pastas_acessadas in C:\xampp\htdocs\teste\enviar.php on line 102

 

Notice: Undefined variable: mod_tek in C:\xampp\htdocs\teste\enviar.php on line 108

 

Notice: Undefined variable: mod_totvs in C:\xampp\htdocs\teste\enviar.php on line 128

 

Notice: Undefined variable: email in C:\xampp\htdocs\teste\enviar.php on line 139

 

Notice: Undefined variable: assunto in C:\xampp\htdocs\teste\enviar.php on line 141

E-Mail enviado!

 

Desde já muito obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele misturou pq você nao identou o codigo....mas ao q parece esta certinho, quanto aaos erros, parece q algumas variaveis nao foram definidas....tem q definir uma variavel antes de usa-las....você pode usar a funcao extract

 

extract($_POST);

assim, você usa cada indice do post como uma variavel...

 

http://br.php.net/manual/pt_BR/function.extract.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele misturou pq você nao identou o codigo....mas ao q parece esta certinho, quanto aaos erros, parece q algumas variaveis nao foram definidas....tem q definir uma variavel antes de usa-las....você pode usar a funcao extract

 

extract($_POST);

assim, você usa cada indice do post como uma variavel...

 

http://br.php.net/manual/pt_BR/function.extract.php

Ígor,

 

Entendo a questão de definir as variáveis.

Você quer dizer...antes de eu puxa-las com o post, defini-las manualmente , tipo isso ?

exemplo:

 

Tenho a seguinte linha:

$acesso_pastas = $_POST['pastas'];

 

antes dela, devo declarar

$acesso_pastas = "";

 

Seria isso ?

 

ps: eu conheço o extract ; apenas gostaria de usar os arrays , bom que aprendo de uma vez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas...

 

Até onde eu entendo, no PHP , as variáveis não são declaradas em tempo de execução ?

Em outras linguagens de programação (C, C++, Delphi, etc) , é interessante que você declare a variável antes de utiliza-la, porém, em nunca ouvi falar dessa limitação em php, juro.

 

E em C , por exemplo, você também poderia declarar a variável em tempo deexecução

 

ex ; a = int x;

 

Farei mais alguns testes e retorno o resultado final ; muito obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas...

 

Até onde eu entendo, no PHP , as variáveis não são declaradas em tempo de execução ?

Em outras linguagens de programação (C, C++, Delphi, etc) , é interessante que você declare a variável antes de utiliza-la, porém, em nunca ouvi falar dessa limitação em php, juro.

 

E em C , por exemplo, você também poderia declarar a variável em tempo deexecução

 

ex ; a = int x;

 

Farei mais alguns testes e retorno o resultado final ; muito obrigado !

 

sim, e nao

 

por exemplo

 

você pegar no meio do script algo como $var[1], se $var[1] nao tem valor, neste caso você deve declarar antes com um valor, mesmo null, 0 ou '' (vazio)..

 

aki

 

foreach ($acesso_pastas as $x)

$acesso_pastas .= $x."<br />";

 

acredito q por você esta transformando em string (na concatenacao) ele deixa de ser array,no foreach...na segunda vez q volta, faça um teste

$i=0;
foreach ($acesso_pastas as $x){
               $acesso_pastas .= $x."<br />";
$i++;
echo $i;
}

 

veja em q numero vai parar...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, e nao

 

por exemplo

 

você pegar no meio do script algo como $var[1], se $var[1] nao tem valor, neste caso você deve declarar antes com um valor, mesmo null, 0 ou '' (vazio)..

 

aki

 

foreach ($acesso_pastas as $x)

$acesso_pastas .= $x."<br />";

 

acredito q por você esta transformando em string (na concatenacao) ele deixa de ser array,no foreach...na segunda vez q volta, faça um teste

$i=0;
foreach ($acesso_pastas as $x){
               $acesso_pastas .= $x."<br />";
$i++;
echo $i;
}

 

veja em q numero vai parar...

 

Já faço ; estou fazendo um processo de re-formulação das variáveis.

 

Eu estou transformando em string, porque no exemplo, o cara tem algo igual ao que quero fazer (checkbox, várias opções). Quero que apenas as opções selecionadas sejam enviadas por e-mail, saca. Esse é o objetivo com os arrays.

 

Já retorno, muito obrigado pela informação :) !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lembro de ter lido sobre a implode, mas foi bem por alto.

 

Com ela, eu conseguiria realizar a mesma coisa que estou tentando fazer fom o foreach ? Que é, capturar apenas os resultados selecionados ?

 

Exemplo:

Tenho checkbox A , B e C.

Quero que apareça somente a que o cara selecionar ; nada mais, nada menos. Isso que planejo fazer com o foreach, e que entendi com o exemplo que estou usando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, voltei.

 

Bem , eu preferi usar o foreach.

Dei uma lida na documentação do implode, exemplos, mas não consegui utiliza-lo.

 

Eu refiz a declaração de variáveis do PHP.

 

No momento, apenas o meu array pastas[] esta sendo passado corretamente, e consigo dar um echo em seus elementos, certinho. Já os outros, não estão sendo passados. É como se não estivessem sendo atribuídos.

 

Chequei a minha sintaxe, e pelo que eu li esta ok ; não tenho problemas.

 

Estou enviando o "novo código"(de novo ñ tem nada, apenas tentando organizar), mas enfim, deixei um comentário na parte que consigo visualizar

 

Novamente, muito obrigado !

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
<style type="text/css" media="screen">
		<!--
		body {
		font-family: Verdana, Arial, Helvetica, sans-serif;
		font-size: 12px;
		margin: 15px;
		background: #666;
		}
		!-->
</style>
<title>Contato</title>
	</head>
<body>
	<?php

	if (!isset($modulos_teknisa)) {
	echo "Variável com problema";
	}
	 /*
	 Declaração de variáveis referentes a nome, sexo, setor, função, matrícula, ramal, endereço de
	 e-mail (caso seja selecionado pra criar e-mail), data de admissão, se vai acessar o
	 teknisa/totvs ou não, pastas a serem acessadas, pastas específicas a serem acessadas
	 */		
	/*if (($nome == "") || ($setor == "") || ($funcao == "") || ($matricula == ""))
	{
	 echo "<script>alert('Preencha os campos em branco.');</script>";
	 echo "<script>history.go(-1);</script>";
	}*/



	//Convertendo os Arrays em Strings
	/*
	foreach ($acesso_pastas as $x)
	$acessos_unidades .= $x."<br />"; 

	foreach ($mod_tek as $z)
	$modulos_tek .= $z."<br />";

	foreach ($mod_totvs as $y)
	$modulos_totvs .= $y."<br />";


	print_r($_POST['mod_tek']);
	*/



	/*Declarando variáveis para arrays*/
	$acesso_pastas = "";
	$mod_tek = "";
	$mod_totvs = "";
	/*Fim declaração de variáveis para arrays*/

	/*Atribuindo arrays para variáveis*/
	$mod_tek = $_POST['modulos_teknisa'];
	$mod_totvs = $_POST['modulos_totvs'];
	$acesso_pastas = $_POST['pastas'];
	/*Fim da atribuição de arrays para variáveis*/

	//Virando String
	foreach ($acesso_pastas as $x)
	$acessos .= $x."<br />";
	echo $acessos; //ESSE FUNCIONA

	foreach ($mod_tek as $y)
	$modulos_tek .= $y."<br />";
	echo $modulos_tek;

	foreach ($mod_totvs as $z)
	$modules_totvs .= $z."<br />";
	echo $modules_totvs;


	/*Declarando variáveis do formulário*/
	$nome = $_POST['nome'];
	$sexo = $_POST['sexo'];
	$grupo_funcionario = $_POST['grupo'];
	$funcao = $_POST['cargo'];
	$num_mat = $_POST['matricula'];
	$data_inicio = $_POST['data_adm'];
	$tel = $_POST['ramal'];
	$pastapublica = $_POST['pastas_pub'];
	$pastasespecificas = $_POST['pastas_especificas'];
	//conta_email é o radio button de sim ou não, endereco_conta é a variável que recebe o endereço de e-mail a ser criado.
	$conta_email = $_POST['email'];
	$endereco_conta = $_POST['end_mail'];
	$acessar_teknisa = $_POST['acesso_teknisa'];
	$acessar_totvs = $_POST['acesso_totvs'];
	/*Fim das declarações de variáveis*/

	//Observações dos Módulos
	$obs_mod_tek_prod = nl2br($_POST['obs_mod_prod']);
	$obs_mod_tek_compras = nl2br($_POST['obs_mod_compras']);
	$obs_mod_tek_contas_pagar = nl2br($_POST['obs_mod_contas_pagar']);
	$obs_mod_tek_contas_receber = nl2br($_POST['obs_mod_contas_receber']);
	$obs_mod_tek_contr_banc = nl2br($_POST['obs_mod_contr_banc']);
	$obs_mod_tek_contr_prod = nl2br($_POST['obs_mod_contr_prod']);
	$obs_mod_tek_contabilidade = nl2br($_POST['obs_mod_contabilidade']);
	$obs_mod_tek_doc_fisc_ent = nl2br($_POST['obs_mod_doc_fisc_ent']);
	$obs_mod_tek_doc_fisc_saida = nl2br($_POST['obs_mod_doc_fisc_saida']);
	$obs_mod_tek_gestao_qualif = nl2br($_POST['obs_mod_gestao_qualif']);
	$obs_mod_tek_expedicao = nl2br($_POST['obs_mod_expedicao']);
	$obs_mod_tek_manutencao = nl2br($_POST['obs_mod_manutencao']);
	$obs_mod_tek_pedidos = nl2br($_POST['obs_mod_pedidos']);
	$obs_mod_tek_plan_alim_ind = nl2br($_POST['obs_mod_plan_alim_ind']);
	$obs_mod_tek_fiscal = nl2br($_POST['obs_mod_fiscal']);
	$obs_mod_tek_suprimentos = nl2br($_POST['obs_mod_suprimentos']);
	$obs_mod_totvs1 = nl2br($_POST['obs_mod_totvs_labore']);
	$obs_mod_totvs2 = nl2br($_POST['obs_mod_totvs_chronus']);
	$obs_mod_totvs3 = nl2br($_POST['obs_mod_totvs_vitae']);
	$obs_mod_totvs4 = nl2br($_POST['obs_mod_totvs_portal']);
	$obs_mod_totvs5 = nl2br($_POST['obs_mod_totvs_bi']);
	$cns_finais = nl2br($_POST['obs_finais']);


	$para = "helpdesk@pharmascience.com.br";// e-mail que receberá a mensagem
	/*$mensagem = "
	<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">
	<html xmlns=\"http://www.w3.org/1999/xhtml\">
	<head>
	<title>Contato</title>
	</head>
	<body>
	Nome: <strong>$nome</strong><br />
	Sexo: <strong>$sexo</strong><br />
	Setor: <strong>$setor</strong><br />
	Função: <strong>$funcao</strong><br />
	Matrícula: <strong>$matricula</strong><br />
	Data de Admissão: <strong>$data_adm</strong><br/ >
	Ramal: <strong>$ramal</strong><br />
	Pastas a Serem Acessadas: <strong>$pastas_acessadas</strong><br />
	Pastas Especiais a Serem Acessadas:<strong>$pastas_especiais</strong><br />
	Endereço de E-mail a Ser criado: <strong>$end_email</strong><br />
	Acesso ao Teknisa ? <strong>$acs_tek</strong><br />
	<br>Módulos Teknisa Selecionados:<br /><strong>$mod_tek</strong><br/><br />

	Observações:<br>
	Módulo Produção: <strong>$obs_mod_tek_prod</strong><br>
	Módulo Compras: <strong>$obs_mod_tek_compras</strong><br>
	Módulo Contas a Pagar: <strong>$obs_mod_tek_contas_pagar</strong><br>
	Módulo Contas a Receber: <strong>$obs_mod_tek_contas_receber</strong><br>
	Módulo Controle Bancário: <strong>$obs_mod_tek_contr_banc</strong><br>
	Módulo Controle Produção: <strong>$obs_mod_tek_contr_prod</strong><br>
	Módulo Contabilidade: <strong>$obs_mod_tek_contabilidade</strong><br>
	Módulo Documentos Fiscais de Entrada: <strong>$obs_mod_tek_doc_fisc_ent</strong><br>
	Módulo Documentos Fiscais de Saída: <strong>$obs_mod_tek_doc_fisc_saida</strong><br>
	Módulo Gestão da Qualificação: <strong>$obs_mod_tek_gestao_qualif</strong><br>
	Módulo Expedição: <strong>$obs_mod_tek_expedicao</strong><br>
	Módulo Manutenção: <strong>$obs_mod_tek_manutencao</strong><br>
	Módulo Pedidos: <strong>$obs_mod_tek_pedidos</strong><br>
	Módulo Planejamento Alim. Industrial: <strong>$obs_mod_tek_plan_alim_ind</strong><br>
	Módulo Fiscal: <strong>$obs_mod_tek_fiscal</strong><br>
	Módulo Suprimentos: <strong>$obs_mod_tek_suprimentos</strong></br>
	<br>
	Acesso ao TOTVS ? <strong>$acs_totvs</strong><br />
	Módulos TOTVS selecionados: <strong>$mod_totvs</strong><br />
	Observações:<br>
	Módulo Labore: <strong>$obs_mod_totvs1</strong><br />
	Módulo Chronus: <strong>$obs_mod_totvs2</strong><br />
	Módulo Vitae: <strong>$obs_mod_totvs3</strong><br />
	Módulo Portal: <strong>$obs_mod_totvs4</strong><br />
	Módulo BI: <strong>$obs_mod_totvs5</strong><br />
	<br>
	Considerações Finais: <strong>$cns_finais</strong>	
	</body></html>
	";
	$header = "MIME-Version: 1.0\r\n";
	$header .= "Content-type: text/html; charset=iso-8859-15\r\n";
	$header .= "From: $nome <$email>";
*/
	if (mail ($para, $assunto, $mensagem, $header))
	  echo "E-Mail enviado!";
		else
		  echo "Erro ao enviar o E-Mail";
	?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas pra notificar: Eu resolvi o problema :)

Parece que era algo na declaração das variáveis mesmo ; inicializaei várias antes, e os problemas sumiram.

 

Todavia...percebi que o erro ocorre, quando eu não inicializo o array de nenhuma forma. Se eu preencho qualquer coisa dá certo...

 

Continuarei analisando, e retorno aqui. Valeu , mto obrigado !

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.