| immortals | zaterdag 13 december 2008 @ 20:30 | |
| Hey, Ik ben bezig met een login systeem maar het geeft telkens een foutmelding!! deze om precies te zijn! Parse error: parse error in C:\wamp\www\register_funcs.inc on line 8 Dit is m'n script!! Kan iemand zeggen wat er fout is pls? <?php include_once('db_vars.inc'); $supersecret_hash_padding = 'A string that is used to pad out short strings for md5 encryption.'; function user_register() { global $supersecret_hash_padding; if (strlen($_POST['user_name']) <= 25 && strlen($_POST['password1']) <= 25 && ($_POST['password1'] == $_POST['password2'] && strlen($_POST['email']) <= 50 && validate_email ($_POST['email'])) { if (account_namevalid($_POST['user_name']) || strlen($_POST['password1'] >= 6)) $user_name = strtolower($_POST['user_name']); $user_name = trim($user_name); $email = $_POST['email']; $query = "SELECT user_id FROM user WHERE user_name = '$user_name' AND email = '$email'"; $result = mysql_query($query); if ($result && mysql_nam_rows($result) > 0) { $feedback = 'ERROR-Username or email address already exists'; return $feedback; } else { $first_name = $POST['first_name']; $last_name = $POST['last_name']; $password = md5($_POST['password1']); $user_ip = $_SERVER['REMOTE_ADDR']; $has = md5($email.$supersecret_hash_padding); $query = "INSERT INTO user (user_name, first_name, last_name, password, email, remote_addr, confrim_hash, is_confrim, date__created) VALUES ('$user_name', '$first_name', '$last_name', '$password', '$email', '$user_ip', '$hash', '0', NOW())"; $result = mysql_query($query); if (!$result) { $feedback= 'ERROR-Datebase error'; return $feedback; } else { encoded_email = urlencode($_POST['email']); $email_body = <<<EOMAILBODY Tank you for registering at Example.com. click this link to confrim your registration: http://localhost/confrim.php?hash=$hash&email=$encoded_email once you see a confrimation message, you will be logged into Example.com EOMAILBODY; mail ($email, 'example.com registration Confrimation', $email_body, 'from: noreply@example.com'); $feedback = ' YOU HAVE SUCCESFULLY REGISTERD. YOU WILL RECIVE A CONFRIMATION MAIL SOON'; return $feedback; } } } else { $feedback = 'ERROR-Username or password is invalid'; return $feedback; } } else { $feedback = ERROR-Please fill in all fields correctly'; return $feedback; } } function account_namevalid() { $span_str = "abcdefghijklmnopqrstuvwxyz" "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-"; if (strspn($_POST['user_name'], $span_str) == 0) { return false; } if (strspn($_POST['user_name'],$span_str) != strlen($name)) { return false; } if (strlen($_POST['user_name']) < 5) { return false; } if (strlen($_POST['user_name']) > 25) { return false; } if (eregi("^((root)|(bin)|(deamon)|(adm)|(lp)|(sync)|(shutdown)| (halt)|(mail)|(news)|(uccp)|(operator)|(games)|(mysql)| (httpd)|(nobody)|(download))$", $_POST['user_name''])) { return false; } if (eregi("^(anoncvs_)", $_POST['user_name'])) { return false; } return true; } function validate_email () { return (ereg('^[-!#$%&\'*\\./0-9=A-Z^_`a-z{|}~]+'. '@' '[- !#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.' . '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $_POST[email'])); } function user_confrim() { global $supersecret_hash_padding; $new_hash = md5 ($_GET['email'].$supersecret_hash_padding); if ($new_hash && ($new_hash == $_GET['hash'])) { $query = "SELECT user_name FROM user WHERE confrim_hash = '$new_hash'"; $result=mysql_query($query); if (!$result || mysql_num_rows($result) <1) { $feedback = 'ERROR-hash not found'; return $feedback; } else { $email = $_GET['email']; $hash = $_GET['hash']; $query = "UPDATE user SET email='$email'; is_confrimed='1' WHERE confrim_hash='$hash'"; $result = mysql_query($query); return 1; } } else { $feedback = ERROR-values do not match'; return $feedback; } } ?> | ||
| admiraal_anaal | zaterdag 13 december 2008 @ 20:33 | |
| HOEZO MOET DAT IN CAPSLOCK??? | ||
| admiraal_anaal | zaterdag 13 december 2008 @ 20:34 | |
| Oja ontopic: je bent die ene komma teveel staan | ||
| Juup© | zaterdag 13 december 2008 @ 20:34 | |
quote:OMDAT WIJ HET ANDERS NIET ZIEN DENKT TS? | ||
| admiraal_anaal | zaterdag 13 december 2008 @ 20:35 | |
quote:OOOH ZIT DAT ZO, IK DACHT BIJNA DAT HIJ DACHT DAT WIJ DOOF WAREN | ||
| immortals | zaterdag 13 december 2008 @ 20:37 | |
| srr ma welke komma ?? | ||
| admiraal_anaal | zaterdag 13 december 2008 @ 20:39 | |
quote:Die op de 12e regel, moet een ; zijn ipv , | ||
| immortals | zaterdag 13 december 2008 @ 20:41 | |
| 12de regel ?? dat is toch een ; ?? of ni ? | ||
| R-Mon | zaterdag 13 december 2008 @ 20:42 | |
| Ik zie een haakje te weinig: if ( strlen($_POST['user_name']) <= 25 && strlen($_POST['password1']) <= 25 && ( $_POST['password1'] == $_POST['password2'] && strlen($_POST['email']) <= 50 && validate_email ($_POST['email']) ) >>>>>>>>>>>>>>>> ) <<<<<<<<<<<<<< { | ||
| admiraal_anaal | zaterdag 13 december 2008 @ 20:43 | |
| En een spelfout EOMAILBODY; moet zijn emailbuddy | ||
| immortals | zaterdag 13 december 2008 @ 20:47 | |
| Nu geeft hij thx voor oplossing van de vorige!! Ma help je nu nog is :p ? | ||
| immortals | zaterdag 13 december 2008 @ 20:59 | |
| En nu zegt hij (het is opgelost) ma nu dit : Parse error: parse error in C:\wamp\www\register_funcs.inc on line 41 Ik snap het ni ?? ik denk dat $email_body $mail body moet zijn en dat eomailbody emailbuddy moet zijn | ||
| immortals | zaterdag 13 december 2008 @ 21:33 | |
| kan iemand helpe pls? | ||
| L0we | zaterdag 13 december 2008 @ 21:43 | |
| je mag maar 1 keer in de 24 uur kicken, zo ben je een beetje onbeschoft bezig. Ik denk dat er op regel 41 een fout staat. | ||
| immortals | zaterdag 13 december 2008 @ 21:45 | |
| welke ? en weet je hoe ik hem moet oplossen ?? | ||
| Swetsenegger | zaterdag 13 december 2008 @ 21:49 | |
| zet het eens tussen php tags en pas eens identing toe..... | ||
| Jo0Lz | zaterdag 13 december 2008 @ 21:53 | |
| Een beetje minder schreeuwerig mag ook wel... | ||
| immortals | zaterdag 13 december 2008 @ 21:57 | |
| zet het eens tussen php tags en pas eens identing toe..... quote... ma het staat toch tussen php tags ni ? en wa bedoel je met identing ? | ||
| Swetsenegger | zaterdag 13 december 2008 @ 22:17 | |
| ||
| immortals | zaterdag 13 december 2008 @ 22:22 | |
| opgelost ty ma nu is er een fout op lijn 56 weet iemand welke ? | ||
| Swetsenegger | zaterdag 13 december 2008 @ 22:26 | |
| niemand weet zo toch wat lijn 56 is helder licht. Zet het nou eens tussen php tags. | ||
| immortals | zaterdag 13 december 2008 @ 22:27 | |
| else { $feedback ='ERROR-Please fill in all fields correctly'; return $feedback; hier is ergens een fout ?? ik zie het ni ! | ||
| Swetsenegger | zaterdag 13 december 2008 @ 22:28 | |
| ja doei.... | ||
| immortals | zaterdag 13 december 2008 @ 22:29 | |
| ??wat is er ?? | ||
| Swetsenegger | zaterdag 13 december 2008 @ 22:31 | |
| ZET... HET... NOU... EENS... TUSSEN... PHP TAGS!!!! godskolere.... | ||
| Light | zaterdag 13 december 2008 @ 22:32 | |
| Waarom staat die code nog niet tussen [ php] en [ /php] ( en dan zonder spaties na de [ ) | ||
| immortals | zaterdag 13 december 2008 @ 22:32 | |
| <?php else { $feedback ='ERROR-Please fill in all fields correctly'; return $feedback; ?< zo?? | ||
| immortals | zaterdag 13 december 2008 @ 22:35 | |
zo ?? | ||
| Light | zaterdag 13 december 2008 @ 22:36 | |
quote:Nee | ||
| Light | zaterdag 13 december 2008 @ 22:37 | |
quote:Dat begint ergens op te lijken. Nog wat indenting (dus netjes inspringen) zou het helemaal goed maken. | ||
| immortals | zaterdag 13 december 2008 @ 22:41 | |
| ja nee ma nu kan zien wat het probleeem is he of ni ?? pls help! ty alvast!! | ||
| gateway | zaterdag 13 december 2008 @ 22:44 | |
| dat met die regelsnummers ervoor lost al een hoop op | ||
| gateway | zaterdag 13 december 2008 @ 22:46 | |
| regel 57 gelijk achter regel 56 zetten? en daar geen enter toepassen? | ||
| Swetsenegger | zaterdag 13 december 2008 @ 23:00 | |
| Nou ik heb hem ff in zend gepaste, maar mijn god wat een baggerscript. Het zit vol met fouten | ||
| glasbak | zaterdag 13 december 2008 @ 23:01 | |
quote:Daar had ik zend niet voor nodig om dat te zien | ||
| Swetsenegger | zaterdag 13 december 2008 @ 23:02 | |
quote:Ik kan in ieder geval makkelijk curly brackets bekijken... en daar ontbreken er nogal wat van. En haakjes en quotes. | ||
| Light | zaterdag 13 december 2008 @ 23:03 | |
quote:Waarschijnlijk iets met haakjes of accolades. En zonder indenting is dat nauwelijks na te gaan. | ||
| Swetsenegger | zaterdag 13 december 2008 @ 23:04 | |
| staan ook gewoon harde enters in echo's en dergelijke | ||
| glasbak | zaterdag 13 december 2008 @ 23:05 | |
quote:de sluitbracket op regel 56 matched met de opening van de functie user_register. Volgens mij is die hele if/else constructie verrot want er volgt een else op een else.. | ||
| Light | zaterdag 13 december 2008 @ 23:09 | |
quote:Dat kun je nog recht praten door te zeggen dat je regels niet te lang wilt laten worden. | ||
| Roy_T | zaterdag 13 december 2008 @ 23:15 | |
quote: | ||
| Light | zaterdag 13 december 2008 @ 23:26 | |
| Ik vind de eis dat mailadressen maximaal 50 tekens mogen bevatten wat vreemd... Domeinnamen mogen 63 tekens zijn, exclusief TLD. | ||
| Light | zaterdag 13 december 2008 @ 23:33 | |
Een meer leesbare versie van de eerste functie, waaruit het probleem ook snel duidelijk wordt. En dat met alleen het toepassen van indenting. | ||
| slacker_nl | zondag 14 december 2008 @ 00:26 | |
| Light, je bent te goed voor deze wereld | ||
| gateway | zondag 14 december 2008 @ 00:41 | |
| snap het nog niet helemaal, behalve dat het van 113 regels naar 59 is gegaan....... wat betekenen die kleurtjes? | ||
| slacker_nl | zondag 14 december 2008 @ 00:46 | |
| Rood zijn strings, blauw zijn de variablen en functies, groen is het overige.. if/else statements, for/while-loops etc etc. Lees de php manual als je de taal wilt snappen | ||
| ManMetEenPlan | zondag 14 december 2008 @ 00:48 | |
quote:ik moest lachen, klootzak | ||
| Light | zondag 14 december 2008 @ 00:50 | |
quote:Ik pakte maar een deel van het script En die kleurtjes zijn om dingen makkelijk te kunnen herkennen... tekst is rood, reserved words en haakjes enzo zijn groen, namen van functies en variabelen zijn blauw. Dat maakt het al een stuk duidelijker dan wanneer alles zwart is. Je ziet bijvoorbeeld veel sneller of een string wel correct wordt afgesloten. | ||
| mschol | zondag 14 december 2008 @ 02:31 | |
quote:goedzo.. en nu kan je zelf zien waar het fout gaat SPOILER: kleine hint | ||
| Fleischmeister | zondag 14 december 2008 @ 04:09 | |
| Zonder escaping je invoer in een SQL query rammen is geen puik plan trouwens. | ||
| slacker_nl | zondag 14 december 2008 @ 04:37 | |
| Dat doet ie ook helemaal niet voor zo ver ik kan zien, validate_email functie niet gezien? En hij valideert username en password, dus dat zit wel goed. | ||
| Swetsenegger | zondag 14 december 2008 @ 08:08 | |
| Ik heb me bijna door het hele script geworsteld, diverse quotes teveel en te weinig, curly brackets en haakjes te weinig opgelost. En zend gaat nu over zijn nek over de ereg in de validate emial functie. Nu zijn a. mijn reguliere expressies niet het best en doe ik dat b altijd met preg en niet met ereg. dus wellicht kan een ander roepen waarom zend dit een unexpected string vind. Zal ook weer met quotes te maken hebben als ik het zo zie.
vanaf de quote na '@' | ||
| Light | zondag 14 december 2008 @ 08:36 | |
| Ik denk dat TS het beste bij het begin kan beginnen. Bij Hello world dus. | ||
| Swetsenegger | zondag 14 december 2008 @ 09:10 | |
quote:Dat is sowieso het beste advies in dit topic. | ||
| immortals | zondag 14 december 2008 @ 09:58 | |
| Hey, Bedankt dat julie er zo mee bezig zijn.. Ma kan iemand de verder opgeloste versie poste (((swetsenegger)) tyty | ||
| mschol | zondag 14 december 2008 @ 10:02 | |
quote:
zoiets? | ||
| Swetsenegger | zondag 14 december 2008 @ 10:03 | |
quote:Nee joh, die bagger heb ik ondertussen al gedelete. Ga php leren en kom dan maar eens terug. | ||
| immortals | zondag 14 december 2008 @ 10:11 | |
| Ik kan php ma ben nu met dit bezig en heb al een deel opgelost ma zie de fout niet in line 55 Ik zie niet wat die else daar verkeerd doet !! | ||
| Swetsenegger | zondag 14 december 2008 @ 10:32 | |
quote: | ||
| glasbak | zondag 14 december 2008 @ 11:35 | |
![]() | ||
| immortals | zondag 14 december 2008 @ 12:26 | |
| ??? | ||
| gateway | zondag 14 december 2008 @ 12:39 | |
als ik de reacties uit dit topic zo lees, dan lijken de fouten die jij niet snapt aardig daarop te duiden dat jij niet al te veel kaas hebt gegeten van PHP?SPOILER | ||
| Light | zondag 14 december 2008 @ 12:59 | |
quote:En wat verwacht je nou van ons? Dat wij je script gaan fixen? Kleine kans. Of wil je dat we je helpen bij het vinden van de fout? Dat hebben we al gedaan. | ||
| tazmanian | zondag 14 december 2008 @ 13:55 | |
| En laat eens een Engelse spellingcontrole er over heen lopen. YOU HAVE SUCCESFULLY REGISTERD. YOU WILL RECIVE A CONFRIMATION MAIL SOON' | ||
| Tuvai.net | dinsdag 16 december 2008 @ 20:24 | |
| Lokaliseer het probleem anders eerst eens alvorens meteen een hele lap bagger hier te posten met de boodschap "Hier, en zoeken jullie het nu maar voor me uit.". | ||
| Swetsenegger | dinsdag 16 december 2008 @ 20:25 | |
quote:Het probleem is dat hij dat niet kan | ||
| cherrycoke | dinsdag 16 december 2008 @ 21:20 | |
| haha lach me dood | ||
| Roy_T | dinsdag 16 december 2008 @ 22:04 | |
| Volgens mij is dat dé manier om de goede van de matige developers te kunnen onderscheiden: het vermogen om te debuggen en te analyseren in welk stuk code een probleem zit. | ||
| cherrycoke | dinsdag 16 december 2008 @ 22:30 | |
quote:net of jij dit wist toen jij net begon | ||
| Swetsenegger | dinsdag 16 december 2008 @ 22:31 | |
quote:Analytisch vermogen heb je... dat leer je niet. | ||
| cherrycoke | dinsdag 16 december 2008 @ 22:33 | |
quote:kijk dat is waar | ||
| Swetsenegger | dinsdag 16 december 2008 @ 22:34 | |
quote:Dus deze nog maar een keer herhalen. | ||
| Roy_T | dinsdag 16 december 2008 @ 22:35 | |
quote:Wat Swets zegt. | ||
| Light | woensdag 17 december 2008 @ 00:01 | |
quote:Maar je kunt het wel trainen. Maar dan moet er wel een basis aanwezig zijn. Wat dat betreft is het net als zingen; als je het talent niet hebt, wordt het ook nooit wat. Blijf dan maar in de badkamer zingen. | ||
| cablegunmaster | woensdag 17 december 2008 @ 23:40 | |
quote:
tip je volgende vraag stellen over sessie id ohja deed 20 min hierover [ Bericht 9% gewijzigd door cablegunmaster op 18-12-2008 00:36:26 ] | ||
| Roy_T | donderdag 18 december 2008 @ 00:24 | |
| Dubbele quotes wanneer het niet hoeft Echo en While (bijna altijd) met een Hoofdletter | ||
| mschol | donderdag 18 december 2008 @ 07:48 | |
quote:overal dubble quotes gebruiken | ||
| Tuvai.net | donderdag 18 december 2008 @ 08:15 | |
| Dubbele quotes en apostrofs gebruiken is geen kwestie van voorkeur, het heeft ook daadwerkelijke functie. | ||
| Swetsenegger | donderdag 18 december 2008 @ 09:38 | |
| Inderdaad, doordat alles tussen dubbele quotes geparsed wordt en de php engine dus moet controleren of er wat te parsen tussenstaat zijn dubbele quotes zwaarder. Als je je strings buiten quotes plaatst kan je dus beter enkele quotes gebruiken omdat dat sneller is | ||
| Roy_T | donderdag 18 december 2008 @ 11:04 | |
quote: | ||
| slacker_nl | donderdag 18 december 2008 @ 14:13 | |
quote:De verschillen zijn minimaal:
$ php x.php 0.0282740592957 0.0281701087952 $ php x.php 0.0286450386047 0.0287790298462 $ php x.php 0.0283260345459 0.0276091098785 $ php x.php 0.0281851291656 0.0287621021271 $ php x.php 0.0285470485687 0.0285029411316 $ php x.php 0.0280871391296 0.0313808917999 $ php x.php 0.0276761054993 0.0280091762543 $ php x.php 0.027186870575 0.0272030830383 Mijn punt is meer dat het echt geen donder uitmaakt of je nou " of ' gebruikt voor strings, tenzij je wilt dat variablen wel of niet ge-expand worden, dan is het handig (cruciaal) om te weten welke je moet gebruiken.. Maar verder levert het weinig snelheidswinst op (zelf verlies als je naar de uitkomsten hierboven kijkt..) | ||
| Swetsenegger | donderdag 18 december 2008 @ 14:26 | |
| Ja een hello world echo is ook echt relevant als het om snelheids winst gaat... | ||
| slacker_nl | donderdag 18 december 2008 @ 14:32 | |
| Dan verander je de test val even naar dit bijv: $test="SELECT * from mysql.users where id = 0"; Dan is er nog steeds een verwaarloosbaar verschil tussen beide vormen.. |