28. september 2003 - 17:22Der er
13 kommentarer og 1 løsning
Udtræk efter bestemte oplysninger.
Hej,
I forbindelse med et mindre community er jeg igang med at lave en mulighed for at få oplyst sin kode, ved at kombinere email og et hjælpeord i en <form>.
Problemet er at der intet sker når jeg forsøger at hive de data frem.
Koden :
<?php IF ($request){ include("conf.php"); mysql_query("SELECT * FROM user WHERE mail = '$mail' AND help = '$help'") or die ("Kunne ikke vælge felter i database-tabellen"); ?>
Vi har genkendt følgende email adresse: <? echo "$mail";?> Din kode er : <? echo "$password";?>
<? } ELSE { ?>
<form method="post" action=<? echo $PHP_SELF; ?>>
Din email adresse : <input type="text" name="mail" id="toern">
Hvad er din mors fornavn : <input type="password" name="help" id="toern">
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
du har jo ikke sagt at $password variablen skal være outputtet af mysql query'en. rettelse-ting:
$query = mysql_query("SELECT * FROM user WHERE mail = '".ereg_replace("\'", "", $mail)".' AND help = '".ereg_replace("\'", "", $$help)."'") or die ("Kunne ikke vælge felter i database-tabellen"); $sqlout = mysql_fetch_array($query); ?> Vi har genkendt følgende email adresse: <? echo "$sqlout[mail]";?> Din kode er : <? echo "$sqlout[password]";?>
<? } else { ?>
man skal altid sørge for at fjerne tegnet ' fra input til sql, da det ses som en del af queryen.
mysql_query("SELECT * FROM user WHERE mail = '".ereg_replace("\'", "", $mail)".' AND help = '".ereg_replace("\'", "", $$help)."'") or die ("Kunne ikke vælge felter i database-tabellen");
Jeg kan desværre ikke gennemskue eventuelle slåfejl fra din side (udover muligvis $$help)
den der > or die ("Kunne ikke vælge felter i database-tabellen"); < virker heller ikke. brug dette istedet. sæt ind efter query'en. if ($mysql_affected_rows == 0) print "Kunne ikke vælge felter i database-tabellen";
<?php IF ($request){ include("conf.php"); $query = mysql_query("SELECT * FROM user WHERE mail = '".ereg_replace("\'", "", $mail)".' AND help = '".ereg_replace("\'", "", $help)."'") if (mysql_affected_rows() == 0) print "Kunne ikke vælge felter i database-tabellen"; $sqlout = mysql_fetch_array($query); ?>
Men der opstår stadig en parse error i query linien
<?php IF ($request){ include("conf.php"); $query = mysql_query("SELECT * FROM user WHERE mail = '".ereg_replace("\'", "", $mail)."' AND help = '".ereg_replace("\'", "", $help)."'") if (mysql_affected_rows() == 0) print "Kunne ikke vælge felter i database-tabellen"; $sqlout = mysql_fetch_array($query); ?>
arh <?php IF ($request){ include("conf.php"); $query = mysql_query("SELECT * FROM user WHERE mail = '".ereg_replace("\'", "", $mail)."' AND help = '".ereg_replace("\'", "", $help)."'"); if (mysql_affected_rows() == 0) print "Kunne ikke vælge felter i database-tabellen"; $sqlout = mysql_fetch_array($query); ?>
du havde glemt at sætte et ; der hvor du fjernede "or die(..."
Nu får jeg oplysningerne, mangler bare et par småfejl som jeg selv burde kunne løse!
Synes godt om
Ny brugerNybegynder
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.