Jump to content


Aly Phoenix

Member Since 08/05/2008
Offline Last Active 10/10/2008, 19:07
-----

Topics I've Started

Problema Em Formulario Com Anexo

07/10/2008, 22:11

Bom pessoal, desculpe toma-los o tempo
Preciso de ajuda, peguei o seguinte formulário abaixo, pois preciso de algum que suporte anexo, mas ele dá os seguintes erros:

Notice: Undefined index: act in C:\Wamp\www\teste.php on line 51
linha 51: $act = $_GET['act'] ? $_GET['act'] : "";

e quando eu faço um teste, aperto o botão de enviar, aparece:

Notice: Use of undefined constant dmyhms - assumed 'dmyhms' in C:\Wamp\www\teste.php on line 90
Notice: Undefined variable: anexo in C:\Wamp\www\teste.php on line 103
Notice: Undefined variable: assunto in C:\Wamp\www\teste.php on line 143

90= $boundary = "XYZ-" . date(dmyhms) . "-ZYX";
103= $attachments[1] = $anexo;
143= $mensagem = mail($_POST['email'], $assunto, $message, $headers);

respectivamente;


bom, obviamente ele diz que não foi definidas as variáveis... se for esse mesmo o problema, como faço pra definir?
sou novo no assunto...


Aguardo retorno,

Muito obrigado amigos!



<body>
<form name="form1" method="post" enctype="multipart/form-data" action="<?= $_SERVER['PHP_SELF'];?>?act=enviar">
<p class="style2" style="word-spacing: 0; margin: 0">Nome</p>
<p class="style2" style="word-spacing: 0; margin: 0">
<input type="text" name="nome">
</p>
<p class="style2" style="word-spacing: 0; margin: 0">E-Mail</p>
<p class="style2" style="word-spacing: 0; margin: 0">
<input name="de" type="text" id="de">
</p>
<p class="style2" style="word-spacing: 0; margin: 0">Assunto</p>
<p class="style2" style="word-spacing: 0; margin: 0">
<input type="text" name="assunto">
</p>
<p class="style2" style="word-spacing: 0; margin: 0">Anexo</p>
<p class="style2" style="word-spacing: 0; margin: 0">
<input type="file" name="anexo"> 
O arquivo deverá ter no máximo 3Mb. </p>
<p class="style2" style="word-spacing: 0; margin: 0">Mensagem</p>
<p class="style2" style="word-spacing: 0; margin: 0">
 <textarea name="msg" cols="50" rows="10"></textarea>
</p>
<p class="style2" style="word-spacing: 0; margin: 0"></p>
<input type="hidden" value="email@seudominio.com.br" name="email">
<p class="style2" style="word-spacing: 0; margin: 0">
  <input type="submit" name="Submit" value="Enviar">
  <input name="reset" type="reset" id="reset" value="Limpar">
</p>
</form>



<?
$act = $_GET['act'] ? $_GET['act'] : "";
if ($act == "enviar"){
$mime_list = array(   "html"=>"text/html",
					 "htm"=>"text/html",
		 "txt"=>"text/plain",
		 "rtf"=>"text/enriched",
		 "csv"=>"text/tab-separated-values",
		 "css"=>"text/css",
		 "gif"=>"image/gif",
	  "doc"=>"application/msword",
	  "jpeg"=>"image/jpeg",
	  "jpg"=>"image/jpeg",
	  "jpe"=>"image/jpeg",
	  "exe"=>"application/octet-stream",
	  "mid"=>"audio/midi",
	  "midi"=>"audio/midi",
	  "mov"=>"video/quicktime",
	  "movie"=>"video/x-sgi-movie",
	  "mp3"=>"audio/mpeg",
	  "mpeg"=>"video/mpeg",
	  "mpg"=>"video/mpeg",
	  "mpga"=>"video/mpeg",
	  "png"=>"image/png",
	  "pps"=>"application/mspowerpoint",
	  "ppt"=>"application/mspowerpoint",
	  "ppz"=>"application/mspowerpoint",
	  "qt"=>"video/quicktime",
	  "ra"=>"audio/x-realaudio",
	  "rgb"=>"image/x-rgb",
	  "tif"=>"image/tiff",
	  "tiff"=>"image/tiff",
	  "wav"=>"audio/x-wav",
	  "swf"=>"application/x-shockwave-flash",
	  "zip"=>"application/zip",
	  );


$ABORT = FALSE;

$boundary = "XYZ-" . date(dmyhms) . "-ZYX";


$message = "--$boundary\n";
$message .= "Content-Transfer-Encoding: 8bits\n";
$message .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n";
$message .= "Enviado em ". date("d/m/Y"). "<P>Confira os dados:<P>
		Nome: " .$_POST['nome']. "<BR>
		Email: " .$_POST['de']. "<BR>
		Mensagem:<BR>"
   .nl2br($_POST['msg']). "<P>";
$message .= "\n";

$attachments[1] = $anexo;

foreach ($attachments as $key => $full_path) {
if ($full_path !='') {
	 if (file_exists($full_path)){
		   if ($fp = fopen($full_path,"rb")) {
  if ((filesize($full_path)/1024) > "3000"){
				   echo "O arquivo que você tentou anexar, possui mais que 3MB. Por favor, tente um arquivo menor.";
				   exit;
}
				   $filename = array_pop(explode(chr(92),$full_path));
				   $contents = fread($fp,filesize($full_path));
				   $encoded = base64_encode($contents);
				   $encoded_split = chunk_split($encoded);
				   fclose($fp);
				   $message .= "--$boundary\n";
				   $message .= "Content-Type: $anexo_type\n";
				   $message .= "Content-Disposition: attachment; filename=\"$anexo_name\" \n";
				   $message .= "Content-Transfer-Encoding: base64\n\n";
				   $message .= "$encoded_split\n";
		   }
		   else {
		   echo "Impossível abrir o arquivo$key: $filename";
		   $ABORT = TRUE;
		   }
	 }
	 else {
	 echo "O arquivo$key não existe: $filename";
	 $ABORT = TRUE;
	 }

}
}

$message .= "--$boundary--\r\n";


$headers  = "MIME-Version: 1.0\r\n";
$headers .= "From: <".$_POST['de'].">\r\n";
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\" charset=iso-8859-1\r\n";
$mensagem = mail($_POST['email'], $assunto, $message, $headers);

if ($mensagem) {
  print "Mensagem enviada com sucesso!";
} else {
  print "O envio da mensagem falhou!";
}

}

?>
</body>

Links Em Php - Resolvido!

08/09/2008, 18:16

Olá amigos, tudo bem?

Já tentei de todas as formas, e os links não dão certo, não abrem no local como deveriam...
Postei isso de teste/exemplo, se puderem dar uma olhada:
http://testephp.110mb.com/

Provavelmente isso não é do servidor, pois uso Apache e isto também acontece aqui...

Onde estou errando?

Desde já, muito obrigado!

Dúvida Sobre Index.php

08/05/2008, 22:24

Desculpem se já tiver algo sobre isso no fórum, mas procurei e não achei nada... Aliás, nem sei direito como procurar sobre algo assim...

Vamos lá

Estou usando o seguinte código, que achei em um site random:
if(empty($page)) { include("meio.php"); } else { include("$page.php"); }

Na seguinte tabela
<td height="513" width="540" valign="top" ></td>

Logo, está ficando
<td height="513" width="540" valign="top" if(empty($page)) { include("meio.php"); } else { include("$page.php"); } ></td>

Não sei se está certo o modo como coloquei... Só sei que a página que era pra aparecer como principal (seja meio, home, index2, ou sei lá das quantas) não aparece!
Sim, eu criei outra chamada meio.php... Mas simplesmente não aparece!
Certeza de estar fazendo algo errado, só não sei o que... É a primeira vez que mexo com php, perdoem a noobice :P
Estou trabalhando com servidor local...


Aguardo Ajuda ^^
Desde já, Obrigado

IPB Skin By Virteq