Avatar billede mathiash Nybegynder
24. april 2003 - 13:44 Der er 30 kommentarer og
1 løsning

Problemer igen: sessions

Hej.
Jeg er i gang med at lave et lille "spil" Jeg vil gerne have at når man køber en ting trækker den 200 fra i feltet saldo og lægger 1 til i feltet vare1. Men den skal jo lægge det ind i det felt where brugernavn='den bruger som man er logget in som' Men det virker ikke :-(

Lidt kode:
<?php
session_start();
?>
<?php
require("../../../top.txt")
?>
<?php
if (session_is_registered("brugernavn")) {
?>



<h1>Kasket</h1>
<img src="vare1.gif"><br>

<input type="submit" name="ok" value="Køb">

<p><a href="../kob.php"><<-Tilbage</a></p>

<?php
if ($ok) {
$session['brugernavn'] = $bruger;

$conn = mysql_connect("sql01.starthotel.dk", "*", "*");
mysql_select_db("*");
$insertSQL = "insert into spil where brugernavn='$bruger' (vare1, saldo) values (+1, -100)";
mysql_query($insertSQL);

mysql_close($conn);
}
?>



<?php
} else {
    echo "Du har ikke logget ind eller har ikke nogen bruger<br>
<a href='../../login.php'>Login</a><br>
<a href='../../opretbruger.php'>Opret bruger</a>";
}
?>
<?php
require("../../../bund.txt")
?>

Jeg er helt ny til sessions HJÆLP!!!!!!

//Mathias
Avatar billede sostack Nybegynder
24. april 2003 - 13:59 #1
Når brugeren så køber et eller andet, ændrer du værdierne i databasen ved at lave en:
mysql_query("UPDATE spil SET saldo=saldo-200, vare1=vare1+1 WHERE bruger=$bruger");
Avatar billede sostack Nybegynder
24. april 2003 - 14:00 #2
mysql_query("UPDATE spil SET saldo=saldo-200, vare1=vare1+1 WHERE bruger='$bruger'");
Avatar billede mathiash Nybegynder
24. april 2003 - 14:01 #3
Ok tak, men jeg har mest problemer med sessions det vil ikke virke :-(
Bare sig til hvis du skal have mere kode :-D
Avatar billede avminarm Juniormester
24. april 2003 - 14:11 #4
din $bruger er ikke defineret!
Avatar billede mathiash Nybegynder
24. april 2003 - 14:12 #5
Jo:
<?php
if ($ok) {
$session['brugernavn'] = $bruger;
Avatar billede mathiash Nybegynder
24. april 2003 - 14:17 #6
Jeg syntes ikke rigtigt at der er nogen der gider at svare: Flere points???
Avatar billede mathiash Nybegynder
24. april 2003 - 14:17 #7
35 burde være nok
Avatar billede sostack Nybegynder
24. april 2003 - 14:19 #8
Avatar billede avminarm Juniormester
24. april 2003 - 14:22 #9
ja, men hvor kommer $bruger fra - tror du ikke at du mener:

$bruger = $session['brugernavn'];
Avatar billede mathiash Nybegynder
24. april 2003 - 14:28 #10
Virker helle ikke :-(
Login.php:
<?
session_start();
?>
<?php
if ($ok) {
$conn = mysql_connect("*", "*", "*");
mysql_select_db("*");

$kodeord = $_REQUEST["kodeord"];

$resultat = mysql_query("select brugernavn, kodeord from spil where '$kodeord' = kodeord");

if ( mysql_num_rows( $resultat ) == 1 ) {

    $raekke = mysql_fetch_array($resultat);

    $brugernavn = $raekke['brugernavn'];

    session_register("brugernavn");
    session_register("kodeord");
    header("Location: spil/index.php");


} else {

    echo "<p>Du har indtastet forker brugernavn eller password.</p>";

}
mysql_close($conn);
}
?>
<?php
require("../top.txt")
?>
<form action="" method="post">
<input type="text" name="brugernavn" value="Bruger"><br>
<input type="text" name="kodeord" value="Pass"><br>
<input type="submit" value="Login" name="ok"><br>
</form>
<?php
require("../bund.txt")
?>
Login.php logger man og den registrer sessionen ik´ ???
Avatar billede mathiash Nybegynder
24. april 2003 - 14:28 #11
Eller er der fel der???
Avatar billede avminarm Juniormester
24. april 2003 - 14:29 #12
lægger lige et svar
Avatar billede mathiash Nybegynder
24. april 2003 - 14:31 #13
ok, Men det virkede helle ikke :-(
Avatar billede avminarm Juniormester
24. april 2003 - 14:33 #14
du skal ikke bruge session_register brug i stedet:

$_SESSION['brugernavn'] = $brugernavn;
$_SESSION['kodeord'] = $kodeord;
Avatar billede mathiash Nybegynder
24. april 2003 - 14:38 #15
Virker heller ikke :-(
Avatar billede mathiash Nybegynder
24. april 2003 - 14:40 #16
Måske et link så i kan følge med ;0)

http://clint-mathis.starthotel.dk/cm/spil/

Testbruger1
bruger: admin
pass: admin
Avatar billede sostack Nybegynder
24. april 2003 - 14:43 #17
Prøv lige at gemme dette som en fil.php og køre den på din webserver:
<?php
session_start();
$brugernavn = "Karl Otto";
session_register("brugernavn");
if (session_is_registered("brugernavn")) {
?>
<h1>Kasket</h1>
<?
echo $_SESSION['brugernavn'] . "<br />\n";
} else {
echo "<h1>Stakit</h1>";
}
?>

Hvilket resultat??
Avatar billede mathiash Nybegynder
24. april 2003 - 14:46 #18
Avatar billede mathiash Nybegynder
24. april 2003 - 14:46 #19
Kasket
Karl Otto
Avatar billede mathiash Nybegynder
24. april 2003 - 14:47 #20
Nu ser min login.php sådan ud:
<?
session_start();
?>
<?php
if ($ok) {
$conn = mysql_connect("*", "*", "*");
mysql_select_db("*");

$kodeord = $_REQUEST["kodeord"];

$resultat = mysql_query("select brugernavn, kodeord from spil where '$kodeord' = kodeord");

if ( mysql_num_rows( $resultat ) == 1 ) {

    $raekke = mysql_fetch_array($resultat);

    $brugernavn = $raekke['brugernavn'];

    $_SESSION['brugernavn'] = $brugernavn;
    $_SESSION['kodeord'] = $kodeord;
    header("Location: spil/index.php");


} else {

    echo "<p>Du har indtastet forker brugernavn eller password.</p>";

}
mysql_close($conn);
}
?>
<?php
require("../top.txt")
?>
<form action="" method="post">
<input type="text" name="brugernavn" value="Bruger"><br>
<input type="text" name="kodeord" value="Pass"><br>
<input type="submit" value="Login" name="ok"><br>
</form>
<?php
require("../bund.txt")
?>
Avatar billede mathiash Nybegynder
24. april 2003 - 14:50 #21
Bliver vist lidt mere omfattende 50 points ;-)
Avatar billede mathiash Nybegynder
24. april 2003 - 15:11 #22
Ingen der vil hjælpe???
Avatar billede mathiash Nybegynder
24. april 2003 - 15:24 #23
Ok, 100 Points.

Er der nogle der vil hjælpe???
Avatar billede ahv Nybegynder
24. april 2003 - 16:42 #24
Prøv med:


<?php
session_start();

if ($_POST['ok']){
$conn = mysql_connect("*", "*", "*");
mysql_select_db("*");

$resultat = mysql_query("select brugernavn, kodeord from spil where kodeord='$kodeord'");
if(mysql_num_rows($resultat) == 1){

    $raekke = mysql_fetch_array($resultat);

    $_SESSION['brugernavn'] =  $raekke['brugernavn'];
    $_SESSION['kodeord'] = $raekke['kodeord'];
    header("Location: spil/index.php");


}else{

    echo "<p>Du har indtastet forker brugernavn eller password.</p>";

}
mysql_close($conn);
}

require("../top.txt")
?>
<form action="" method="post">
<input type="text" name="brugernavn" value="Bruger"><br>
<input type="text" name="kodeord" value="Pass"><br>
<input type="submit" value="Login" name="ok"><br>
</form>
<?php
require("../bund.txt")
?>
Avatar billede mathiash Nybegynder
24. april 2003 - 16:46 #25
Virker desværre heller ikke :-(
Avatar billede ahv Nybegynder
24. april 2003 - 17:08 #26
Der var en del fejl og mangler på den side som skulle opdatere, den korrekte kode blev til:

<?php
session_start();

require("../../../../top.txt");

if($_SESSION['brugernavn']){

echo "<h1>Kasket</h1> <img src='vare1.gif'><br><input type='submit' name='ok' value='Køb'><p><a href='../kob.php'><<-Tilbage</a></p>";

if($_POST['ok']){

$conn = mysql_connect("sql01.starthotel.dk", "*", "*");
mysql_select_db("*");

mysql_query("UPDATE spil SET saldo=saldo-200, vare1=vare1+1 WHERE brugernavn='$_SESSION['brugernavn']'");

mysql_close($conn);

}else{
echo "Du har ikke logget ind eller har ikke nogen bruger<br><a href='../../login.php'>Login</a><br><a href='../../opretbruger.php'>Opret bruger</a>";
}}
require("../../../../bund.txt");
?>
Avatar billede ahv Nybegynder
24. april 2003 - 17:45 #27
Der meldte sig hurtigt nye fejl, men denne burde klare det :o)


<?php
session_start();

require("../../../../top.txt");

if($_SESSION['brugernavn']){

echo "<h1>Kasket</h1> <img src='vare1.gif'><br>
<form action='' method='post'>
<input type='submit' name='ok' value='Køb'><p><a href='../kob.php'><<-Tilbage</a></p>
</form>";

if($_POST['ok']){

$conn = mysql_connect("sql01.starthotel.dk", "clint-mathis", "kzlrxyzr");
mysql_select_db("usr_9861");

mysql_query("UPDATE spil SET saldo=saldo-200, vare1=vare1+1 WHERE brugernavn='$_SESSION[brugernavn]'");

mysql_close($conn);

}}else{
echo "Du har ikke logget ind eller har ikke nogen bruger<br><a href='../../login.php'>Login</a><br><a href='../../opretbruger.php'>Opret bruger</a>";
}
require("../../../../bund.txt");
?>
Avatar billede mathiash Nybegynder
24. april 2003 - 17:48 #28
Efter mange timers snak over msn fandt vi endelig den rigtige kode. Koden har ahv postet /|\
Vi aftalte at han fik 200 points da han har brugt over en time på at hjælpe mig.

Mange tak for hjælpen :-D
Avatar billede ahv Nybegynder
24. april 2003 - 17:48 #29
mange timer? ;) 1 time var det vist.
Avatar billede mathiash Nybegynder
24. april 2003 - 17:50 #30
nåja, men alligevel ;-)
Avatar billede mathiash Nybegynder
24. april 2003 - 17:50 #31
<*LOL*>
Overdrivelse fremmer forståelse
</*LOL*>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester