Ir para conteúdo

POWERED BY:

Arquivado

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

stromdh

[Resolvido] como colocar uma váriavel que contem outras no índice

Recommended Posts

Galera... preciso de ajuda, espero que alguém possa me ajudar, é o seguinte:

 

Vi um tutorial na internet que ensina a fazer um plugin para wordpress, o qual eu apliquei com sucesso mas agora depois de te-lo aplicado conforme o cara ensinou, eis que surge a necessidade de adapta-lo as minhas necessidades.

 

O plugin pega os dados preenchidos em um formulario (nome e email) grava eles no banco e mostra os dados gravados no painel de controle. Beleza. Mas eu preciso que os dados sejam gravados como posts e que sejam muitos mais campos do que simplesmente nome e email e preciso que fiquem como pendentes aguardando moderação nos posts. Eu consegui fazer isso, só que agora vem o meu problema (além de eu entender pouquíssimo de php):

 

Cada input do formulário é gravado em uma variável que recebe o resultado do form em um array (eu acho).

Eu defini um dos campos para ser o título do post e os demais deveriam ser o conteúdo do post, mas não sei como colocar todos os demais como conteúdo na formatação que eu quero.

 

eu criei uma variável a qual recebeu todas as outras identadas e com o código HTML para ficarem no conteúdo do post exatamente como eu quero, mas como para gravar no banco o código insere uma variável de array com índice associativo, eu me perdi nessa mão pois eu estou colocando simplesmente uma variável está dando erro.

Aqui abaixo eu postei o código que pega os valores do form:

 

if($_GET['grava'] == 'sim'){
$vaga = $_REQUEST['vaga'];
$email = $_REQUEST['email'];
$empresa = $_REQUEST['empresa'];
$cidade = $_REQUEST['cidade'];
$descricao = $_REQUEST['descricao'];
$content = "<b>$empresa</b><br/>" . "<a href='mailto:$email'>$email</a><br />" . "$cidade<br/>" . $descricao;
$funcoes = new funcoes();
$funcoes->grava(array('vaga' => $vaga, 'email' => $content));
echo '<meta http-equiv="refresh" content="0; http://localhost/wordpress/?page_id=548" />';
die();	
}

 

e aqui o código que grava os valores no banco:

 

public static function grava($dados){
	mysql_connect('localhost', 'root','') or die('nao conectou no banco');
	mysql_select_db('wordpress') or die('nao selecionou o banco');
	mysql_query("INSERT INTO wp_posts (post_title, post_content, post_status) VALUES ('" . $dados['vaga'] . "', '" . $content . "', 'pending')") or die ('não gravou');
}

 

o código grava no banco e aparece como pendente nos posts, mas o problema é que o conteudo está vindo vazio... alguém pode me dar uma luz?

Compartilhar este post


Link para o post
Compartilhar em outros sites
$funcoes = new funcoes();

foreach($_REQUEST as $campo=>$valor){

$funcoes->grava(array($campo => $valor));

}

 

para cada campo você pega o seu nome(que é atribuido no HTML name do input) e o valor(atribuido no HTML val do input)

e para cada campo você grava.

 

se você precisar fazer isso de uma vez concatene os valores e jogue o método grava fora do foreach

Compartilhar este post


Link para o post
Compartilhar em outros sites

me desculpe se eu fiz a referencia errada, mas é assim mesmo.

 

quando você preenche algo no input automaticamente ele é gravado no value do input

 

o post ou get que você recupera vem do value do input.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, não consegui concatenar a array... até deu certo em uma tentativa usando implode, mas eu acabei concatenando todos os índices da array, e preciso do nome da vaga para gravar como título do post e os demais entrarão no corpo do post. Tem alguma dica de como concatenar?

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.