Register systeem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Chris

Chris

11/04/2007 17:17:00
Quote Anchor link
Ik heb een register systeem, waar je registreert om in de site zelf te kunnen komen.

Er zit alleen 1 fout in, hij verstuurd namelijk de email niet met een activatie code.
Maar zonder die mail kan je ook al binnen komen, je bent dan dus gewoon geregistreed!

Het script is 120 lines lang, gewoon laten zien?!
 
PHP hulp

PHP hulp

04/05/2024 12:54:49
 
- wes  -

- wes -

11/04/2007 17:20:00
Quote Anchor link
relevante stukken
 
Frank -

Frank -

11/04/2007 17:21:00
Quote Anchor link
Nee, daar zit niemand op te wachten.

Ga zelf eens debuggen.
1) Waar wordt de code aangemaakt?
2) Waar wordt de code opgeslagen?
3) Waar wordt de code in de email gezet?
4) Waar wordt de code uitgelezen in vergeleken met de opgeslagen code?
5) Waarom sta jij toe om binnen te komen zonder (geldige) code?

Die vragen kun je zelf 1 voor 1 beantwoorden.
 
Chris

Chris

11/04/2007 17:26:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?PHP
  if(isset($_GET['id'],$_GET['code'])) {
    $id            = $_GET['id'];
    $code          = $_GET['code'];
    $dbres          = mysql_query("SELECT * FROM `temp` WHERE `area`='signup' AND `id`='$id' AND `code`='$code'");
    if($data = mysql_fetch_object($dbres)) {
      mysql_query("UPDATE `users` SET `activated`='1',`start`=NOW() WHERE `login`='{$data->login}'");
      mysql_query("DELETE FROM `temp` WHERE `id`='$id'");
      if($data->forwerdedFor != ""){
      mysql_query("UPDATE `users` SET `respect`=`respect`+5 WHERE `id`='{$data->forwardedFor}'");
      mysql_query("INSERT INTO `logs`(`time`,`login`,`person`,`code`,`area`,`com`) values(NOW(),'{$data->login}','{$data->forwardedFor}','5','respect','ReferrerID')");}
      print "De activatie is voltooid, je kunt nu inloggen.";
    }

    else
      print "Incorrecte activatie-code...";
  }

elseif(isset($_POST['submit'])) {
  $gebruiker = $_POST['gebruiker'];
  $pass = $_POST['pass'];
  $refer = $_POST['refer'];
  $passconfirm = $_POST['passconfirm'];
  $email = $_POST['email'];
  $ip = $_SERVER['REMOTE_ADDR'];
  $geslacht = $_POST['geslacht'];
  $steden = Array("Agrigento","Caltanissetta","Catania","Enna","Messina","Ragusa","Syracuse","Trapani");
  $rstad = rand(0,8);
  $stad = "$steden[$rstad]";
  $ipexist = mysql_query("SELECT * FROM `users` WHERE `ip`='{$ip}' AND `status`='levend'");
  $ipexist = mysql_num_rows($ipexist);
  $ipallowed = mysql_query("SELECT * FROM `multiple` WHERE `ip`='{$ip}'");
  $ipallowed = mysql_num_rows($ipallowed);
  $exist = mysql_query("SELECT * FROM `users` WHERE `login`='{$gebruiker}'");
  $exist = mysql_num_rows($exist);
  $eexist = mysql_query("SELECT * FROM `users` WHERE `login`='{$gebruiker}' AND `status`='levend'");
  $eexist = mysql_num_rows($eexist);
  $rexist = mysql_query("SELECT * FROM `users` WHERE `id`='{$refer}'");
  $rexists = mysql_fetch_object($rexist);
  $rexist = mysql_num_rows($rexist);
  $referlogin = $rexists->login;
  if(preg_match('/^[a-zA-Z0-9_\-]+$/', $gebruiker) == 0) { print "De opgegeven gebruikersnaam is ongeldig, je mag enkel letters of cijfers gebruiken.\n"; }
  elseif(!$pass || $pass != $passconfirm) { print "De opgegeven wachtwoorden zijn niet identiek.\n"; }
  elseif(preg_match('/^.+@.+\..+$/',$email) == 0) { print "Het opgegeven e-mailadres is ongeldig.\n"; }
  elseif($ipexist == 1 && $ipallowed != 1) { print "Er is al een account gemaakt op dit IP adres.\n"; }
  elseif($exist == 1) { print "De opgegeven gebruikersnaam is al in gebruik.\n"; }
  elseif($eexist == 1) { print "Er is al iemand aangemeld met dit e-mailadres.\n"; }
  elseif($rexist != 1 && $refer!= "") { print "De opgegeven referrerID bestaat niet.\n"; }
  else {
        $code          = rand(100000,999999);
        mysql_query("INSERT INTO `users`(`start`,`login`,`pass`,`ip`,`email`,`stad`,`geslacht`,`activated`) values(NOW(),'{$gebruiker}',MD5('{$pass}'),'{$ip}','{$email}','{$stad}','{$geslacht}','1')");
        mysql_query("INSERT INTO `temp`(login,ip,code,area,time,forwardedFor) values('$gebruiker','$ip',$code,'signup',NOW(),'$referlogin')");
        $id          = mysql_insert_id();
      mail($email,"Ladro activatie-code","Hallo $gebruiker,\n\nBedankt voor het aanmelden op Ladro.\n Je gegevens zijn: $gebruiker \n Je wachtwoord: $pass
\n\nKlik hier om je account te activeren:\nhttp://www.ladro.nl/register.php?id=$id&code=$code"
,"From: Ladro <[email protected]>\n");
      //print "Je bent geregistreerd, je kan je nu aanmelden <br><a href='login.php'>Login</a>";
      //mail($email,"Ladro registratie","Hallo $gebruiker,\n\nBedankt voor het aanmelden op Ladro.\n Je gebruikersnaam: $gebruiker \n Je wachtwoord: $pass","From: Ladro <[email protected]>\n");

      print "Je bent geregistreerd, log nu in en speel!\n";
        //officeel: Je bent geregistreerd, er is een e-mail gestuurd naar $email met een activatie-code...\n" maar deed het niet,, is vervangen.
      }
}

$refer = $_GET['refer'];
?>


Heb de knoppen eruit gehaald wes, zo kort mogelijk.

Ze hebben me al eerder gezegd zo min mogelijk met de * te werken, maar doe het liever zo.
Gewijzigd op 01/01/1970 01:00:00 door Chris
 
- wes  -

- wes -

11/04/2007 17:27:00
Quote Anchor link
En dan nu de vragen van frank beantwoorden
 
Chris

Chris

11/04/2007 17:28:00
Quote Anchor link
Dan ga ik even slim doen :s
De vragen zijn duidelijk, maar daar kom ik nou juist niet uit..
 
Jesper Diovo

Jesper Diovo

11/04/2007 17:34:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
if(mail(....))
{
echo "goed!";
}else{
echo "fout!";
}


en even bovenaan de pagina error_reporting(E_ALL);
:)

Edit:

Misschien is het slim om ook nog een mail validate op de $_POST['mail'] los te laten. ;) (Geldt niet echt voor dit probleem.. maar voor als het straks open staat voor bezoekers! ;))
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
 
Frank -

Frank -

11/04/2007 18:10:00
Quote Anchor link
De code is een bende, dan gaat het altijd fout. Ik gok dat je zeker de helft van de queries zo kunt verwijderen en de boel netjes kunt gaan samenvoegen. Je zult in elk geval flink moeten opruimen.
 
Chris

Chris

11/04/2007 20:21:00
Quote Anchor link
Hoe zou ik het dan samen kunnen vatten?
Want ik heb het zo geleerd en vind het persoonlijk prettig werken zoals eerder vernoemd in een reactie hierboven..
 
Arjan Kapteijn

Arjan Kapteijn

11/04/2007 20:29:00
Quote Anchor link
Zo heb jij het niet geleerd, zo heb je het gekopierd. Dat is een fundementeel verschil...
 
Dizzy

Dizzy

11/04/2007 20:33:00
Quote Anchor link
idd :s snap niets van dat script ...
 
Baarr

Baarr

11/04/2007 20:38:00
Quote Anchor link
Mee eens, dit is een bende, gezien vanuit PHP EN SQL perspectief..
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.