Pagina 1 din 1

Salut, am o problema cu un script

Scris: Joi Mai 05, 2011
de luciann8
Salut, cum spune si titlul, am o problema cu un script. Am mai postat pe acest forum si m-ati lamurit, de acea mai trec pe aici...


Scriptul arata asa:

Cod: Selectaţi tot

<?php
session_start();
	if($_SESSION['id'] == "") {
		die('Logeazate intai!');
	}
	else {
	
	include('../config.php');
	$db	= "account";
	mysql_connect($dbhost, $dbuser, $dbpw) OR
	die("ERROR: Connection failed. ".mysql_error());		
	mysql_select_db($db) OR
	die("ERROR: DB allready open. ".mysql_error());
		
		$getuser = "SELECT * from account where login = '" . $_SESSION['id'] . "'";
			$checkuser = mysql_query($getuser);
				$num = mysql_num_rows($checkuser);
			
		if($num > 0) {
		
			$array = mysql_fetch_array($checkuser);
	
			$itemid = $_GET['id'];
			$user = $_SESSION['id'];
			$coins = $_SESSION['coins'];
			$icount = $_GET['numbercount'];   #Asa am scris eu si nu e bine
		

			$check = "SELECT * from itemshop where value = '" . $itemid . "'";
				$query = mysql_query($check);
				$num = mysql_num_rows($query);
			if($num > 0) {
				$array2 = mysql_fetch_array($query);
			$rescash = $array['coins'] - $array2['coins'];
						
		if($num > 0 && $rescash >= 0) {
				mysql_select_db('player');
			$i = 0;	
		$giveitem = "INSERT INTO item SET owner_id = '" . $array['id'] . "', window = 'MALL', pos = '" . $_SESSION['pos'] . "', count = '" . $icount . "', vnum = '" . $itemid . "', socket0 = '0', socket1 = '0', socket2 = '0'";
			$result = mysql_query($giveitem);
			
				if($result) {
				
				
				if($_SESSION['pos'] == '42') {
				 
				 $_SESSION['pos'] = '0'; }
				 else { $_SESSION['pos'] = $_SESSION['pos'] + 1; }
				 
					mysql_select_db('account');
					
						$cashresult = $array['coins'] - $array2['coins'];
					
					$coins = "UPDATE account set coins = '" . $cashresult . "' where login = '" . $_SESSION['id'] . "'";
						$coinsresult = mysql_query($coins);
						
					if($coinsresult) {
					$_SESSION['coins'] = $cashresult;
					
					echo "<meta http-equiv=\"refresh\" content=\"0;url=index.php?page=buysuccess\">";
					} else {
					echo "<meta http-equiv=\"refresh\" content=\"0;url=index.php?page=buyfail\">";
					}
				
				}
				else { echo "<meta http-equiv=\"refresh\" content=\"0;url=index.php?page=buyfail\">"; }
				
			} else { echo "<meta http-equiv=\"refresh\" content=\"0;url=index.php?page=nocash\">"; }
			
		} else { echo "<meta http-equiv=\"refresh\" content=\"0;url=index.php?page=buyfail\">"; }
		
	} else { echo "Logeazate intai!"; }

	}

?>

Daca va uitati cu atentie la inceput selecteaza o baza de date numita "account" din care extrage anumite informatii si le muta in baza de date "player"
mai jos nu ne intereseaza unde scade din coins sau pozitioneaza obiectul(vnum) in joc.


Baza de date ACCOUNT - ItemShop contine
id - nu foloseste la nimic.. doar numarul obiectului cu autoincrement (nu ne intereseaza)
itemname - printeaza numele itemului in shop (in php) (nu ne intereseaza)
value - valoarea itemului (valuarea itemului care trece din Account - ItemShop in Player - Item) care este deja configurat sa faca asta (nu ne intereseaza)
numbercount - asta ma intereseaaza pe mine sa ii dam de cap, are mai multe randuri.. zeci chiar unde sunt bagate itemele
coins - monezile din care scade scriptul (nu ne intereseaza)
cat - categoria (nu ne intereseaza)

Baza de date PLAYER - ITEM contine
o gramada de chestii, singurul care ma intereseaza este
count - numarul de obiecte din inventar, are valoare "int" si se foloseste de numere.. maxim fiind 200

Ma chinui de o zii sa fac transferul de la baza de date ACCOUNT - ItemShop la PLAYER - ITEM
Deci vreau din "ACCOUNT -> numbercount" sa transfere valoarea setata in tabelul "ITEM -> count " unde am pus eu $icount dar nu e bine, asa cum face cu vnum = '" . $itemid . "'


Apropo, linia asta ne intereseaza, unde inserteaza..
$giveitem = "INSERT INTO item SET owner_id = '" . $array['id'] . "', window = 'MALL', pos = '" . $_SESSION['pos'] . "', count = '" . $icount . "', vnum = '" . $itemid . "', socket0 = '0', socket1 = '0', socket2 = '0'";

Ati inteles ceva? sau ma puteti ajuta? :twisted: :twisted:


Multumesc, Lucian

Salut, am o problema cu un script

Scris: Joi Mai 05, 2011
de MarPlo
Nu prea am inteles despre ce e vorba, m-ai mult m-a obosit.
Daca "count" e un Integer, valoarea ar trebui fara ghilimele simple (care sunt pt. siruri) "... count = $icount ...";
E linia: $icount = $_GET['numbercount'];
pentru ea ar trebui sa existe in url "...php?numbercount=numar"

Cam atat ma duce mintea, nu pricem cand e mult scris :)

Salut, am o problema cu un script

Scris: Joi Mai 05, 2011
de luciann8
deci linia $icount = $_GET['numbercount']; este pusa de mine
am incercat si cu $icount = $_SESSION['numbercount']; dar nu merge...

numbercount este dat din baza de date ACCOUNT -> ItemShop
Vreau din numbercount asta sa transfer in PLAYER -> ITEM

E usor daca va dati seama.. numai ca nu am eu cunostintele necesare sa fac..

Salut, am o problema cu un script

Scris: Sâm Mai 07, 2011
de MarPlo
Incearca:
$icount = $array['numbercount'];
- $array continand datele preluate din "account", cu mysql_fetch_array().

Salut, am o problema cu un script

Scris: Dum Mai 08, 2011
de luciann8
mercii mult pentru raspunsuri, inca o intrebare, cum pot prelua din ItemShop? ca acolo am numbercount, ar fii perfect daca mi-ai face tu alt cod gen array-ul ala care selecteaza din account :p

edit:
inca ceva, cand pun cum ai recomandat tu sa incerc imi da eroarea asta
Notice: Undefined variable: array in C:\xampp\htdocs\user\shop\shopbuy.php on line 25

Salut, am o problema cu un script

Scris: Lun Mai 09, 2011
de MarPlo
Ca sa preiei din ItemShop, dupa cum e codul, probabil trebuie:
$icount = $array2['numbercount'];
Eroarea aia inseamna ca accesezi variabila $array inainte de a fi definita. Trebuie accesata dupa linia cu:
$array2 = mysql_fetch_array($query);
daca nu merge cum am scris, altfel nu stiu.

- Daca vrei alt cod, fa-l cu ajutorul lectiilor de PHP-MySQL de pe site.

Salut, am o problema cu un script

Scris: Lun Mai 09, 2011
de luciann8
oh my god am rezolvato, era super simplu.. nici o alta modificare a scriptului
era deja facut un array acolo.

trebuia asa:
'" . $array2['numbercount'] . "'

mercii pentru indrumare