• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

MMarques

Compras

8 mensagens neste tópico

Olá, estou a fazer um pequeno joguito de teste aqui com PHP para um projecto da escola mas estou com umas duvidas.

Já tenho um sistema de login a funcionar, depois do utilizador fazer login queria que aparecessem os dados do jogador mas não estou a ver como o hei de fazer.

Outra coisa, por exemplo quero comprar uma casa,

<td class="content">
				Casa: <a href="port.php?buy=1">» Comprar </a>$500<br/>
			</td>
		</tr>
	</table>
	<?php

		$conn = mysql_connect("localhost","root","") or die("Falhou a ligação à BD!");
		mysql_select_db("test");

		$buy = $_GET["buy"];

		if ($buy == "1")

		{

			$port = $_POST["port"];
			$port = "$port + 1";

			$sql = "INSERT INTO members (port) VALUES ('$port')";

			$result = mysql_query($sql);
		if($result)
			echo"<h2>O porto foi comprado!</h2>";
		else
			echo"<h2>Erro Contacte a administração.</h2>";

		header("location:port.php");

}
?>

mas isto dá-me um erro, na linha $buy = $_GET["buy"];

Notice: Undefined index: buy in C:\Programas\EasyPHP 2.0b1\www\newstart\port.php on line 80

e não faz nada quando clico no botão para comprar. o que será que se passa?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

estas a usar easyPhp como server, certo?

não é erro é warning, pois nao declaraste a variavel antes de a defenires...

podes resolver isso somente com um

if ($buy == "1" && isset($_POST["port"])) por exemplo...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado por me resolver esse problema :)

Agora tenho outro, sou muito novo nisto do PHP, aprendi apenas os básicos na escola e mais nada. Nem sequer um cheirinho de SQL.

Tenho uma tabela com os dados username, password, port, money

faço login no meu site e quero que quando clico num botão "comprar" ele me faça $port + 1 e $money - 500, é possível?

outra coisa, como faço uma variavel aumentar de valor segundo o tempo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Continuo sem conseguir fazer isto.

Preciso de fazer algo tipo aparecer o valor do port na página e depois um botão para fazer esse numero aumentar e o money diminuir.

É uma coisa simples mas que não estou a conseguir fazer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui tenho o código que estou a usar para aumentar o valor na tabela, carrego no botão numa página e venho parar a esta onde vai tratar da informação.

<?php
session_start();
	$nome = $_SESSION['myusername'];
	$conn = mysql_connect("localhost","root","") or die("Falhou a ligação à BD!");	
	mysql_select_db("test");
if ($_GET['buy'] == 1)
{
$sql = "SELECT * FROM members WHERE username=$nome";
	$result = mysql_query($sql);
	//Obtem os campos
		$port = $_POST["port"];
		$port++;
		$sql = "UPDATE members SET port = '$port' WHERE username = '$nome'";	
			$result = mysql_query($sql);
			//Termina a ligação à BD
			mysql_close($conn);
			echo "comprou 1";


}	

if ($_GET['buy'] == 2)
echo "comprou 2";
if ($_GET['buy'] == 3)
echo "comprou 3";
?>

Supostamente isto iria aumentar o valor de port para +1 mas... alguem me diz porque isto não está a incrementar o valor na tabela?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

estas a falar muitas instruções de sql, porqwue nao guardas ja o username/codigo de utilizador numa session? nese caso, seria somente meteres um update ...... set port=port+".$port." where username='".$_session..........."' ........... tas  a ver?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O username já está guardado numa sessão, faz-se login no site. Esta é uma página onde vou incrementar esse valor.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora