Ir para conteúdo

POWERED BY:

Arquivado

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

Tiago Pimentel

[Resolvido] Enviar dados de um formulario para uma classe

Recommended Posts

Ola pessoa, sou iniciante em PHP, principlamente em clases!

e estou tentando enviar dados de um formulario para variaveis de uma classe,

ja tentei de varias formas, tamanhos e cores, mas nada deu resultado!

 

Estou tentando fazer isso, sa para aprender:

HTML

<form name="enviar" action="class_pessoa.php" method="get">
	<table>
		<tr>
			<td>
				Nome: 
			</td>
			<td>
				<input type="text" name="nome">
			</td>
		</tr>
		<tr>
			<td>
				Endereço: 
			</td>
			<td>
				<input type="text" name="end">
			</td>
		</tr>......

PHP

<?php
	class pessoa{
		var $nome;
		var $end;
		var $phone;
		var $mail;
			
		function imprimir(){
			printf("Nome: $this->nome <br>");
			printf("Endereço: $this->end <br>");
			printf("Telefone: $this->phone <br>");
			printf("E-mail: $this->mail <br>");
			}
		}	

	class fisica extends pessoa{
		var $cpf;
		function imprimir(){
			parent::imprimir();
			printf("CPF: $this->cpf <p>");
			}
		}
		
	$obj = new fisica;
	$obj -> imprimir();
?>

Acontece que naum sei fazer com que as variaveis, recebam os dados por GET!

Se alquem souber como resolver esse probleminha?

Agradeço a colaboração!

Compartilhar este post


Link para o post
Compartilhar em outros sites

procura por funcoes magicas __set() e __get(), variaveis superglobais, funcao extract e design patterns, esta umtima você nao encontrara no manual...so na net, o resto você encontrara no manual...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara.. vou tentar te ajudar.. pois já estive nessa situação:

index.php

<form name="enviar" action="ctrl_pessoa.php" method="post">
    <label>Nome: <input type="text" name="nome" /></label>
	<label>Endereço: <input type="text" name="endereco" /></label>
	<label><input type="submit" name="enviar" value="enviar" /></label>
</form>
ctrl_pessoa.php

<?php
	include 'Pessoa.php';
	
	$pessoa = new Pessoa();
	$pessoa->set_nome( $_POST['nome'] );
	$pessoa->set_endereco( $_POST['endereco'] );
	
	echo $pessoa->imprimir();
Pessoa.php

<?php
class Pessoa
{
	/**
	 * atributos da classe com visibilidade protected
	 * apenas ela mesma, e as classes filhas 'enchergarão' esses atributos diretamete
	 */
	protected $nome;
	protected $endereco;

	/**
	 * métodos setters
	 */
	public function set_nome( $nome ){
		$this->nome = $nome;
	}
	public function set_endereco( $endereco ){
		$this->endereco = $endereco;
	}
	
	/**
	 * método imprimir()
	 * trás os atributos da classe
	 */
	public function imprimir()
	{
		$ret = "<strong>Nome</strong>: {$this->nome} <br />
		<strong>Endereço</strong>: {$this->endereco} <br />";
		
		return $ret;
	}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ctrl_pessoa.php

<?php
	include 'Pessoa.php';
	
	$pessoa = new Pessoa();
	$pessoa->set_nome( $_POST['nome'] );
	$pessoa->set_endereco( $_POST['endereco'] );
	
	echo $pessoa->imprimir();

Só não esqueça de tomar o cuidado de verificar se $_POST['nome'] e $_POST['endereco'] foram de fato passadas:

 

if ( isset( $_POST[ 'nome' ] ) && isset( $_POST[ 'endereco' ] ) ){
$pessoa = new Pessoa();
$pessoa->set_nome( $_POST[ 'nome' ] );
$pessoa->set_endereco( $_POST[ 'endereco' ] );

echo $pessoa->imprimir();
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido:::>

 

era so criar uma function para que as variaveis recebecem os dados!

 

function inserir(){
	$this->codigo=$_GET['codigo'];
	$this->nome=$_GET['nome'];
	$this->data=$_GET['data'];
	}

antes, eu tentava inserir os dados diretamente nas variaveis!

 

Mas vlw pessoal por se importarem e postarem algumas soluçoes!

Obrigado!

E viva a liberdade, use LINUX!

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.