Vinnaren i pepparkakshustävlingen!
2004-01-07, 23:39
  #1
Medlem
XSSs avatar
Hallå.

Gör en liten quiz-sida i PHP/MySQL men har ett litet problem för tillfället.
Jag kopplar mot databasen och hämtar allt i en row, det enda som finns är jword och eword, eword är svaret.

Om jag nu har en html-form i samma php-fil som ställer en fråga och så har man en ruta som man kan skriva in sitt svar i.

Jag har nu:

Kod:
if ($answer == $row["eword"])
	{
		echo "Rätt!";
	}
	else
	{
		echo "Fel!";
	}

Detta funkar inte, men det går bra att skriva ut "eword" på samma sätt typ.....något mer, emh nej, några svar? =)
Citera
2004-01-08, 00:00
  #2
Moderator
Ruskigbusss avatar
Kan det vara så att jword har några släpande blanka som spökar?

Alltså "xxx " är ju inte samma som "xxx"

(Kan inget om PHP, men däremot har jag gjort det här misstaget själv när jag sökt i databaser - det borde finnas någon TRIM funktion i PHP.)
Citera
2004-01-08, 00:42
  #3
Medlem
XSSs avatar
Nej det är inte det...100% säker!

Tack endå =)
Citera
2004-01-08, 01:28
  #4
Medlem
skrikande_griss avatar
Det är inte så enkelt att register_globals är satt till off i php's config? Är det det så ska $answer bytas till $_POST['answer'] (alt. $_GET['aswer'])
Citera
2004-01-08, 01:35
  #5
Medlem
XSSs avatar
Jo trodde det från början, men blev lite osäker nu när du nämnde det så jag testade, samma resultat...dvs. innan jag bytte till $_GET['answer'] så fick jag bara svaret No! hela tiden, nu får jag bara svaret Yes! hela tiden =)
Citera
2004-01-08, 01:38
  #6
Medlem
/dev/jesuss avatar
Citat:
Ursprungligen postat av XSS
Hallå.

Gör en liten quiz-sida i PHP/MySQL men har ett litet problem för tillfället.
Jag kopplar mot databasen och hämtar allt i en row, det enda som finns är jword och eword, eword är svaret.

Om jag nu har en html-form i samma php-fil som ställer en fråga och så har man en ruta som man kan skriva in sitt svar i.

Jag har nu:

Kod:
if ($answer == $row["eword"])
	{
		echo "Rätt!";
	}
	else
	{
		echo "Fel!";
	}

Detta funkar inte, men det går bra att skriva ut "eword" på samma sätt typ.....något mer, emh nej, några svar? =)

Lägg till denna rad ovanför första raden i din kodsnutt:

Kod:
var_dump($answer);

Vad står det?
Citera
2004-01-08, 02:00
  #7
Medlem
XSSs avatar
Jadu, när jag inte svarat så står det såklart NULL, om jag skriver i något och skickar in svaret så står det

string(5) "snase"

tex.
Citera
2004-01-08, 03:22
  #8
Medlem
GreenManalishis avatar
Citat:
Ursprungligen postat av XSS
Jadu, när jag inte svarat så står det såklart NULL, om jag skriver i något och skickar in svaret så står det

string(5) "snase"

tex.
Gör en likadan dump på strängen du hämtar ur databasen också.
Då ser du om det kommit med nåt skräptecken eller liknande
Citera
2004-01-08, 11:31
  #9
Medlem
XSSs avatar
Ack, nu såg ju jag problemet....typiskt, men hur ska man göra nu?

Har inte riktigt lärt mig detta, problemet var att den inte hämtar eword från databasen, vänta ni ska få lite kod:

Kod:
<?php
	include("include/db_config.inc");

	$connection = mysql_connect($db_host, $db_user, $db_pass) or die ("Unable to connect");
	mysql_select_db($db_name);

	$result = mysql_query("SELECT * FROM $db_table WHERE ID = 1") or die ("Error in query: $result." . mysql_error());

	while ( $row = mysql_fetch_array($result) ) 
	{
		echo '<center';
		echo '<p>';		
		echo $row['jword'] . '<p>';
	}
?>		

	<form action="wordquiz.php" method="POST">
	<input type="text" size="10" name="answer">
	<input type="submit" name="submit_answer" value="Submit">

<?
	if ($answer == $row['eword'])
	{
		echo "weeeeeeeeee!!!";
	}
	else
	{
		echo "noooooo!!!";
	}
?>

Känns som jag är helt ute och cyklar....tips? =)
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback