Ir para o conteúdo
hfmalves

[Resolvido] Esclarecimento de Array & print_r

Mensagens Recomendadas

hfmalves

Boa noite a todos,

Se fizer algo de errado corrijam-me, obrigado.

Eu estou a fazer uma aplicação completa em Php de loja on-line eis que fiz da forma mais simples possível o dito "checkout".

Quando apresentei aquilo ao meu professor na universidade, ele alterou tudo e colocou com array's que nunca mais acabam e disse "desenrasca-te"..

Eis que que estou cá na tentativa desesperada de colocar os valores para compra num formulário normal em php.

Tentativa 1 : defini a valiarel $a = $valores (isto sucessivamente com nome, titulo, iva.. ele diz que não quer assim )

Tentativa 2 : no site oficial do php e n aparece nada nulo.

<?php
$b = array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
$results = print_r($b, true); // $results now contains output from print_r
?>

Tentativa restantes nem vale a pena numerar porque não deu nada, apenas erros em 84 horas.

Com o print_r aparece o dados do array mas não consegui nada e acredito que é algo que me esta a falhar.

Segue o array com print_r

Array ( [0] => Array ( [id] => 2 [utilizador_id] => 90ac031680291de1be097aa184ffe8a91e3f5822 [nid] => 40 [preco] => 388.00 [prcid] => 0 [titulo] => Meu producto [total] => 1 ) )

O que quero é passar os valores do array acima para um formulário normal por email.

Desde já agradeço a atenção de todos.

Editado por Rui Carlos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
taviroquai

Viva,

Passar os valores num formulário por email...?

Em principio não precisar ter um array dentro de outro array mas... não estou dentro do contexto, vou colocar como tens...

Pode ter falhas, não testei...

teste.php

<?php
// dados do array que indicaste
$dados = array();
$dados[0]['comprador'] = 'not yet...';

// verificar se o formulário foi submetido
if (isset($_POST['enviar'])) {
// enviar email com os dados
$dados[0] = $_POST; // carregar os dados do formulário...
ob_start();
include 'template.php';
$content = ob_get_clean();
if (!mail('prof@univ.pt', 'compra', $content)) {
	echo 'Falhou o envio do mail...';
} else {
	echo 'Dados da compra enviados...';
	exit(0);
}
}

include 'template.php';
?>

template.php

<form action="" method="post">
<label>Nome do comprador</label>
<input type="text" name="comprador" value="<?php echo $dados[0]['comprador'] ?>" />
<?php
foreach ($dados[0] as $k => $v) { ?>
<input type="hidden" name="<?php echo $k ?>" value="<?php echo $v ?>" />
<? } ?>
<button type="submit">Enviar</button>
</form>

Editado por taviroquai

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
hfmalves

Viva,

Passar os valores num formulário por email...?

Em principio não precisar ter um array dentro de outro array mas... não estou dentro do contexto, vou colocar como tens...

Pode ter falhas, não testei...

teste.php

<?php
// dados do array que indicaste
$dados = array();
$dados[0]['comprador'] = 'not yet...';

// verificar se o formulário foi submetido
if (isset($_POST['enviar'])) {
// enviar email com os dados
$dados[0] = $_POST; // carregar os dados do formulário...
ob_start();
include 'template.php';
$content = ob_get_clean();
if (!mail('prof@univ.pt', 'compra', $content)) {
	echo 'Falhou o envio do mail...';
} else {
	echo 'Dados da compra enviados...';
	exit(0);
}
}

include 'template.php';
?>

template.php

<form action="" method="post">
<label>Nome do comprador</label>
<input type="text" name="comprador" value="<?php echo $dados[0]['comprador'] ?>" />
<?php
foreach ($dados[0] as $k => $v) { ?>
<input type="hidden" name="<?php echo $k ?>" value="<?php echo $v ?>" />
<? } ?>
<button type="submit">Enviar</button>
</form>

Funcionou ! =)

Tinhas as variáveis do foreach "template.php" mal definidas e tinha dois actions activos.

OBRIGADO

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.