Een spel maken in - PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Pagina: 1 2 volgende »

Maaike Doornhein

Maaike Doornhein

30/03/2016 18:50:04
Quote Anchor link
Hallo,

Ik moet voor school voor het vak informatica het spel zeeslag maken in o.a. PHP.
Ik loop al vast bij helaas al vast bij de eerste stap en hoop dat iemand mij daarmee kan helpen.
Van mijn docent moet ik eerst een pagina moet maken waar iemand kan inloggen (zonder wachtwoord!) of zich kan registreren (naam + alias in het spel).
Vervolgens moet je dus kunnen inloggen hiervoor moet je, je php koppelen aan je database met PDO (ik werk met phpmyadmin). Vervolgens is het de bedoeling dat je nadat je hebt ingelogd, je in een wachtrij komt en kan kiezen met wie je wilt spelen (bijv. de computer).
Ik snap gelukkig wel wat ik moet doen, maar in de praktijk vindt ik het lastig uit te voeren ik hoop echt dat iemand mij kan helpen...

Alvast bedankt :)
 
PHP hulp

PHP hulp

21/11/2024 22:01:02
 
- Ariën  -
Beheerder

- Ariën -

30/03/2016 19:15:24
Quote Anchor link
Wat heb je tot nu toe al gemaakt? En waar loop je precies op vast?
 
Maaike Doornhein

Maaike Doornhein

30/03/2016 19:26:37
Quote Anchor link
Op dit moment loop ik vast bij het maken van de inlog pagina, dus zodat ik zorg ik een pagina heb waar je kunt klikken op een knop registreren of je naam kunt typen zodat je kunt inloggen en dan vervolgens naar de pagina wachtrij.php gaat.

Op dit moment heb ik bij de index.php
Naam: <input type="text" name="name" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $name;?>
">
<input type="submit" name="inloggen" value="inloggen" >
<br>
<a href="registreren.php">Of klik hier om je te registreren</a>

Maar volgens mij is dit niet echt php maar html.

Ik weet ook niet precies hoe je er nou voor kan zorgen dat als je uiteindelijk bij registreren.php komt dat je ook daadwerkelijk kunt registreren (met naam en alias) dus dat die in de database komen automatisch (phpmyadmin).

Ik heb op dit moment dit uitgezocht voor registreren.php, maar ook hiervan weet ik niet of het klopt...

Mijn docent zegt dat je het conecten met phpmyadmin moet doen via PDO

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
<?php
try {
$db = new PDO(' phpmyadmin:host=localhost;dbname=db_name' , 'db_user' , ' db_password' );
}
catch (PDOException $e) {
    echo $e->getMessage()."<br>";
    die();

}
    
$sql = 'select naam from zeeslag_accounts' ;
foreach( $db->query($sql) as $row) {
    echo $row['naam'] . "<br>";
}

$db = null;
?>


Alvast ontzettend bedankt dat je de moeite hebt genomen om mijn vraag te lezen :)
Gewijzigd op 30/03/2016 19:27:34 door Maaike Doornhein
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

30/03/2016 20:18:44
Quote Anchor link
Maaike Doornhein op 30/03/2016 18:50:04:
...
Vervolgens moet je dus kunnen inloggen hiervoor moet je, je php koppelen aan je database met PDO (ik werk met phpmyadmin).

PHPMyAdmin is niet je database maar MySQL.
Je connectie met mysql zet je als volgt op:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$db
= new PDO('mysql:host=localhost;dbname=db_name;charset=utf8mb4', 'db_user', 'db_pwd');
?>

PHPMyAdmin is een tool geschreven in PHP om MySQL-databases te beheren.
Gewijzigd op 30/03/2016 21:13:51 door Ger van Steenderen
 
Maaike Doornhein

Maaike Doornhein

31/03/2016 17:07:42
Quote Anchor link
Bedankt!!

Ik ben op dit moment al een stuk verder, heb wat uitleg van mijn docent gehad namelijk.
Nu heb ik voor registreren.php dit bestandje:

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
<?php
include_once "connect.php";

$naam = filter_input(INPUT_POST,"naam" );
$alias = filter_input(INPUT_POST,"alias" );

$sql = "insert into acounts (naam,alias) values(:naam,:alias)";
$db -> prepare($sql);

$sql -> bindParam( ':naam', $naam );
$sql -> bindParam( ':alias', $alias );

$sql -> execute ();

include_once "index.php";


?>


Alleen blijf ik nu continu de foutmelding:
Fatal error: Call to a member function bindParam() on a non-object in /Applications/XAMPP/xamppfiles/htdocs/zeeslag/registreren.php on line 10

En ik heb geen idee wat ik er mee aan moet, iemand een idee??
 
Frank Nietbelangrijk

Frank Nietbelangrijk

31/03/2016 17:27:37
Quote Anchor link
op regel zeven bewaar je een sting in de variabele $sql. Vervolgens probeer je op regel 10 een method (een functie binnen een class) aan te roepen. Dat gaat niet werken he. Probeer eens

$db->bindParam( ':naam', $naam );
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

31/03/2016 17:35:22
Quote Anchor link
bindParam is een method van het PDOStatement object (wat geretourneerd wordt door PDO::prepare), dus je moet dat eerst aan een variabele toewijzen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$sql
= "insert into acounts (naam,alias) values(:naam,:alias)";
$prep = $db -> prepare($sql);

$prep -> bindParam( ':naam', $naam );
$prep -> bindParam( ':alias', $alias );

$prep -> execute ();
?>
 
Maaike Doornhein

Maaike Doornhein

31/03/2016 17:57:08
Quote Anchor link
Allemaal heel erg bedankt voor het meehelpen en denken!
Zelf ben ik helaas niet zo goed in informatica :(

Ik ben op dit moment bezig met het maken het registreren en het inloggen en vanuit het inloggen dat je dan uiteindelijk uitkomt in de 'wachtrij'. Helaas werkt mijn code nog niet zoals dat zou moeten, ik hoop dat jullie mij misschien willen helpen...

Ik heb op dit moment dit:

index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<form method="post" action="wachtrij.php">
Naam: <input type="text" name="wie" />
<input type="submit" name="loginSubmit" value="Log in!" />
</form>
<BR>
<form method="post" action="registreren.php">
<input type="submit" name="loginSubmit" value="registreer je hier!" />
</form>


connect.php
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
<?php
$db
= array (
    'host' => 'localhost',
    'dbname' => 'zeeslag_accounts',
    'user' => 'root',
    'pass' => ''
);

try
{
    $db = new PDO('mysql:host=' . $db['host'] . ';dbname=' . $db['dbname'] , $db['user'], $db['pass']);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->query("SET SESSION sql_mode = 'ANSI,ONLY_FULL_GROUP_BY'");
}

catch(PDOException $e)
{

    $sMsg = '<p>
            Regelnummer: '
.$e->getLine().'<br />
            Bestand: '
.$e->getFile().'<br />
            Foutmelding: '
.$e->getMessage().'
        </p>'
;
    
    trigger_error($sMsg);
}

?>


registreren.php
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
<form method="post" action="wachtrij.php">
Naam: <input type="text" name="wie" />
</form>
<BR>
Alias: <input type="text" name="alias" />
<BR>
<BR>
<input type="submit" name="loginSubmit" value="registreer!" />
</form>

<?php
include_once "connect.php";

$naam = filter_input(INPUT_POST,"naam" );
$alias = filter_input(INPUT_POST,"alias" );

$sql = "insert into acounts (naam,alias) values(:naam,:alias)";
$prep = $db -> prepare($sql);

$prep -> bindParam( ':naam', $naam );
$prep -> bindParam( ':alias', $alias );

$prep -> execute ();

?>


wachtrij.php
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
<?php
include_once "connect.php";
$naam = filter_inpu(INPUT_POST, "wie");
$db -> prepare($sql)
$sql -> bindParam(':naam', $naam);
$sql -> execute( );

$aantalregels = $sql -> row(count();
if ($aantalregels == 0) {
    include_once "index.php";
    exit( );    
}


$sql ="unpdat acounts set active = 1 where id = $id";

include_once "refreshwachtruimte.php"

?>


wachtruimterefresh.php
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
<head>
<meta http-equiv="refresh" content="3">
</head>

<?php
include_once "connect.php"

$id= input_filter(inout_get, "id");
$sql = "select * from acounts where active = 1"

$r = fetchAll(PDO::FETCH_ASSOC);
foreach($r as $regelnr => $regel) {
    if ($regel ['id'] == $id
    print
}
{

    foreach ($r as $regel) {
    if $regel ['id']; = $id) }


?>


- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 31/03/2016 19:48:16 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

31/03/2016 19:52:03
Quote Anchor link
Je mist hier en daar een ; aan het eind van een paar regels.
Verder is de code in wachtruimterefresh.php best merkwaardig met afgebroken if'jes etc en loze print's.

In wachtrij.php gebeuren ook vreemde dingen.

Probeer je nu wat uit, in plaats van te weten wat je precies moet doen? Want daar lijkt het wel op.
En dat kan nooit de bedoeling zijn.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

31/03/2016 21:06:54
Quote Anchor link
Maaike, gebruik je al een PHP editor? Dat zou anders je leven zeker veraangenamen. Ik ben zelf erg tevreden over het gratis Netbeans
 
L deB

L deB

01/04/2016 23:53:43
Quote Anchor link
Ik vond PHP zwaar irritant toen ik net ermee begon (om het te leren). Het week zoveel af van HTML dat het een tijd duurde voor mij voordat ik het enigszins doorkreeg. Misschien geldt voor jou hetzelfde (dat weet ik niet). Ik heb er in ieder geval wel veel aan gehad om op w3schools tutorials te volgen en van bepaalde zaken kant en klare oplossingen te zoeken en die te ontleden. Zo ben ik met mijn eigen login-systeem begonnen door een veilige te downloaden en deze te doorlopen en daarna aan te passen.

In mijn ervaring werkt dit veel beter in het begin dan telkens maar proberen dingen aan te passen zonder dat je echt begrijpt wat ze doen. Dat koste mij uren en uren en ik werd er nog niet wijzer van omdat ik dus dingen probeerde die ik al wist terwijl er dingen nodig waren die ik niet wist.

Als je een paar uur besteed aan het downloaden van inlog systemen en deze uit te proberen en de codes te bekijken en te volgen is het denk ik voor jou al snel een stuk duidelijker waar bepaalde dingen niet kloppen.

Plus wat anderen ook al hebben gezegd, zoals Frank dat je netbeans kan gebruiken wat heel veel scheelt omdat je dan gemakkelijker fouten kan traceren en sowieso direct kan zien als iets niet klopt.
 
Koen Hollander

Koen Hollander

03/04/2016 12:42:02
Quote Anchor link
Probeer PHP eens via codecanyon zodat je het in de vingers krijgt
 
Maaike Doornhein

Maaike Doornhein

05/04/2016 15:26:57
Quote Anchor link
Iedereen ontzettend bedankt voor alle hulp, ik probeer langzaam aan php onder de knie te krijgen!
Ik heb samen met mijn docent het voor mekaar gekregen om te registreren in de datebase.
Vervolgens heeft mijn docent me ook geholpen met mijn inlog.php, loop ik hier tegen een fout aan...
Want welke naam ik ook typ, of als ik zelfs geen naam typt wordt je toch doorgestuurd naar inlog.php, het is natuurlijk de bedoeling dat dit alleen kan als ook daadwerkelijk geregisteerd staat in de database, ook is het niet de bedoeling dat je wordt doorverwezen naar inlog.php maar naar wachtrij.php (op dit moment is dit alleen nog maar een wit scherm). Ik al enige dagen aan het proberen het werkend te krijgen maar het lukt gewoon niet...
Als iemand wil en kan helpen dank je!

Dit is het inlog formulier
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<form method="post" action="inlog.php">
Naam: <input type="text" name="wie" />
<input type="submit" name="loginSubmit" value="Log in!" />
</form>


En dit is inlog.php
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php

 

include_once "connect.php";

 

if (isset($_post['wie'])) {

    if (empty($_post['wie'])) {

        echo "Je hebt geen naam opgegeven";

        echo "<a herf='index.php'> terug</a>";

    }
else {

        $sql = "select * from accounts where naam = :naam";

        $mijnSql = $db->prepare($sql);

        $mijnSql->bindParam(':naam', filter_input(INPUT_POST, 'naam'));

        $mijnSql->execute();

      

        if ($mijnSql->rowCount() > 0) {

            echo "Je bent ingelogd";

        }
else {

            echo "Naam is verkeerd";

            echo "<a herf='index.php'> terug</a>";

        
        }

    }

}





?>
Gewijzigd op 05/04/2016 15:27:26 door Maaike Doornhein
 
- Ariën  -
Beheerder

- Ariën -

05/04/2016 16:16:11
Quote Anchor link
Als ik een goed advies mag geven, kijk of je formulier verstuurd is via POST, i.p.v. te controleren of een bepaalde element is meegestuurd:

Je komt dan op de volgende structuur uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
    // je formulier is verstuurd, voer hier je acties uit/
}
?>



En als je $_POST-variabelen gebruikt, let er dan op dat je deze in hoofdletters benoemt.
Ook de functies uit je query kan je het best in hoofdletters aanduiden voor het leesbare gemak:
SELECT * FROM accounts WHEREnaam = :naam

Daarnaast gebruik je in je link het attribuut herf dit moet zijn href
Gewijzigd op 05/04/2016 16:16:30 door - Ariën -
 
Maaike Doornhein

Maaike Doornhein

05/04/2016 16:28:58
Quote Anchor link
Ontzettend bedankt! Het inloggen lukt nu :)

Ik kom er nu achter dat er dus nog wel een foutje zit in het registeren als ik registreer, registreerd de database alleen het alias terwijl ik ook graag wil dat de database de naam registreerd waarmee de gebruiker vervolgens moet inloggen...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<form method="post" action="registreren.php">
Naam: <input type="text" name="wie" />
<br>
<BR>
Alias: <input type="text" name="alias" />
<BR>
<BR>
<input type="submit" name="loginSubmit" value="registreer!" />
</form>


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
<?php
include_once "connect.php";

$naam = filter_input(INPUT_POST,"naam" );
$alias = filter_input(INPUT_POST,"alias" );

$sql = "insert into acounts (naam,alias) values(:naam,:alias)";
$prep = $db -> prepare($sql);

$prep -> bindParam( ':naam', $naam );
$prep -> bindParam( ':alias', $alias );

$prep -> execute ();

$msg = "je bent nu geregistreerd";
include_once "index.php";

echo $msg;

?>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/04/2016 16:40:58
Quote Anchor link
Hoi Maaike, Ik wil proberen eerst je gedachtegang op de rails te zetten zodat het voor jou duidelijker wordt wat er moet gebeuren in het script dat je probeert te maken.

Wat is een sessie:
Het bijhouden van enkele gegevens van iedere client afzonderlijk voor de duur van een bepaalde periode. De sessie verloopt nadat de server een bepaalde periode niets meer van de client vernomen heeft. (bijvoorbeeld na een half uur).

Wat is technisch gezien ingelogd zijn?
Indien een client/gebruiker een pagina bij de server opvraagt dan kan de server niet weten wie de persoon erachter is.
Daarvoor heeft men dan al jaren geleden een systeem bedacht waarbij de gebruiker eerst maar eens zijn (login)naam en wachtwoord moet opgeven. Aan de hand van die gegevens kan een gebruiker geïdentificeerd worden, mits deze in de database gevonden worden. Als de gegevens inderdaad gevonden worden dan wordt er een variabele, waarschijnlijk het user ID in de sessie opgeslagen waardoor deze voor de duur van een bepaalde periode bewaard blijft (zie boven).

Als je bovenstaande goed in je opneemt en begrijpt dan begrijp je ook dat op iedere beveiligde pagina (achter de login) gekeken zal moeten worden of een dergelijke geldige variabele ook voorkomt IN DE SESSIE. Dit is dus de check of de gebruiker ingelogd is en (eventueel) ook over voldoende rechten beschikt om de desbetreffende pagina op te vragen.

Een gebruiker doorsturen
dit doe je met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
header('Location: naam_van_de_pagina.php');
exit;
?>

De exit moet er (bijna altijd) achter omdat je script anders niet beëindigd wordt maar gewoon doorgaat.
Een header functie mag alleen gebruikt worden als er nog geen enkele output verstuurd is met bijvoorbeeld een echo of door HTML dat voor het php blok staat. Mede daardoor is het onverstandig om in het getoonde stukje php echo's te gebruiken.

Op regel 2 in de HTML gebruik je name="wie" en op regel 23 in je code gebruik je "naam" terwijl die twee wel moeten overeenkomen.

VOORBEELD:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
// login.php

session_start();

include_once "connect.php";

//initialisatie (het aanmaken van variabelen en het toekennen van een waarde aan die variabelen)
$error = '';

if($_SERVER['REQUEST_METHOD']=="POST")
{

        $sql = "select * from accounts where naam = :naam";

        $mijnSql = $db->prepare($sql);

        $mijnSql->bindParam(':naam', filter_input(INPUT_POST, 'naam'));

        $result = $mijnSql->execute();

    if($data = $result->fetch_assoc()){
            // schrijf het user_id naar de sessie!
        $_SESSION['user_id'] = $data['user_id'];
        // stuur de gebruiker door naar de beveiligde pagina
        header('Location: beveiligd.php');
        exit;
    }
// ( een ELSE is hier niet nodig omdat het script beëindigd wordt in bovenstaande IF
    
    $error = 'Gebruikersnaam niet gevonden';

}

?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Login</title>
    </head>

    <body>
        <?php echo $error; ?>
        <form method="post" action="inlog.php">
            Naam: <input type="text" name="naam" />
            <input type="submit" value="Log in!" />
        </form>
    </body>
</html>


beveiligd.php:
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
<?php
session_start();

if(!isset($_SESSION['user_id']))
{

    header('Location: login.php');
    exit;
}


$user_id = $_SESSION['user_id'];
?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Beveiligde pagina</title>
    </head>

    <body>
        <p>U bent ingelogd met user ID: <?php echo $user_id; ?></p>
    </body>
</html>


Toevoeging op 05/04/2016 16:47:51:

Bonus scriptje waarmee gebruikers kunnen uitloggen:

uitloggen.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
session_start();
unset($_SESSION['user_id']);
header('Location: index.php');
?>
Gewijzigd op 05/04/2016 16:44:39 door Frank Nietbelangrijk
 
Maaike Doornhein

Maaike Doornhein

05/04/2016 17:46:41
Quote Anchor link
Dank je!! Ik snap nu beter wat de bedoeling is...
Nu zit ik alleen nog met mijn laatste vraag...
Ik hoop dat één van jullie mij misschien ook hiermee kunnen helpen/uitleggen waarom het niet werkt?

Ik zit namelijk met het probleem dat als iemand zich registreerd, alleen het alias in de database komt te staan en niet de naam waarmee degene zich registreerd, en dit is wel de bedoeling aangezien de naam van de persoon zijn inlog is. Ik ben nu al 3 dagen aan het zoeken en kan de fout niet vinden...

Ik heb nu:

registrerenFormulier.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<form method="post" action="registreren.php">
Naam: <input type="text" name="wie" />
<br>
<BR>
Alias: <input type="text" name="alias" />
<BR>
<BR>
<input type="submit" name="loginSubmit" value="registreer!" />
</form>


En dit is registreren.php
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
<?php
include_once "connect.php";

$naam = filter_input(INPUT_POST,"naam" );
$alias = filter_input(INPUT_POST,"alias" );

$sql = "insert into acounts (naam,alias) values (:naam,:alias)";
$prep = $db -> prepare($sql);

$prep -> bindParam( ':naam', $naam );
$prep -> bindParam( ':alias', $alias );

$prep -> execute ();

$msg = "je bent nu geregistreerd";
include_once "index.php";

echo $msg;

?>


Het registreren werkt dus technisch gezien wel, maar alleen voor het alias en niet voor de naam...
Een voorbeeld van wat mijn phpadmin nu weergeeft:

id---------Naam----------alias---------active

50---------NULL--------Maaike3108---------0
49---------NULL--------Maaike3008---------0
48---------NULL-----------hoi-------------0
Gewijzigd op 05/04/2016 17:48:35 door Maaike Doornhein
 
- Ariën  -
Beheerder

- Ariën -

05/04/2016 17:50:29
Quote Anchor link
naam bestaat niet in je POST. In je formulier gebruik je wie.
Gewijzigd op 05/04/2016 17:51:37 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/04/2016 17:52:32
Quote Anchor link
idem dito "wie" vs "naam".

doe maar eens het volgende in je code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if($_SERVER['REQUEST_METHOD']=="POST")
{

    // let me see those POST variables :p
    echo '<pre>' . print_r($_POST, TRUE) . '</pre>';
}

?>
Gewijzigd op 05/04/2016 17:52:48 door Frank Nietbelangrijk
 
Maaike Doornhein

Maaike Doornhein

25/04/2016 16:29:27
Quote Anchor link
Ontzettend bedankt voor al jullie hulp en reacties, ik heb een tijdje niets meer gezegd omdat ik samen met mijn leraar met gaan kijken naar mijn php opdracht.
Ik ben er samen met mijn leraar tot aan de wachtrij uit gekomen.
Dit houdt dus in dat je, je nu kunt registreren, inloggen, in de wachtrij terecht komt en kunt kiezen met wie je wilt spelen en vervolgens door gestuurd wordt naar de pagina zeeslag.php.
Zoals ik al eerder heb vertelt ben ik helaas niet goed in php en waardeer jullie hulp en tips ook enorm.
Ik hoop dat jullie me misschien ook op weg zouden kunnen helpen met het spel zeeslag, ik heb namelijk geen idee hoe ik moet beginnen.
In het spel is het eerst de bedoeling dat er bepaald wordt wie er eerst mag, dit mag random wat dus inhoud dat de andere speler als het ware blokkeert en dus niks meer kan. Ik moet aangeven wie er aan de beurt is aan de hand van bijvoorbeeld het veranderen van de kleur van de naam van de speler. De wijzigingen op het scherm moeten door middel van ajax-technologie doorgegeven worden...
De database moet in CRUD benaderd worden, want het spel wordt namelijk via de database gespeeld worden. Het is de bedoeling dat ik met coördinaten in het spel naar de andere speler kan sturen wat de andere speler heeft gedaan.

Ik hoop echt dat iemand mij kan helpen alvast ontzettend bedankt!
Gewijzigd op 25/04/2016 16:31:31 door Maaike Doornhein
 
Frank Nietbelangrijk

Frank Nietbelangrijk

25/04/2016 21:48:22
Quote Anchor link
Hum best een lastige opdracht. Je moet op het moment dat er een tegenspeler gekozen wordt dan direct maar zorgen dat er een keus gemaakt wordt wie er gaat beginnen.

Ik stel me voor dat je een tabel games hebt met de volgende kolommen:

-game_id
-player1_id
-player2_id
-onturn_id (nummer van de speler die aan de beurt is).

De eerste keer maak je gebruik van de functie rand(1, 2);
Daarna swap je van 1 naar 2 en van 2 weer terug naar 1.

Hoe wil je het doen met het plaatsen van de schepen? Wil je dat gebruikers die zelf kunnen plaatsen of krijgen ze een random set geplaatste schepen?

Begin maar gewoon met de HTML. Een statische pagina die we later dynamisch gaan maken.
Naast PHP komt er een flinke dosis javascript bij kijken als je het een beetje leuk wilt maken. Daar zou je je dus alvast eens in kunnen verdiepen.

Hoe wil je de schepen weergeven? met een foto of mogen het gewoon gekleurde vakjes worden?

Je kunt kiezen om vakjes met <div>-jes te maken of als je van een uitdaging houdt zou je eens kunnen kijken naar HTML5 CANVAS.
 

Pagina: 1 2 volgende »



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.