Jump to content

PhP Select Options


tg95
 Share

Recommended Posts

Boas a todos,

Ando aqui de volta de um codigo a mais de uma semana ja procurei imenso pela resoluçao do problema, mas ainda nao consegui entao vou postar aqui a minha duvida/problema,

Bem eu ando a criar um site de "compras" so para o fun, so que no cart, eu estou a usar funçoes select options para que os utilizadores consigam alterar certos produtos, so que ao conseguir utilizar 1, nao consegue utilizar os outros, nao sei se é bug do meu codigo ou algo do genero.

Deixo abaixo os codigos:

		 <form method="post" style="text-align: center">
			 <p><select name="planos" onchange='this.form.submit()'>
				 <option <?php if ($getplan == "pmuitobasico" ) echo 'selected' ; ?> value="pmuibasico">Plano Muito Basico</option>
				 <option <?php if ($getplan == "pmediobasico" ) echo 'selected' ; ?> value="pmedbasico">Plano Medio Basico</option>
				 <option <?php if ($getplan == "pbasico" ) echo 'selected' ; ?> value="plabasico">Plano Basico</option>
				 <option <?php if ($getplan == "psuperbasico" ) echo 'selected' ; ?> value="psubasico">Plano Super Basico</option>
				 <option <?php if ($getplan == "pintermedio" ) echo 'selected' ; ?> value="pint">Plano Intermedio</option>
				 <option <?php if ($getplan == "phardcore" ) echo 'selected' ; ?> value="phard">Plano Hardcore</option>					
			 </select></p>
			 <p><select name="dedicateip" onchange='this.form.submit()'>
				 <option <?php if ($getipdedicate == "no" ) echo 'selected' ; ?> value="noipdedicate">No IPDedicate</option>
				 <option <?php if ($getipdedicate == "yes" ) echo 'selected' ; ?> value="yesipdedicate">Yes IPDedicate (+€1,50)</option>					
			 </select></p>
			 <p><select name="payments" onchange='this.form.submit()'>
				 <option <?php if ($getpayments == "paypal" ) echo 'selected' ; ?> value="paypall">PayPal</option>
				 <option <?php if ($getpayments == "paysafe" ) echo 'selected' ; ?> value="paysafecard">PaySafeCard (+€2.00)</option>					
			 </select></p>
			 <p>Slots: <?php echo $tsslots; ?></p>
			 <p>IPDedicate: <?php echo $checkedip; ?></p>
			 <p>total: <?php echo $pricebuy; ?></p>
			 <p />
			 <noscript><input type="submit" value="Submit"></noscript>
			 <br />
		 </form>

Agora o php:

<?php
#use: cart.php?plan=plan&ipdedicate=no&payments=payment
$getplan = $_GET['plan'];
$getipdedicate = $_GET['ipdedicate'];
$getpayments = $_GET['payments'];
if($getplan == "pmuitobasico") {
$pricebuy = '2.50';
$tsslots = '20';
} else if($getplan == "pmediobasico") {
$pricebuy = '3.50';
$tsslots = '50';
} else if($getplan == "pbasico") {
$pricebuy = '5.50';
$tsslots = '95';
} else if($getplan == "psuperbasico") {
$pricebuy = '8.50';
$tsslots = '240';
} else if($getplan == "pintermedio") {
$pricebuy = '12.00';
$tsslots = '300';
} else if($getplan == "phardcore") {
$pricebuy = '16.00';
$tsslots = '500';
} else {
echo "erro4";
}
if($getipdedicate == "no") {
$checkedip = "Não";
} else if($getipdedicate == "yes") {
$checkedip = "Sim";
$getnow = $pricebuy;
$pricebuy = $getnow + '1.50';
} else {
echo "erro3";
}
if($getpayments == "paysafe") {
 $getnow = $pricebuy;
$pricebuy = $getnow + '2.00';
}
if(isset($_POST['dedicateip'])) {
if($_POST['dedicateip'] == 'yesipdedicate') {
 header("Location: cart.php?plan=$getplan&ipdedicate=yes");
} else if ($_POST['dedicateip'] == 'noipdedicate') {
 header("Location: cart.php?plan=$getplan&ipdedicate=no");
} else {
 echo "erro2";
}
}
if(isset($_POST['planos'])) {
if($_POST['planos'] == 'pmuibasico') {
 header("Location: cart.php?plan=pmuitobasico&ipdedicate=no");
} else if($_POST['planos'] == 'pmedbasico') {
 header("Location: cart.php?plan=pmediobasico&ipdedicate=no");
} else if($_POST['planos'] == 'plabasico') {
 header("Location: cart.php?plan=pbasico&ipdedicate=no");
} else if($_POST['planos'] == 'psubasico') {
 header("Location: cart.php?plan=psuperbasico&ipdedicate=no");
} else if($_POST['planos'] == 'pint') {
 header("Location: cart.php?plan=pintermedio&ipdedicate=no");
} else if($_POST['planos'] == 'phard') {
 header("Location: cart.php?plan=phardcore&ipdedicate=no");
} else {
 echo "erro1";
}
}
if(isset($_POST['payments'])) {
 if($_POST['payments'] == 'paypall') {
 header("Location: cart.php?plan=$getplan&ipdedicate=$getipdedicate&payments=paypal");
} else if($_POST['payments'] == 'paysafecard') {
 header("Location: cart.php?plan=$getplan&ipdedicate=$getipdedicate&payments=paysafe");
} else {
 echo "erro1";
}
}
?>

Obrigado pela atençao :b

Link to comment
Share on other sites

HappyHippyHippo

tenta explicar melhor a tua dúvida ou, fornece um link onde se pode verificar o que descreves

--------------------------------------------------------------------------

porque estás a fazer submit do formulário no momento de alteração da escolha do elemento "select" ?

Edited by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

HappyHippyHippo

no momento que alteras o valor, estás a enviar o formulário e a "reescrever-lo".

por outras palavras, estás sempre a re-apresentar a informação que se encontra no "cart", apagando a escolha acabada de ser feita.

a solução mais simples (não que seja a mais interessante) deverá passar por correctamente actualizar o "cart" no script "cart.php".

olha bem para duas coisas :

- noma da variável que estás a passar (um problema)

- valor da variável que estás a enviar (segundo problema)

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

HappyHippyHippo

ent sera por causa disse que nao consigo utilizar os outros 2 acima? humm

ent como posso fazer com outro "script"?

viste ao menos o que te disse ?

- nome da variável que estás a passar (um problema)

- valor da variável que estás a enviar (segundo problema)

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

HappyHippyHippo

responde a estas simples perguntas :

- qual o nome do parâmetro do terceiro input (o que está a funcinoar) ?

resposta :

- qual a linha de código no script cart.php, onde estás a ler esse valor (terceiro) ?

resposta :

- qual o nome do parâmetro que essa linha espera/lê (terceiro) ?

resposta :

- qual o nome do parâmetro do primeiro input (este não está a funcionar) ?

resposta :

- qual a linha de código no script cart.php, onde estás a ler esse valor (primeiro) ?

resposta :

- qual o nome do parâmetro que essa linha espera/lê (primeiro) ?

resposta :

- qual o nome do parâmetro do segundo input (este não está a funcionar) ?

resposta :

- qual a linha de código no script cart.php, onde estás a ler esse valor (segundo) ?

resposta :

- qual o nome do parâmetro que essa linha espera/lê (segundo) ?

resposta :

NOTA : a estas perguntas é esperado uma única palavra ou número por resposta

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

- qual o nome do parâmetro do terceiro input (o que está a funcionar) ?

resposta : payments

- qual a linha de código no script cart.php, onde estás a ler esse valor (terceiro) ?

resposta : cart.php?payments=paypal

- qual o nome do parâmetro que essa linha espera/lê (terceiro) ?

resposta :

$getpayments = $_GET['payments'];

if($getpayments == "paysafe") {

$getnow = $pricebuy;

$pricebuy = $getnow + '2.00';

}

- qual o nome do parâmetro do primeiro input (este não está a funcionar) ?

resposta : planos

- qual a linha de código no script cart.php, onde estás a ler esse valor (primeiro) ?

resposta : cart.php?pmuitobasico

- qual o nome do parâmetro que essa linha espera/lê (primeiro) ?

resposta :

$getplan = $_GET['plan'];

if($getplan == "pmuitobasico") {

$pricebuy = '2.50';

$tsslots = '20';

- qual o nome do parâmetro do segundo input (este não está a funcionar) ?

resposta : dedicateip

- qual a linha de código no script cart.php, onde estás a ler esse valor (segundo) ?

resposta : cart.php?ipdedicate=no

- qual o nome do parâmetro que essa linha espera/lê (segundo) ?

resposta :

if($getipdedicate == "no") {

$checkedip = "Não";

}

Acho que e isso...

Edited by tg95
Link to comment
Share on other sites

HappyHippyHippo

... estou a ver que tenho de dizer tudo ...

- qual o nome do parâmetro do terceiro input (o que está a funcinoar) ?

resposta : payments

- qual a linha de código no script cart.php, onde estás a ler esse valor (terceiro) ?

resposta : $getpayments = $_GET['payments'];

- qual o nome do parâmetro que essa linha espera/lê (terceiro) ?

resposta : $_GET['payments']

- qual o nome do parâmetro do primeiro input (este não está a funcionar) ?

resposta : planos

- qual a linha de código no script cart.php, onde estás a ler esse valor (primeiro) ?

resposta : $getplan = $_GET['plan'];

- qual o nome do parâmetro que essa linha espera/lê (primeiro) ?

resposta : $_GET['plan']

- qual o nome do parâmetro do segundo input (este não está a funcionar) ?

resposta : dedicateip

- qual a linha de código no script cart.php, onde estás a ler esse valor (segundo) ?

resposta : $getipdedicate = $_GET['ipdedicate'];

- qual o nome do parâmetro que essa linha espera/lê (segundo) ?

resposta : $_GET['ipdedicate']

-------------------------------------------------------------------------------

agora encontra as diferenças

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.