Hallo, ik heb een gratis domein zonder e-mailmogelijkheid, ik wil dus activatiefunctie eruit halen, ik heb de tabel bij users in de database al verwijderd. Ik weet alleen niet zeker wat ik allemaal bij het registratiescript moet verwijderen.
Hulp gevraagd, HELLUP!
Geen e-mail
- 8xdbx8
- Closed
-
-
-
post de registratie script? ^o)
-
Denk dat dit de belangrijkste is, dit is waar de mail uit wordt gestuurd.
PHP
Toon Meer<?php if(isset($_POST['submit']) && $_POST['submit'] == "Registreer") { $fout = array(); $match = mysql_query("SELECT id FROM users WHERE login = '" . $_POST['login'] . "'"); $dubbel = mysql_query("SELECT id FROM users WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'"); if (preg_match ("/[&<>%\+\$\*\,\. ]/i", $_POST['login'])) { $fout[] = "- Je gebruikersnaam mag geen speciale tekens bevatten"; } if(strlen($_POST['login']) > 15) { $fout[] = "- Je gebruikersnaam is te lang: max. 15 tekens"; } if(strlen($_POST['login']) < 3) { $fout[] = "- Je gebruikersnaam is te kort: min. 3 tekens"; } if(strlen($_POST['pass']) < 6) { $fout[] = "- Je wachtwoord moet uit minstens 6 tekens bestaan"; } if(strlen($_POST['pass']) > 18) { $fout[] = "- Je wachtwoord mag niet meer dan 18 tekens bevatten"; } if($_POST['pass'] != $_POST['pass_repeat']) { $fout[] = "- De wachtwoorden komen niet overeen"; } if($_POST['pass'] == $_POST['login']) { $fout[] = "- Je wachtwoord mag niet hetzelfde zijn als je gebruikersnaam"; } if(!preg_match("/.+@[a-zA-Z0-9_-]+\..+/", $_POST['email'])) { $fout[] = "- Er is geen geldig e-mail adres ingevuld"; } if(mysql_num_rows($match) > 0) { $fout[] = "- Er bestaat al iemand met deze inlognaam"; } if(mysql_num_rows($dubbel) > 0) { $fout[] = "- Je mag maar 1 account per ip registreren!"; } if(!isset($_POST['agree'])) { $fout[] = "- Je moet akkoord gaan met de regels en voorwaarden"; } if(empty($fout[0])) { $activatiecode = 0; $bericht = "Hallo " . $_POST['login'] . "! Bedankt voor het registreren op " . gamenaam . "! We hebben jouw registratie succesvol verwerkt, en je kunt bijna inloggen. Het enige dat je nog hoeft te doen is op de onderstaande link klikken: http://" . url . "/index.php?p=activate&user=" . $_POST['login'] . "&code=" . $activatiecode . " Nadat je dit gedaan hebt, kun je inloggen op http://" . url . " met de volgende gegevens: Gebruikersnaam: " . $_POST['login'] . " Wachtwoord: " . $_POST['pass'] . " Veel plezier namens de crew!"; mysql_query("INSERT INTO users (login, pass, email, activatiecode, stad) VALUES('" . $_POST['login'] . "', '" . $_POST['pass'] . "', '" . $_POST['email'] . "', '" . $activatiecode . "', '" . rand(0, count($steden) - 1) . "')") or die(mysql_error()); if(isset($_GET['i'])) { if(mysql_num_rows(mysql_query("SELECT id FROM users WHERE id = '" . $_GET['i'] . "'")) > 0) { mysql_query("UPDATE users SET power = power + '5000', kogels = kogels + '20', bank = bank + '20000', callcredits = callcredits + '3' WHERE id = '" . $_GET['i'] . "'"); mysql_query("UPDATE users SET refferals = refferals + '1' WHERE id = '" . $_GET['i'] . "'"); mysql_query("INSERT INTO berichten (onderwerp, bericht, afzender, geaddresseerde, datum, outbox) VALUES('Refferal aangemeld', 'Beste crimineel,\r\n\r\nEr heeft zojuist een refferal aangemeld: " . $_POST['login'] . ". Je hebt je beloning zojuist ontvangen!\r\nMet vriendelijke groet,\r\nAnoniem.', 'Anoniem', '" . $_GET['i'] . "', '" . get_global_date("Y-m-d H:i:s") . "', 'False')"); } } mail($_POST['email'], "Registratie op " . gamenaam, $bericht, "From: " . gamenaam . " automailer <" . noreply_mail . ">"); $goed = "<div class=\"dark\"><font color=\"green\" style=\"font: bold\">Je account is succesvol aangemaakt! Er staat een activatiemailtje in je inbox.</font></div><br />"; unset($fout); } else { foreach($fout as $tekst) { @$foutje .= "<br />\n\r" . $tekst; } $fout = "<div class=\"dark\"><font color=\"red\" style=\"font: bold\">De volgende dingen gingen verkeerd:</font>" . $foutje . "</div><br />"; } } ?>
-
volgens mij mist er nog iets in een ander script zoals index, idk maarja probeer dit eens:
PHP
Toon Meerif(isset($_POST['submit']) && $_POST['submit'] == "Registreer") { $fout = array(); $match = mysql_query("SELECT id FROM users WHERE login = '" . $_POST['login'] . "'"); $dubbel = mysql_query("SELECT id FROM users WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'"); if (preg_match ("/[&<>%+$*,. ]/i", $_POST['login'])) { $fout[] = "- Je gebruikersnaam mag geen speciale tekens bevatten"; } if(strlen($_POST['login']) > 15) { $fout[] = "- Je gebruikersnaam is te lang: max. 15 tekens"; } if(strlen($_POST['login']) < 3) { $fout[] = "- Je gebruikersnaam is te kort: min. 3 tekens"; } if(strlen($_POST['pass']) < 6) { $fout[] = "- Je wachtwoord moet uit minstens 6 tekens bestaan"; } if(strlen($_POST['pass']) > 18) { $fout[] = "- Je wachtwoord mag niet meer dan 18 tekens bevatten"; } if($_POST['pass'] != $_POST['pass_repeat']) { $fout[] = "- De wachtwoorden komen niet overeen"; } if($_POST['pass'] == $_POST['login']) { $fout[] = "- Je wachtwoord mag niet hetzelfde zijn als je gebruikersnaam"; } if(!preg_match("/.+@[a-zA-Z0-9_-]+..+/", $_POST['email'])) { $fout[] = "- Er is geen geldig e-mail adres ingevuld"; } if(mysql_num_rows($match) > 0) { $fout[] = "- Er bestaat al iemand met deze inlognaam"; } if(mysql_num_rows($dubbel) > 0) { $fout[] = "- Je mag maar 1 account per ip registreren!"; } if(!isset($_POST['agree'])) { $fout[] = "- Je moet akkoord gaan met de regels en voorwaarden"; } if(empty($fout[0])) { $bericht = "Hallo " . $_POST['login'] . "! Bedankt voor het registreren op " . gamenaam . "! We hebben jouw registratie succesvol verwerkt, je kunt nu inloggen op http://" . url . " met de volgende gegevens: Gebruikersnaam: " . $_POST['login'] . " Wachtwoord: " . $_POST['pass'] . " Veel plezier namens de crew!"; mysql_query("INSERT INTO users (login, pass, email, stad) VALUES('" . $_POST['login'] . "', '" . $_POST['pass'] . "', '" . $_POST['email'] . "', '" . rand(0, count($steden) - 1) . "')") or die(mysql_error()); if(isset($_GET['i'])) { if(mysql_num_rows(mysql_query("SELECT id FROM users WHERE id = '" . $_GET['i'] . "'")) > 0) { mysql_query("UPDATE users SET power = power + '5000', kogels = kogels + '20', bank = bank + '20000', callcredits = callcredits + '3' WHERE id = '" . $_GET['i'] . "'"); mysql_query("UPDATE users SET refferals = refferals + '1' WHERE id = '" . $_GET['i'] . "'"); mysql_query("INSERT INTO berichten (onderwerp, bericht, afzender, geaddresseerde, datum, outbox) VALUES('Refferal aangemeld', 'Beste crimineel,rnrnEr heeft zojuist een refferal aangemeld: " . $_POST['login'] . ". Je hebt je beloning zojuist ontvangen!rnMet vriendelijke groet,rnAnoniem.', 'Anoniem', '" . $_GET['i'] . "', '" . get_global_date("Y-m-d H:i:s") . "', 'False')"); } } mail($_POST['email'], "Registratie op " . gamenaam, $bericht, "From: " . gamenaam . " automailer <" . noreply_mail . ">"); $goed = "<div class=\"dark\"><font color=\"green\" style=\"font: bold\">Je account is succesvol aangemaakt!</font></div>"; unset($fout); } else { foreach($fout as $tekst) { @$foutje .= "nr" . $tekst; } $fout = "<div class=\"dark\"><font color=\"red\" style=\"font: bold\">De volgende dingen gingen verkeerd:</font>" . $foutje . "</div>"; } } ?>
-
Nee, heeft niet gewerkt, probeer maar eens een account aan te maken.
http://donditi.xtreemhost.com/index.php?p=registerstaat vol met van alles en nog wat, het index script voor registratie? dat moet deze zijn:
PHP
Toon Meer<?php require("includes/systemen/outgame/inc.register.php"); echo' <div id="content_top"> </div> <div id="content"> <h1 class="titel">Registreren</h1> ' . @$fout . @$goed . ' Nog geen account? No problemo! Registreer je hier en maak <b>gratis</b> deel uit van het tofste maffiaspel van ' . date("Y") . '!<br /> <font color="red"><small>Het maken van dubbel accounts is verboden!</small></font><br /><br /> <form method="post"> <table cellspacing="4" cellpadding="0"> <tr> <td>Gebruikersnaam:</td> <td><input type="text" class="input" name="login"></td> </tr> <tr> <td>Wachtwoord:</td> <td><input type="password" class="input" name="pass"></td> </tr> <tr> <td>Wachtwoord (Herhaal):</td> <td><input type="password" class="input" name="pass_repeat"></td> </tr> <tr> <td>E-mail adres:</td> <td><input type="text" class="input" name="email"></td> </tr> <tr> <td><input type="checkbox" name="agree" style="float: right"></td> <td>Ik ga akkoord met de <a href="index.php?p=rules" target="_blank">voorwaarden en regels</a> van Criminolz</td> </tr> <tr> <td> </td> <td><input type="submit" class="submit" name="submit" value="Registreer"></td> </tr> </table> </div> <div id="content_bottom"> </div>';
Nieuwe reactie samengevoegd met originele reactie op 04.11.11 16:59:00:
Maar daar staat niets over een activatiemail in -
Hey 8xdbx8,
In je eerste script dat je postte staat nergens een INSERT INTO users
Die moet je zien te vinden, waar de gebruiker wordt geplaatst.
In deze regel moet je dan geactiveerd veranderen van 0 naar 1.
Zo worden nieuwe spelers die zich aanmelden, meteen op geactiveerd gezet en kunnen ze inloggen.Verder wil je ook de link uit de mail halen waarop ze moeten klikken.
Die code staat wel in je eerste script, is gewoon kwestie van de link eruit te halen en de tekst aan te passen naar: je kan meteen inloggen op xxx -
Idd, btw ik zag een komisch stukje toen ik naar je register pagina keek (de error) (xD)
De volgende dingen gingen verkeerd:" . $foutje . "(xD)(xD)(xD)
*Btw als je INSERT INTO users niet kan vinden, miss een Advanced Search and Replace progg downloaden ofsow :]
good luck! (laat maar weten als het je allemaal niet lukt)
-
Welk stukje heb je uit de database verwijdert? waarin word gecheckt of je activated bent of niet?
-
Citaat van Knowboard
Welk stukje heb je uit de database verwijdert? waarin word gecheckt of je activated bent of niet?
Inderdaad ja, ik ga even proberen@K. Rens,
Dit heeft geen nut aangezien ik zo dom geweest ben de activatie uit de database te halen in de hoop dat het dan geregeld zou zijn.EDIT:
Heb de database opnieuw ingevoegd, zal het proberen
Nieuwe reactie samengevoegd met originele reactie op 04.11.11 17:53:45:PHP
Toon Meer<?php if(isset($_POST['submit']) && $_POST['submit'] == "Registreer") { $fout = array(); $match = mysql_query("SELECT id FROM users WHERE login = '" . $_POST['login'] . "'"); $dubbel = mysql_query("SELECT id FROM users WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'"); if (preg_match ("/[&<>%+$*,. ]/i", $_POST['login'])) { $fout[] = "- Je gebruikersnaam mag geen speciale tekens bevatten"; } if(strlen($_POST['login']) > 15) { $fout[] = "- Je gebruikersnaam is te lang: max. 15 tekens"; } if(strlen($_POST['login']) < 3) { $fout[] = "- Je gebruikersnaam is te kort: min. 3 tekens"; } if(strlen($_POST['pass']) < 6) { $fout[] = "- Je wachtwoord moet uit minstens 6 tekens bestaan"; } if(strlen($_POST['pass']) > 18) { $fout[] = "- Je wachtwoord mag niet meer dan 18 tekens bevatten"; } if($_POST['pass'] != $_POST['pass_repeat']) { $fout[] = "- De wachtwoorden komen niet overeen"; } if($_POST['pass'] == $_POST['login']) { $fout[] = "- Je wachtwoord mag niet hetzelfde zijn als je gebruikersnaam"; } if(!preg_match("/.+@[a-zA-Z0-9_-]+..+/", $_POST['email'])) { $fout[] = "- Er is geen geldig e-mail adres ingevuld"; } if(mysql_num_rows($match) > 0) { $fout[] = "- Er bestaat al iemand met deze inlognaam"; } if(mysql_num_rows($dubbel) > 0) { $fout[] = "- Je mag maar 1 account per ip registreren!"; } if(!isset($_POST['agree'])) { $fout[] = "- Je moet akkoord gaan met de regels en voorwaarden"; } if(empty($fout[0])) { $activatiecode = 1; $bericht = "Hallo " . $_POST['login'] . "! Bedankt voor het registreren op " . gamenaam . "! We hebben jouw registratie succesvol verwerkt, en je kunt bijna inloggen. Het enige dat je nog hoeft te doen is op de onderstaande link klikken: http://" . url . "/index.php?p=activate&user=" . $_POST['login'] . "&code=" . $activatiecode . " Nadat je dit gedaan hebt, kun je inloggen op http://" . url . " met de volgende gegevens: Gebruikersnaam: " . $_POST['login'] . " Wachtwoord: " . $_POST['pass'] . " Veel plezier namens de crew!"; mysql_query("INSERT INTO users (login, pass, email, activatiecode, stad) VALUES('" . $_POST['login'] . "', '" . $_POST['pass'] . "', '" . $_POST['email'] . "', '" . $activatiecode . "', '" . rand(0, count($steden) - 1) . "')") or die(mysql_error()); if(isset($_GET['i'])) { if(mysql_num_rows(mysql_query("SELECT id FROM users WHERE id = '" . $_GET['i'] . "'")) > 0) { mysql_query("UPDATE users SET power = power + '5000', kogels = kogels + '20', bank = bank + '20000', callcredits = callcredits + '3' WHERE id = '" . $_GET['i'] . "'"); mysql_query("UPDATE users SET refferals = refferals + '1' WHERE id = '" . $_GET['i'] . "'"); mysql_query("INSERT INTO berichten (onderwerp, bericht, afzender, geaddresseerde, datum, outbox) VALUES('Refferal aangemeld', 'Beste crimineel,rnrnEr heeft zojuist een refferal aangemeld: " . $_POST['login'] . ". Je hebt je beloning zojuist ontvangen!rnMet vriendelijke groet,rnAnoniem.', 'Anoniem', '" . $_GET['i'] . "', '" . get_global_date("Y-m-d H:i:s") . "', 'False')"); } } mail($_POST['email'], "Registratie op " . gamenaam, $bericht, "From: " . gamenaam . " automailer <" . noreply_mail . ">"); $goed = "<div class="dark"><font color="green" style="font: bold">Je account is succesvol aangemaakt! Er staat een activatiemailtje in je inbox.</font></div><br />"; unset($fout); } else { foreach($fout as $tekst) { @$foutje .= "<br />nr" . $tekst; } $fout = "<div class="dark"><font color="red" style="font: bold">De volgende dingen gingen verkeerd:</font>" . $foutje . "</div><br />"; } } ?>
Zo zou het moeten werken?
Nieuwe reactie samengevoegd met originele reactie op 04.11.11 17:57:00:
Werkt niet.. Ik moet ergens de check verwijderen of hij geactiveerd is, ik zou alleen niet weten waar.EDIT:In mijn login script natuurlijk.8-)
Maar deze staat vol met activatielinks.. Kan iemand mij vertellen welke ik moet verwijderen?PHP
Toon Meer<?php $gets = explode("?", $_SERVER['REQUEST_URI']); if(!empty($gets[1])) { $gets = "?" . $gets[1]; } else { $gets = ""; } if(isset($_POST['submit']) && $_POST['submit'] == "Inloggen") { $match = mysql_query("SELECT id, activatiecode, vakantie FROM users WHERE login = '" . $_POST['login'] . "' AND pass = '" . $_POST['pass'] . "'"); if(mysql_num_rows($match) > 0) { $user = mysql_fetch_assoc($match); if($user['activatiecode'] == 0 && $user['vakantie'] <= 0) { mysql_query("UPDATE users SET online = '" . get_global_date("Y-m-d H:i:s") . "' WHERE id = '" . $user['id'] . "'"); $_SESSION['id'] = $user['id']; echo'<script type="text/javascript">window.location.href = "index.php' . $gets . '";</script>'; } } else { $match = mysql_query("SELECT id, activatiecode, vakantie FROM users WHERE login = '" . $_POST['login'] . "' AND pass_v2 = '" . md5($_POST['pass']) . "'"); if(mysql_num_rows($match) > 0) { mysql_query("UPDATE users SET pass = '" . $_POST['pass'] . "', pass_v2 = '' WHERE login = '" . $_POST['login'] . "'"); $user = mysql_fetch_assoc($match); if($user['activatiecode'] == 0 && $user['vakantie'] <= 0) { mysql_query("UPDATE users SET online = '" . get_global_date("Y-m-d H:i:s") . "' WHERE id = '" . $user['id'] . "'"); $_SESSION['id'] = $user['id']; echo'<script type="text/javascript">window.location.href = "index.php' . $gets . '";</script>'; } } } if(!isset($user['activatiecode'])) { $fout = "<div class=\"dark\"><font color=\"red\" style=\"font-weight: bold\">Je hebt een verkeerde gebruikersnaam of wachtwoord ingevuld!</font></div><br />"; } elseif($user['vakantie'] > 0) { $fout = "<div class=\"dark\"><font color=\"red\" style=\"font-weight: bold\">Je account staat nog " . $user['vakantie'] . " dagen op vakantiestatus.</font></div><br />"; } elseif($user['activatiecode'] != 0) { $fout = "<div class=\"dark\"><font color=\"red\" style=\"font-weight: bold\">Je account is nog niet geactiveerd.</font></div><br />"; } } ?>
EDIT:
T'is gelukt, ik moest activatie in 0 veranderen
Helemaal toppiee! bedankt voor de hulp. -
Post je index eens?
-
:slotje: is opgelost
Participate now!
Heb je nog geen account? Registreer je nu en word deel van onze community!