Avatar billede prays Nybegynder
28. januar 2007 - 19:34 Der er 17 kommentarer og
1 løsning

Database og variabel

Hej, jeg har noget tid bøvlet med denne del af mit script. Problemet ligger i at det skal undersøge om databasens bekræftelses kode er den samme som brugeren har indtastet, og her er problemet. Enten fortæller den at det er forkert kode når man sender confirm="" ellers når der bare er indtastet noget i confirm, så sætter den det ind i databasen. Ville bliver overlykkelig hvis nogen kunne hjælpe:)
Koden:
<?php
require("./config.php");
$check = mysql_query("SELECT * FROM penge_db WHERE kampagneid='$id' and type='Konkurrence' AND email='$_COOKIE[mycash_login]'");
$num = mysql_num_rows($check);
if($num > 0){
Fejl("Du er allerede blevet betalt for dette spørgeskema.");
}
$res = mysql_query("SELECT * FROM kon WHERE id='$id'");
$row = mysql_fetch_array($res);
if ($row[confirm] = $confirm){
$thismonth = date("M");
$thetime = date("j/n-Y - G:i:s");

mysql_query("INSERT INTO penge_db (email, kampagneid, transaktionsid, beloeb, beskrivelse, type, ref, maaned, status, tid) VALUES ('$_COOKIE[mycash_login]','$id','','$row[pris]','$row[resume]','Konkurrence','$row[ref]','$thismonth','0','$thetime')");
header("Location: konkurrencer.php");
} else
Fejl("Du har ikke indtastet den korrekte bekræftelseskode.");
?>
Avatar billede zynzz Praktikant
28. januar 2007 - 19:48 #1
Hvor får du $id fra?:
WHERE kampagneid='".$id."' and type='Konkurrence' AND email='".$_COOKIE['mycash_login]."'");
Avatar billede prays Nybegynder
28. januar 2007 - 19:58 #2
Det er fra linket.
Avatar billede mcgoat Nybegynder
28. januar 2007 - 20:03 #3
Hvis kampagneid står som INT i DB skal det være kampagneid=$id , altså uden ' '
Avatar billede prays Nybegynder
28. januar 2007 - 20:05 #4
Den del er der slet ikke problemer med. Det er længere nede i koden, ca. linie 9-11.
Avatar billede mcgoat Nybegynder
28. januar 2007 - 20:10 #5
$row['confirm'] skal der ikke ' ' på sådan nogle fætre?
Avatar billede prays Nybegynder
28. januar 2007 - 20:21 #6
Det hjalp ikke desværre.
Avatar billede zynzz Praktikant
29. januar 2007 - 08:09 #7
Hvis $id er fra linket bør det se således ud: $_GET['id']
Avatar billede prays Nybegynder
29. januar 2007 - 09:59 #8
Det er stadigvæk ikke den del af koden der er fejl i jo. Det ligger omkring
if($row[confirm] = $confirm){
Avatar billede algizoft Nybegynder
29. januar 2007 - 12:10 #9
Du skal nok have 2 lighedstegn

if($row['confirm'] == $confirm){
Avatar billede prays Nybegynder
29. januar 2007 - 12:20 #10
Det hjælper ikke. Den afviser både hvis det er korrekt og forkert ved denne løsning.
Avatar billede algizoft Nybegynder
29. januar 2007 - 12:22 #11
prøv at var dumpe lige inden din if()

var_dump($row['confirm'], $confirm);

Hvad siger den?
Avatar billede prays Nybegynder
29. januar 2007 - 12:36 #12
Der er præcis samme problem.. Det undre mig at der er så mange problemer med den her del af koden, for det er jo ikke noget der burde volde en problemer.
Avatar billede algizoft Nybegynder
29. januar 2007 - 12:38 #13
Hvad var outputttet fra var_dump?
Avatar billede prays Nybegynder
29. januar 2007 - 12:40 #14
Avatar billede algizoft Nybegynder
29. januar 2007 - 12:43 #15
Det var da nogle mærkelige værdier at sammenligne? Jeg gættede på at du sammelignede nogle bekræftigelses koder eller lign.

Prøv evt. at trimme dem

if(trim($row['confirm']) == trim($confirm)){
Avatar billede prays Nybegynder
29. januar 2007 - 12:48 #16
Der var den :D Mange tak, post lige svar, så får du point. Men jo, det er nogle underlige værdier.. Men desværre den eneste måde vi lige kan gøre det på nu. hehe.
Avatar billede algizoft Nybegynder
29. januar 2007 - 12:50 #17
Det var da godt at du fik det til at virke :-)
Avatar billede prays Nybegynder
29. januar 2007 - 13:00 #18
Havde nok aldrig fundet frem til det uden din hjælp;)
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