Een speler vanuit een getoonde tabel toevoegen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yoop Overmaat

Yoop Overmaat

01/07/2012 23:19:54
Quote Anchor link
Hallo forumleden,

Ik heb een probleem waar ik even geen oplossing voor zie.
Heb Google wel geraadpleegd maar deze gaf geen oplossing.
Het is een pagina uit navigatiesysteem binnen een
div op basis van php, heb er zelf wat mee geknutseld &
kwam erachter dat het ook met phtml werkte, phtml heeft
meer mogelijkheden dan php maar valt onder de php-groep.

Dit is de hoofdpagina binnen de div-navigatie, game1.phtml.
Het is een testversie, let niet op de grove opzet, de
definitieve versie zal er netter uitzien.

Je haalt hier wat gegevens uit de database die er eerder
ingestopt hebt middels een xhr link + wat php. Je
knutselt wat met phtml omdat het oog ook wat wil.

-----------------------------------------------------------
game1.phtml
-----------------------------------------------------------
<!doctype html>
<html>
<head>
</style type="text/css">
td{
background-color:green;
color:white;
font-size:12px;
}
</style>
<script type="text/javascript">
function knopje17(){
window.open('test.php','testpopje','width=100,height=100,top=2,left=2')
}
</script>
</head>
<body>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
mysql_connect("localhost","gebruiker","wachtwoord")or die(mysql_error());
//echo"Con 2 db<br/>";
mysql_select_db("spelers")or die(mysql_error());
//echo"Db slctd<br/>";

$query = "SELECT * FROM spelers WHERE gametype='301' AND gamestat='open'";
$result = mysql_query($query)or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo'<tr><td align="center" width="50" height="40">';
echo $row['gameid'];
echo'</td><td align="center" width="50" height="40">';
echo $row['bo'];
echo'</td><td align="center" width="50" height="40">';
echo $row['sets'];
echo'</td><td align="center" width="50" height="40">';
echo $row['legs'];
echo'</td><td align="center" width="100" height="40">';
echo $row['player1'];
echo'</td><td align="center" width="100" height="40">

//--------------------------------------------------------------
//Hoe krijg je een id hieraan gekoppeld zonder een $SESSION['
gameid'];?

<input type="button" value="Meedoen" style="color:green;" onclick="knopje17()">'
;

//-----------------------------------------------------------------
echo'</td></tr>';
}

echo'</table>';
?>


</body>
</html>
-----------------------------------------------------------------------

-----------------------------------------------------------------------
Het probleem is echter dat ik met een multiplayer site
bezig ben. Heb al geprobeerd om het gameid aan de button
middels een $_SESSION['gameid']; te koppelen wat de meest
wazige effecten geeft. Ik heb alleen geen idee hoe dit te
doen, player2 kwam bij een ander gameid terecht dan
het bedoelde gameid.

Is er misschien een andere oplossing voor dit probleem. Kun je het gameid
middels een andere manier aan de button koppelen of moet de opzet veranderd worden?
 
PHP hulp

PHP hulp

12/08/2020 05:17:20
 
Frank WD

Frank WD

01/07/2012 23:26:47
Quote Anchor link
Even wat kleine puntjes.

- Regel 10 tot 20 is overbodig. Je echoot elke regel op nieuws. Dit is eigenlijk niet nodig. Je kan beter je php sluiten en waar nodig weer openen.
- Gebruik in je SELECT query NOOIT geen *, maar tik alle velden uit die je wilt ophalen. Dit is sneller en ook omdat je geen overbodige info ophaalt waar je niks mee doet.
- Pas een goede foutafhandeling toe aan je Query. Klik hier

Ontopic. Ik weet niet of je aan een input button een id mee kunt geven.
Maar kun je bij het verzenden van je form geen hidden input mee sturen met daar je id van de user?
 
Yoop Overmaat

Yoop Overmaat

02/07/2012 01:22:33
Quote Anchor link
@Frank WD

Oke, de foutafhandeling rammelt aan alle kanten, daar ga ik mee accoord & zal ik aanpassen.
Bij het ophalen van de gevens middels een * heb je ook een punt.

Waar ik nu bezig ben is zo nieuw dat zelfs Google geen antwoord heeft.
Phtml-navigatie binnen een div is ook nieuw, ik ben de eerste die hier mee begint te klieren.

Maar de regeltjes omtrent de gedragingen van een statische webpagina gelden niet meer daar ik met een multiplayer site bezig ben. Ik heb 2 divs waarvan div1 5 pagina's beslaat waarbinnen er 3 onder via xhr vernieuwd worden indien opgeroepen. Div2 beslaat slechts 1 pagina. Er is ook nog een div3 waarbinnen de chat loopt via een popup deze is onafhankelijk van div1 & 2. Div1 & 2 worden parallel vernieuwd.

Mijn conclusie is derhalve dat er een compleet entropische toestand heerst op mijn thuisservergebakje.

De eerste speler maakt in dit geval een spel aan & zet het in de database, vandaar ook het echoen van de diverse rijen vanuit deze database, het geheel moet variabel blijven.

- Regel 10 tot 20 is overbodig. Je echoot elke regel op nieuws. Dit is eigenlijk niet nodig. Je kan beter je php sluiten en waar nodig weer openen.-

Ik heb het in html geprobeerd, er werd slechts 1 rij uit de database weergegeven.
Er rest dus geen andere mogelijkheid dan deze.

-Ontopic. Ik weet niet of je aan een input button een id mee kunt geven.
Maar kun je bij het verzenden van je form geen hidden input mee sturen met daar je id van de user?-

Pfewwwwww, dat is een mogelijkheid maar erg moeilijk om te bewerkstelligen. Alhoewel ik het id van een speler bij het inloggen in een session_id stop.
 
Erwin H

Erwin H

02/07/2012 10:44:48
Quote Anchor link
Yoop Overmaat op 02/07/2012 01:22:33:
Pfewwwwww, dat is een mogelijkheid maar erg moeilijk om te bewerkstelligen. Alhoewel ik het id van een speler bij het inloggen in een session_id stop.

Hoezo is dat moeilijk om te bewerkstelligen? Hidden input is toch niet zo'n probleem?
Zou ook beter werken dan een sessie, omdat een sessie direct website breed werkt. Met andere woorden, als 1 speler meerdere browser schermen open heeft om op verschillende pagina's tegelijk bezig te zijn kan je die sessie er al niet meer voor gebruiken.
 
Ykcin Ykcin

Ykcin Ykcin

02/07/2012 11:37:49
Quote Anchor link
Erwin H op 02/07/2012 10:44:48:
Yoop Overmaat op 02/07/2012 01:22:33:
Pfewwwwww, dat is een mogelijkheid maar erg moeilijk om te bewerkstelligen. Alhoewel ik het id van een speler bij het inloggen in een session_id stop.

Hoezo is dat moeilijk om te bewerkstelligen? Hidden input is toch niet zo'n probleem?
Zou ook beter werken dan een sessie, omdat een sessie direct website breed werkt. Met andere woorden, als 1 speler meerdere browser schermen open heeft om op verschillende pagina's tegelijk bezig te zijn kan je die sessie er al niet meer voor gebruiken.

Daar heb je een punt.
In dit geval kan het niet veel kwaad om een hidden input veld te gebruiken,
maar bij zaken waar security erg belangrijk is zou ik zelf geen hidden input velden gebruiken.
 
Erwin H

Erwin H

02/07/2012 12:17:54
Quote Anchor link
Nicky van Meurs op 02/07/2012 11:37:49:
maar bij zaken waar security erg belangrijk is zou ik zelf geen hidden input velden gebruiken.

Absoluut eens. Of dat hier het geval is kan ik niet bepalen, dat is een keuze voor de TS.
 
Yoop Overmaat

Yoop Overmaat

03/07/2012 21:34:25
Quote Anchor link
Bedankt voor jullie ideen, Er komt een aanpassing want hetgeen ik wilde met phtml had een technische beperking.

De phtml basis blijft bestaan maar de tabel gaat overboord. In plaats er van komt een html div.
binnen deze div een button plaatst kun je een gameid middels een $_SESSION['gameid'] aanhangen.

Als het geheel klaar is zal ik de uitwerking ervan hier wel neerzetten.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.