FAQ |
Kalender |
2009-06-22, 16:55 | #1 | |||
|
||||
Medlem
|
Har en funktion där mina medlemmar reggar mail, när mailadressen är upptagen skall man hitta en annan ledig adress sedan skall den (lediga) valda reggas i databasen MEN jag fick alla resultat att skrivas till databasen oavsett vilken utgång :angry:
hur/var emellan dessa rader skall man sätta in inskrivning till databasen? Kod:
function getVar($name, $def = '') { *if (isset($_REQUEST[$name])) * *return $_REQUEST[$name]; *else * *return $def; } // check if overrides passed // $euser = getVar('user', ''); $euser = getVar('user', $euser); $epass = getVar('pass', $epass); $edomain = getVar('domain', $edomain); $equota = getVar('quota', $equota); $msg = ''; if (!empty($euser)) while(true) { *if ($antispam) { * *@session_start(); // start session if not started yet * *if ($_SESSION['AntiSpamImage'] != $_REQUEST['anti_spam_code']) { * * *// set antispam string to something random, in order to avoid reusing it once again * * *$_SESSION['AntiSpamImage'] = rand(1,9999999); * * * *// let user know incorrect code entered * * *$msg = '<b>Incorrect antispam code entered.</b>'; * * *break; * *} * *else { * * *// set antispam string to something random, in order to avoid reusing it once again * * *$_SESSION['AntiSpamImage'] = rand(1,9999999); * *} *} $f = fopen ("http://$cpuser:$cppass@$cpdomain:2082/frontend/$cpskin/mail/doaddpop.html?email=$euser&domain=$edomain&password=$epass"a=$equota", "r"); * *if (!$f) { * *$msg = 'Cannot create email account. Possible reasons: "fopen" function allowed on your server, PHP is running in SAFE mode'; * *break; *} *if (empty($epass)) { $passmessage = "???"; } * *$msg = "<b>Email created: {$euser}@{$edomain}<br>Pass: {$epass} $passmessage</b><br><br>Email: <a href=\"login.php\">Loggin</a>"; * *// Check result *while (!feof ($f)) { * *$line = fgets ($f, 1024); if (ereg ("already exists", $line, $out)) { * * *$msg = "<b>Email already exists!</b>"; * * *break; * *} *} *@fclose($f); *break; } ?> |
|||
Svara med citat |
2009-06-22, 18:59 | #2 | ||
|
|||
Klarade millennium-buggen
|
Efter
Kod:
if (empty($epass)) { $passmessage = "???"; } Kod:
if ($_SESSION['AntiSpamImage'] != $_REQUEST['anti_spam_code']) { |
||
Svara med citat |
2009-06-23, 12:23 | #3 | |||
|
||||
Medlem
|
Hej Jonas.. o tack!
OK! då sätter jag mysql raden där då :-) Jag har anitspam på "false", dvs använder inte formuläret utår ;-) |
|||
Svara med citat |
2009-06-23, 15:11 | #4 | |||
|
||||
Medlem
|
Det blev fel här oxå???
Kod:
if emptyepass { passmessage = ???; } include("dbconn.php"); $sql = "UPDATE members SET mailkonto = '$euser@$edomain' , losenord = '$epass' WHERE pid = '$pid'"; $pol = mysql_query($sql)or die(mysql_error()); |
|||
Svara med citat |
2009-06-23, 16:22 | #5 | ||
|
|||
Medlem
|
Jag kollade bara lite snabbt men testa att sätta sql-delen efter att alla kontroller har genomförts. efter den här raden med andra ord.
@fclose($f); Som jag ser koden så ska den avbryta om något är fel, alltså är allt okej om den kommer dit alls. |
||
Svara med citat |
Svara |
|
|