Jump to content


CMAC's Content

There have been 93 items by CMAC (Search limited from 16/05/2023)



Ordernar por                Order  

#936441 Mostrar Mensagem Enviada!

Posted by CMAC on 12/09/2008, 21:13 in PHP

Sou novo aqui mas vou tentar ajudar.

Respondendo a sua pergunta, isso pode ser feito sim em PHP.

Para isso você precisa criar um arquivo em PHP, obter os dados do formulário e imprimir-os.

Vamos supor que seu formulário tem os campos "Nome", "Email" e "Mensagem". E ainda que os atributos "name" do formulário HTML seja "nome", "email", "mensagem".

Crie um arquivo chamado obrigado.php (ou outro nome qualquer).

[codebox]<?php

//Verifica se existe dados enviados via POST
if(count($_POST) > 0) {

//Verifica se os dados não estão vázios
if(!empty($_POST['nome']) AND !empty($_POST['email']) AND !empty($_POST['mensagem'])) {

//Variaveis do email
$para = 'seuemail@email.com';
$assunto = 'Assunto do Email aqui';
$mensagem = 'Envio dos dados.\n\n';
$mensagem .= 'Nome: ' . $_POST['nome'] . '\n\n';
$mensagem .= 'Email: ' . $_POST['email'] . '\n\n';
$mensagem .= 'Mensagem: ' . $_POST['mensagem'];

//Tenta enviar o email
if(mail($para, $assunto, $mensagem)) {
//Coloque aqui o codigo que deseja mostrar em caso de sucesso
//Para Imprimir os dados fazemos isso
echo 'Nome: ' . $_POST['nome'] . '<br /><br />';
echo 'Email ' . $_POST['email'] . '<br /><br />';
echo 'Mensagem ' . $_POST['mensagem'];

}
else {
echo "O envio do email falhou.";
}


}
//Se os dados estão vazios, avisa o usuário
else {
echo "Todos os campos são de preenchimentos obrigatórios";
}
}

?>[/codebox]

Para enviar o email, seu formulário deve ter a tag de abertura do tipo:
[codebox]<form method="post" action="obrigado.php">[/codebox]

É claro que você pode alterar o modo de exibição dos dados usando HTML. Isto foi só um exemplo bem simples criado agora mesmo por mim.

Qualquer duvida é só dizer.



#936470 Me Ajudem... O Que Tem De Errado Nesse Script?

Posted by CMAC on 13/09/2008, 08:29 in Javascript / DOM / AJAX / ECMAScript

Se não me engano, esse erro acontece no IE6 certo? Tenta fazer o seguinte, retire o título da página na função, ficando assim:

[codebox]<title>Pagina Principal</title>
<script language="JavaScript">

function abrir(URL) {

var width = 500;
var height = 300;

var left = 99;
var top = 99;

window.open(URL,'', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=no, status=no, toolbar=no, location=yes, directories=no, menubar=yes, resizable=yes, fullscreen=no');

}

</script>[/codebox]

Note que "Útimos Anuncios" foi removido do script. Você pode adicionar este título usando a tag "title" no arquivo HTML correspondente ao popup.

Espero ter ajudado



#936487 Update Nos Campos No Php Com Mysql

Posted by CMAC on 13/09/2008, 11:51 in PHP

Acho que o problema é que você não está pegando as variáveis via POST.

Um exemplo seria:

[codebox]//Obtendo os dados
$ra_aluno_novo = $_POST['ra_aluno_novo'];
$nome_aluno = $_POST['nome_aluno'];

$sql = "UPDATE aluno SET ra_aluno = '$ra_aluno_novo' WHERE nome_aluno='$nome_aluno'";[/codebox]

Neste caso você precisa adicionar no formulário do arquivo alteracao.php, um campo "hidden" com a váriavel nome do aluno. Exemplo:

[codebox]echo "<input name='nome_aluno' type='hidden' value='$nome_aluno'>";[/codebox]


Também deve remover o include do arquivo alteracao_db_php

Cuidado ao adicionar dados no banco. Tente saber mais sobre "SQL Injection".

Espero ter ajudado.



#936505 Update Nos Campos No Php Com Mysql

Posted by CMAC on 13/09/2008, 14:10 in PHP

Tenta assim:

alteracao.php
<?php$connect = mysql_connect("localhost", "root","") or die("Connection Failure to Database");mysql_select_db("cadastro", $connect) or die ("Não é possível selecionar o banco de dados");$nome_aluno = $_POST['nome_aluno'];$sql = "SELECT * FROM cadastro.aluno where nome_aluno='$nome_aluno'";$result = mysql_query($sql) or die ("Não foi possível realizar a consulta no Banco de Dados");while ( $linha = mysql_fetch_array($result)) {	$ra_aluno = $linha["ra_aluno"];	$turma_id_turma = $linha["turma_id_turma"];	$nome_aluno = $linha["nome_aluno"];	$logradouro = $linha["logradouro"];	$numero = $linha["numero"];	$bairro = $linha["bairro"];	$cidade = $linha["cidade"];	$estado = $linha["estado"];	$telefone = $linha["telefone"];	$naturalidade = $linha["naturalidade"];	$nome_pai = $linha["nome_pai"];	$nome_mae = $linha["nome_mae"];?>	<h1> Alterar Cadastro de Alunos</h1>	<hr><br>	<form action='alteracao_db_php.php' method='post'>	Ra Aluno: <input name='ra_aluno_novo' type='text' value='<?=$ra_aluno;?>' size=30><br>	Turma ID: <input name='turma_id_novo' type='text' value='<?=$turma_id_turma;?>' size=30><br>	Nome do Aluno: <input name='nome_aluno_novo' type='text' value='<?=$nome_aluno;?>' size=30><br>	Logradouro: <input name='logradouro_novo' type='text' value='<?=$logradouro;?>' size=30><br>	Numero: <input name='numero_novo' type='text' value='<?=$numero;?>' size=30><br>	Bairro: <input name='bairro_novo' type='text' value='<?=$bairro;?>' size=30><br>	Cidade: <input name='cidade_novo' type='text' value='<?=$cidade;?>' size=30><br>	Estado: <input name='estado_novo' type='text' value='<?=$estado;?>' size=30><br>	Telefone: <input name='telefone_novo' type='text' value='<?=$telefone;?>' size=30><br>	Naturalidade: <input name='naturalidade_novo' type='text' value='<?=$naturalidade;?>' size=30><br>	Nome Mae: <input name='nome_pai_novo' type='text' value='<?=$nome_pai;?>' size=30><br>	Nome Pai: <input name='nome_pai_novo' type='text' value='<?=$nome_mae;?>' size=30><br>	<input name='nome_aluno' type='hidden' value='<?=$nome_aluno;?>'>	<input type='submit' value='Alterar'>	</form>	<hr><br><?php } ?>


alteracao_db_php.php:
<?php$connect = mysql_connect("localhost", "root", "") or die("Connection Failure to Database");mysql_select_db("cadastro", $connect) or die ("Não é possível selecionar o banco de dados");$sql="UPDATE aluno SET ra_aluno='".$_POST['ra_aluno_novo']."',turma_id_turma='".$_POST['turma_id_novo']."',nome_aluno='".$_POST['nome_aluno_novo']."',logradouro='".$_POST['logradouro_novo']."',numero='".$_POST['numero_novo']."',bairro='".$_POST['bairro_novo']."',cidade='".$_POST['cidade_novo']."',estado='".$_POST['estado_novo']."',telefone='".$_POST['telefone_novo']."',naturalidade='".$_POST['naturalidade_novo']."',nome_pai='".$_POST['nome_pai_novo']."',nome_mae='".$_POST['nome_mae_novo']."' WHERE nome_aluno='".$_POST['nome_aluno']."'";$result = mysql_query($sql);if (!$result) {	$message = '<br><br><br><br><B>UPDATE com problemas! </b>' . mysql_error() . "\n";}else	$message = '<br><br><br><b>UPDATE Completo</b> ' . $sql;die($message);?>

Depois você diz se deu ou não certo.



#936517 Update Nos Campos No Php Com Mysql

Posted by CMAC on 13/09/2008, 14:59 in PHP

Você testou com o arquivo alteracao.php que mandei?

Lá também tem uma mudança.

Note que ele não consegue pegar o 'nome_aluno'. O que fiz foi inserir este campo do tipo 'hidden'.



#936520 Update Nos Campos No Php Com Mysql

Posted by CMAC on 13/09/2008, 15:22 in PHP

Coloque aqui o código destes dois arquivos novamente...



#936521 Formulário Php Com Upload De Imagem

Posted by CMAC on 13/09/2008, 15:24 in PHP

Realmente tinha muitos erros no código.

Veja se funciona agora:

[codebox]<form enctype="multipart/form-data" name="gravar" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"><p>
Titulo<p>
<textarea name="titulo" cols="30" rows="1" id="titulo"></textarea><p>
Descricao<p>
<textarea name="descricao" cols="30" rows="4" id="descricao"></textarea><p>
Foto<p>
<input type="file" name="foto[]" /><p>
------------------------------------------------------<p>
<input type="submit" name="Submit" value="Gravar">
</form>


<?php

if(count($_POST) > 0) {

//Arquivo xml a ser utilizado
$arquivo = "dados.xml";
//determina variavel de $titulo
$titulo = $_POST['titulo'];
//determina variavel de $descricao
$descricao = $_POST['descricao'];
// Pasta para onde vao as fotos
$destino = "fotos_enviadas/";
// Tamanho maximo (em kb) das fotos enviadas
$MaxTam = 1024;
// Extensoes permitidas para as fotos
$aExtensoes = array("jpg","jpeg");
//Dimensoes dos thumbs. Largura e Altura.
$largura_final = 150;
$altura_final = 150;



$MaxTam = 1024 * $MaxTam;
$_FILES['foto']['name'] = array_unique($_FILES['foto']['name']);
$imagens_form = $_FILES['foto'];
foreach ($imagens_form['name'] as $chave=>$nome_foto) {

if ($imagens_form['error'][$chave] == 0) {
// Se possui uma extensão válida
if (in_array(strtolower(substr($nome_foto, strrpos($nome_foto, ".") + 1)), $aExtensoes)) {
// Informações do arquivo
$nome = str_replace(" ", "_", $nome_foto);
$tamanho = $imagens_form['size'][$chave];
$tmp = $imagens_form['tmp_name'][$chave];
$type = $imagens_form['type'][$chave];

// Se o arquivo existir
if (!file_exists($destino.$nome)) {

// Verificando o tamanho do arquivo
if ($tamanho <= $MaxTam) {

// faz de fato o upload, move para a pasta correta
if (move_uploaded_file($tmp, $destino.$nome)) {

//Trabalhando as imagens para criar thumb
$tamanho = getimagesize($destino.$nome);

//Tamanhos iniciais - valores pegos automaticamente
$largura_fonte = $tamanho[0];
$altura_fonte = $tamanho[1];

//Nome para o thumb
$nome_thumb = substr($nome,0,strpos($nome,"."))."_thumb".substr($nome,strpos($nome,"."));

$imagem_destino = imagecreatetruecolor($largura_final, $altura_final);
$imagem_fonte = imagecreatefromjpeg($destino.$nome);
imagecopyresampled($imagem_destino, $imagem_fonte, 0, 0, 0, 0, $largura_final, $altura_final, $largura_fonte, $altura_fonte);

//Finaliza a criacao da nova imagem
imagejpeg($imagem_destino, $destino.$nome_thumb, 60);

if (is_writable($arquivo)) {
if (!$handle = fopen($arquivo, 'a')) {
echo("Não foi possível acessar a base de dados!");
exit;
}
if (fwrite($handle, "
<conteudo>
<titulo>
$titulo
</titulo>
<descricao>
$descricao
</descricao>
<thumb>
$nome_thumb
</thumb>
<foto>
$nome
</foto>
</conteudo>
") === FALSE) {
echo("Não foi possível adicionar à base de dados!");
exit;
}
else {
echo("Imagem (<b>".$titulo."</b>) enviada com sucesso!");
}
fclose($handle);
}
}
else {
echo "- Erro ao enviar a imagem <b>".$nome."</b><br />";
}
}
else {
echo "- Imagem com tamanho superior ao permitido (".floor($MaxTam/1024)."kb) -> <b>".$nome."</b> possui <b>".floor($tamanho/1024)."kb</b><br />";
}
}
else {
print "- Imagem já existente (<b>{$nome}</b>)<br />";
}
}
else {
print "- Extensão inválida da imagem (<b>{$nome_foto}</b>)!<br />";
}
}
}
}
?>[/codebox]

Espero ter ajudado.



#936524 Update Nos Campos No Php Com Mysql

Posted by CMAC on 13/09/2008, 15:37 in PHP

Faça o seguinte:

No alteracao.php, troque a linha do campo hidden por:
echo "<input name='nome_aluno_old' type='hidden' value='$nome_aluno'>";

No alteracao_db_php.php, remova o include e altere a linha UPDATE para:
$sql="UPDATE aluno SET ra_aluno='".$_POST['ra_aluno_novo']."',turma_id_turma='".$_POST['turma_id_novo']."',nome_aluno='".$_POST['nome_aluno_novo']."',logradouro='".$_POST['logradouro_novo']."',numero='".$_POST['numero_novo']."',bairro='".$_POST['bairro_novo']."',cidade='".$_POST['cidade_novo']."',estado='".$_POST['estado_novo']."',telefone='".$_POST['telefone_novo']."',naturalidade='".$_POST['naturalidade_novo']."',nome_pai='".$_POST['nome_pai_novo']."',nome_mae='".$_POST['nome_mae_novo']."' WHERE nome_aluno='" . $_POST['nome_aluno_old'] . "'";

Testa e diz o resultado.

O ideal era você ter na tabela do banco de dados uma coluna primaria, inteiro, com auto-incremente. Assim seria uma chave única para cada aluno, e facilitaria a o manuseio do banco de dados.



#936527 Update Nos Campos No Php Com Mysql

Posted by CMAC on 13/09/2008, 15:47 in PHP

Não tinha reparado nisso.

Altere a linha de echo do Nome do aluno (o 6º echo dado) para:

[codebox]echo "Nome do Aluno: <input name='nome_aluno_novo' type='text' value='$nome_aluno' size=30><br>";[/codebox]



#936529 Update Nos Campos No Php Com Mysql

Posted by CMAC on 13/09/2008, 16:01 in PHP

Porque você não tenta remover o include que te disse. Comente ele e teste. Acho que isso deve ser o problema.



#936538 Update Nos Campos No Php Com Mysql

Posted by CMAC on 13/09/2008, 16:42 in PHP

Primeiro de tudo, ele não pegava o nome pois não estava declarado. Sempre que você usa um formulário com método post, para você pegar esses dados tem que usar o array $_POST.

Depois o que acontecia era um conflito de variáveis, por isso colocamos o nome de nome_aluno_old para não ser alterado em qualquer lugar.

Sobre a não alteração dos dados, acho que não deveria acontecer. E sobre o valor -1, penso que o valor não pode ultrapassar um certo limite.

Veja aqui uma tabela em que mostra o valor mínimo e máximo permitido: http://dev.mysql.com...traqueado</sup>

Esse script será para uso normal ou somente fins académicos? Se for para uso, você precisa alterar muitas coisas relacionadas com segurança e ainda optimizar esta tabela no banco de dados.



#936541 Update Nos Campos No Php Com Mysql

Posted by CMAC on 13/09/2008, 17:02 in PHP

Não percebi bem a ideia do telefone. Você quer que ao digitar no text field ele altere para aquele formato, ou quando enviar ele altera e coloca no banco de dados. Pode explicar melhor?

Sobre OO, isso tudo aí não tem nada orientado. Acho que se for para usar OO você vai precisar refazer isso tudo.



#936548 Update Nos Campos No Php Com Mysql

Posted by CMAC on 13/09/2008, 17:48 in PHP

Para alterar o formato no momento que é digitado você deve usar javascript.

Sobre OO, você poderia criar uma Classe Aluno, em que nessa classe era possível editar (UPDATE), eliminar, (...) um determinado aluno. Poderia também criar uma Classe Database, em que seriam feito os métodos de conexão, query, etc.

Um exemplo, bem simples seria do tipo:
[codebox]<?php

class Aluno extends Database {

//Nome do aluno
protected $nome;

//Id do aluno
protected $id;

/**
* Constructor
*
*/
public function __construct() {

}

/**
* Procura um aluno no banco de dados
*
*/
public function procurar() {

}

/**
* Atualiza um aluno no banco de dados
*/
public function update($dados = array()) {

}

/**
* Apaga um aluno do banco de dados
*/
public function apagar() {

}

/**
* Define o nome do usuario
*/
public function set_aluno($nome = '') {

$this->nome = $nome;

}

}

?>[/codebox]

Tente também evitar misturar código php com html.

Boa Sorte!



#936610 Não Dá Pra Logar Mais

Posted by CMAC on 14/09/2008, 09:06 in PHP

Tente alterar a linha de query do arquivo logar.php para:
$query = mysql_query("SELECT * FROM phpsp_users WHERE email={$_POST['txtlog']} AND password={$cod}");

E ainda, no form.php adicione no fim o seguinte código:
<?}?>

As senhas do banco de dados estão codificadas? Se estiver você precisa descomentar a seguinte linha no arquivo logar.php:
//$cod = md5($passen); // pega o valor passado pelo form e criptografa

Cuidado ao salvar a password em SESSION.

Qualquer coisa diz aqui.

Espero ter ajudado!



#936611 Formulário Php Com Upload De Imagem

Posted by CMAC on 14/09/2008, 09:13 in PHP

Os erros eram dois else que não tinham if, e ainda algumas chaves de fecho "}" a mais.

Adicionei a verificação para saber se tinha sido enviado dados "post", usando o seguinte código:
if(count($_POST) > 0)
Pois sem isso, sempre ia dar erro no array_unique e no foreach.



#936625 Consulta - Php Orientado A Objetos

Posted by CMAC on 14/09/2008, 13:28 in PHP

Os Métodos getQualquerCoisa estão retornando o valor?

Tente dar o seguinte echo:
[codebox]echo "<b>Ra Aluno</b>: " . $aluno->getRa_aluno();[/codebox]

Uma sugestão: acho que seria mais interessante você trabalhar com arrays, usando assim somente um método para buscar os dados do aluno. Por exemplo, ao invés de vários métodos você criaria somente um, especificando o nome do dado que requisitar. Ex:
[codebox]<?
public function getDadoAluno($nome = '') {

if(isset($this->dados[$nome])) {
return $this->dados[$nome];
}

return null;

}
[/codebox]

Não seria melhor do que usar vários getters?

Espero ter ajudado.



#936628 Consulta - Php Orientado A Objetos

Posted by CMAC on 14/09/2008, 14:43 in PHP

Não percebi bem o que ele não está imprimindo. Seria isso que ele não imprime:
echo "<td>$aluno->getRa_aluno()</td>";

Se for tente substituir por isso:
echo "<td>" . $aluno->getRa_aluno() . "</td>";

Se não funcionar diz aqui e posta a função getRa_aluno() para analisar-mos.



#936642 Consulta - Php Orientado A Objetos

Posted by CMAC on 14/09/2008, 18:03 in PHP

Dentro desta funções existem variáveis não declaradas ($linhas e $tabela). Você pode passar estes dados pela função.

Sobre a função que te disse, primeiro você precisa trabalhar com arrays, e ainda aprimorar o conhecimento em OOP. Com isso seu código ficaria muito mais estruturados e ainda com menos código.

Dentro da classe aluno, você poderia criar um método que, dado um nome, buscaria os dados no mysql e armazenasse-os no array $dados[], declarado na sua classe com acesso private. Assim, você poderia usar aquela função para pegar os dados. Por exemplo, para pegar o nome seria: $aluno->getDadoAluno('nome');

Para pegar o bairro seria a mesma função mudando somente o argumento: $aluno->getDadoAluno('bairro');

Viu como facilitaria!?

Bons estudos e boa sorte.



#936714 Não Dá Pra Logar Mais

Posted by CMAC on 15/09/2008, 11:20 in PHP

Mas o que acontece? Aparece algum erro?

Adicione um
echo "OK"; exit:
Depois do
if (getenv("REQUEST_METHOD") == "POST") {

e testa para ver se imprime. Se imprimir diz aqui, senão troque a linha do if(getenv("REQUEST_METHOD") == "POST")) por:
if(count($_POST) > 0)

e testa novamente.



#936720 Estrutura De Repetição

Posted by CMAC on 15/09/2008, 11:33 in PHP

Acho que o problema está ao renomear as fotos. Tente mudar a linha:
$nome_foto  = ('imagem_crop_' . time() . '.' . verifica_extensao_image($arquivo));// nome único para foto

por:
$nome_foto  = ('imagem_crop_' . microtime() . '.' . verifica_extensao_image($arquivo));// nome único para foto

Depois diz se resulta ou não.



#936728 Estrutura De Repetição

Posted by CMAC on 15/09/2008, 11:48 in PHP

Tente assim então:
$nome_foto  = ('imagem_crop_' . md5(microtime()) . '.' . verifica_extensao_image($arquivo));// nome único para foto



#936833 Puxar Dados Do Banco Mysql E Jogar Em Um Combobox

Posted by CMAC on 15/09/2008, 16:58 in PHP

Para recuperar variaveis POST é indiferente se é um text field ou um select ou um radio, etc.

Suponhamos que temos o seguinte select, em HTML:
<select name="nome_do_select">
	<option value="valor_a_recuperar1">Valor 1</option>
	<option value="valor_a_recuperar1">Valor 2</option>
</select>

Quando em PHP fazermos $_POST['nome_do_select'], vamos obter 'valor_a_recuperar1' ou 'valor_a_recuperar2', consoante o escolhido na lista.

Espero ter ajudado!



#937044 Existem 5 Divs, Quero Exibir 3 Aleatoriamente No Html

Posted by CMAC on 16/09/2008, 17:38 in PHP

Não sei se tem um bom desempenho, mas foi o mais rápido que consegui pensar. Segue o código abaixo:
<?php
//Array com os dados das DIV's
$dados[0] = 'DJ0';
$dados[1] = 'DJ1';
$dados[2] = 'DJ2';
$dados[3] = 'DJ3';
$dados[4] = 'DJ4';

//Gera os tres números colocando true no respectivo índice do array $aux
$aux = array();
$i = 0;
while(1) {
	$r = rand(0, 4);
	if($i >= 3) break;
	if(!isset($aux[$r])) {
		$aux[$r] = true;
		$i++;
	}
}

//Imprime os dados
foreach($aux as $key => $value) {
	echo $dados[$key];
	echo '<div class="dj-linha"></div>';
}

?>

Basta substituir o valor do array $dados pelo código HTML de cada DJ.

Depois diz se funcionou.

Espero ter ajudado.



#937055 Dúvida Em Formulário Php

Posted by CMAC on 16/09/2008, 18:03 in PHP

Quando você tentar recuperar os dados via post use $_POST['nome'] e não $_POST[nome] (repare nas aspas).

Outra coisa, não existe nenhum elemento com o atributo name igual a 'area', então quando você faz $_POST[area], é retornado null.

Outro erro (em HTML) é a existência de duas tags de abertura body. A errada está depois do fechamento da tag style.

OFF: Use BBCODE para colocar códigos no site, melhora a visualização e a analise do código, pois assim as pessoas vê e não lê.

Espero ter ajudado.



#938441 Ajuda Com Captura De Variaveis

Posted by CMAC on 25/09/2008, 10:39 in PHP

Você pode colocar o seguinte campo no formulário da segunda página:
<input type="hidden" name="importacao" value="<?php echo $_POST['importacao'];?>"/>

Aí na terceira página você pega esse dado usando $_POST['importacao'].

Isso pega o valor do select da primeira página e coloca num campo invisível da segunda página.

Espero ter ajudado.




IPB Skin By Virteq