Avatar billede cmau Nybegynder
18. oktober 2004 - 16:05 Der er 7 kommentarer og
1 løsning

fejl i gameover script..

hey jeg har lavet et flash spil og når man er gameover bliver man send til nedenstående fil. Og ja scoren bliver sendt med til filen, men når man så skriver sit navn, e-mail og hjemmeside og trykker send viser den bare en blank side. nogle det kan finde fejlen?

<?
include('../community/sql.php');


if(isset($_POST["navn"])) {
session_start();
if(!$_SESSION[score]) {

mysql_query("INSERT INTO snake VALUES

('','".$_POST['navn']."','".$_SESSION['score']."','".$_POST['e-mail']."','".$_POST['hjemmeside']."')") or die(mysql_error());

echo '<p align="center">Din score er gemt i databasen.</p><p><a href="index.php">Nyt spil</a><br><a href="toplisten.php">Se

toplisten</a></p>';

exit;
} else {
'<p align="center">Fejl.</p><p>Der er desværre sket en fejl.</p><p><a href="index.php">Nyt spil</a><br><a

href="toplisten.php">Se toplisten</a></p>';
}
} else {
if(isset($_POST["score"])) {
session_start();
$_SESSION[score] = $_POST["score"];

echo '<p align="center">Game over:</p><p>Din score blev '.$_POST['score'].'!</p>';
?>
<p>Udfyld nedenstående felter og se om du fik nok til at kommer på toplisten.</p>

<script language="javascript">
function TjekForm() {

if (document.mailform.navn.value == ""){
alert("Du skal skrive dit navn!");
document.mailform.navn.focus();
return false;
}
return true;
}
</script>
<form name="mailform" onsubmit="return TjekForm();" method="POST" action="gameover.php">
<p>Navn:<br><input type="text" name="navn" size="20">*</p>
<p>E-mail:<br><input type="text" name="e-mail" size="20"></p>
<p>Hjemmeside:<br><input type="text" name="hjemmeside" size="20"></p>
<p><input type="submit" value="Send"></p>
<p>* Skal udfyldes!</p></form>

<p><a href="index.php">Nyt spil</a><br><a href="toplisten.php">Se toplisten</a></p>
<?
exit;
} else {

echo '<p align="center">Fejl.</p><p>Der er desværre sket en fejl.</p><p><a href="index.php">Nyt spil</a><br><a

href="toplisten.php">Se toplisten</a></p>';

}
}
?>
Avatar billede baitianlong Nybegynder
18. oktober 2004 - 16:12 #1
Du roder lidt i dine array-tags:

$_SESSION[score]
$_POST['score']
$_POST["navn"]

Brug ' eller " hver gang :)
Avatar billede cmau Nybegynder
18. oktober 2004 - 16:16 #2
Hjælper ikke..
Avatar billede baitianlong Nybegynder
18. oktober 2004 - 16:18 #3
Jeg regnede heller ikke med det nødvendigvis var en løsning, det var bare et godt råd om at skrive PHP :)
Avatar billede cmau Nybegynder
18. oktober 2004 - 16:19 #4
Jeg fandt et par fejl i min kode nu ser den sådan her ud, men den lægger stadig ikke noget id databasen når man trykker send..

Nu udskriver siden den første af de her, fejl (Der er også en i bunden af siden):

echo '<p align="center">Fejl.</p><p>Der er desværre sket en fejl.</p><p><a href="index.php">Nyt spil</a><br><a href="toplisten.php">Se toplisten</a></p>';

Så fejlen må jo være i noget session eller what?

<?
include('../community/sql.php');


if(isset($_POST["navn"])) {
session_start();
if(!$_SESSION["score"]) {

mysql_query("INSERT INTO snake VALUES

('','".$_POST["navn"]."','".$_SESSION["score"]."','".$_POST["e-mail"]."','".$_POST["hjemmeside"]."')") or die(mysql_error());

echo '<p align="center">Din score er gemt i databasen.</p><p><a href="index.php">Nyt spil</a><br><a href="toplisten.php">Se

toplisten</a></p>';

exit;
} else {
echo '<p align="center">Fejl.</p><p>Der er desværre sket en fejl.</p><p><a href="index.php">Nyt spil</a><br><a href="toplisten.php">Se toplisten</a></p>';
}
} else {
if(isset($_POST["score"])) {
session_start();
$_SESSION["score"] = $_POST["score"];

echo '<p align="center">Game over:</p><p>Din score blev '.$_POST["score"].'!</p>';
?>
<p>Udfyld nedenstående felter og se om du fik nok til at kommer på toplisten.</p>

<script language="javascript">
function TjekForm() {

if (document.mailform.navn.value == ""){
alert("Du skal skrive dit navn!");
document.mailform.navn.focus();
return false;
}
return true;
}
</script>
<form name="mailform" onsubmit="return TjekForm();" method="POST" action="gameover.php">
<p>Navn:<br><input type="text" name="navn" size="20">*</p>
<p>E-mail:<br><input type="text" name="e-mail" size="20"></p>
<p>Hjemmeside:<br><input type="text" name="hjemmeside" size="20"></p>
<p><input type="submit" value="Send"></p>
<p>* Skal udfyldes!</p></form>

<p><a href="index.php">Nyt spil</a><br><a href="toplisten.php">Se toplisten</a></p>
<?
exit;
} else {

echo '<p align="center">Fejl.</p><p>Der er desværre sket en fejl.</p><p><a href="index.php">Nyt spil</a><br><a

href="toplisten.php">Se toplisten</a></p>';

}
}
?>
Avatar billede cmau Nybegynder
18. oktober 2004 - 16:21 #5
der skulle så "noget i databasen"
Avatar billede cmau Nybegynder
18. oktober 2004 - 16:39 #6
Nogle er kan finde fejlen?
Avatar billede cmau Nybegynder
18. oktober 2004 - 16:42 #7
Jeg tror fejlen starter her:

session_start();
$_SESSION["score"] = $_POST["score"];

også når man trykker send bliver navnet fundet her:

if(isset($_POST["navn"])) {
session_start();


også pga. den 1. fejl kan den ikke finde:

if(!$_SESSION["score"]) {

Hvad er fejlen mon? :( jeg kan ikke lige se den..
Avatar billede cmau Nybegynder
18. oktober 2004 - 16:45 #8
fandt selv fejl :D en satans tumpe fejl. Sådan her var det:

if(!$_SESSION["score"]) {

mysql_query("INSERT INTO snake VALUES

('','".$_POST["navn"]."','".$_SESSION["score"]."','".$_POST["e-mail"]."','".$_POST["hjemmeside"]."')") or die(mysql_error());

echo '<p align="center">Din score er gemt i databasen.</p><p><a href="index.php">Nyt spil</a><br><a href="toplisten.php">Se

toplisten</a></p>';

exit;
} else {
echo '<p align="center">Fejl.</p><p>Der er desværre sket en fejl.</p><p><a href="index.php">Nyt spil</a><br><a href="toplisten.php">Se toplisten</a></p>';
}
}

Sådan her skulle det være:

if(!$_SESSION["score"]) {
echo '<p align="center">Fejl.</p><p>Der er desværre sket en fejl.</p><p><a href="index.php">Nyt spil</a><br><a href="toplisten.php">Se toplisten</a></p>';
exit;
} else {
mysql_query("INSERT INTO snake VALUES ('','".$_POST["navn"]."','".$_SESSION["score"]."','".$_POST["e-mail"]."','".$_POST["hjemmeside"]."')") or die(mysql_error());

echo '<p align="center">Din score er gemt i databasen.</p><p><a href="index.php">Nyt spil</a><br><a href="toplisten.php">Se

toplisten</a></p>';
}
}
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