Pagina 1 van 1

Nieuw veld in profiel verplicht maken...wat doe ik toch fout

Geplaatst: 01 apr 2004, 15:35
door Podium4
Hey,

heb een nieuw veld in de profielen gestopt... nu is het de bedoeling dat de gebruiker dit bij registreren VERPLICHT moet invullen...

dus het ik dit :
includes/usercp_register.php

Code: Selecteer alles

	else if ( $mode == 'register' )
	{
		if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) )
		{
			$error = TRUE;
			$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty'];
		}
	}
Veranderd in dit:

Code: Selecteer alles

	else if ( $mode == 'register' )
	{
		if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) || empty($nieuw) )
		{
			$error = TRUE;
			$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty'];
		}
	}
Dit heb ik gedaan nadat ik zeker wist dat profiel veld helemaal goed was verwerkt.. dus dat ie het deed zonder sql fouten en dergelijke...
Wat overigens wel goed werkt... het veld is niet te zien bij het wijzigen van profiel en word ook niet om gezeurd als ie leeg is ...

Ik wil dus dat ie MOET worden ingevuld bij registreren...

Dat werkt ook perfect.. alleen het geval wil dat als je WEL wat invuld er nog steeds word gezeurd dat niet alle verplichte velden zijn ingevuld... ik zit me er al een poosje op stuk te bijten en zie niet wat ik fout doe... wie kan me helpen?

Geplaatst: 01 apr 2004, 16:23
door Podium4
nog ff wat extra info erbij ... omdat het misschien nog niet duidelijk is... doe het ff in nieuw topic om de boel overzichtelijk te houden...:

veld heet user_vandaan zit in phpbb_users helemaal onderaan.. na user_block_by ... weet niet of dit goed is natuurlijk... heb in usercp_register user_vandaan steeds achter user_interests geplaatst... dus:

Code: Selecteer alles

'interests' => 'interests', 'vandaan' => 'vandaan'

Code: Selecteer alles

		$interests = stripslashes($interests);
		$vandaan = stripslashes($vandaan);
		$signature = stripslashes($signature);

Code: Selecteer alles

user_interests = '" . str_replace("\'", "''", $interests) . "', user_vandaan = '" . str_replace("\'", "''", $vandaan) . "',

Code: Selecteer alles

$sql = "INSERT INTO " . USERS_TABLE . "	(user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_vandaan,

Code: Selecteer alles

, '" . str_replace("\'", "''", $interests) . "', '$vandaan', '" . str_replace("\'", "''", $signature) . "',

Code: Selecteer alles

	$interests = stripslashes($interests);
	$vandaan = stripslashes($vandaan);
	$signature = stripslashes($signature);

Code: Selecteer alles

	$interests = $userdata['user_interests'];
	$vandaan = $userdata['user_vandaan'];

Code: Selecteer alles

$location, $occupation, $interests, $vandaan, $signature, $viewemail,

Code: Selecteer alles

	$template->assign_vars(array(
...
...
		'INTERESTS' => $interests,
   		'VANDAAN' => $vandaan,

Code: Selecteer alles

    	  	'L_VANDAAN' => $lang['vandaan'], 
Weet dus niet of het daarmee te maken heeft... dus:

heb user_vandaan gegevens in usercp_register.php steeds direct NA Interests geplakt... terwijl rijen in tabel niet onder elkaar zitten... toch geeft ie geen sql fout bij updaten... maar zegt wel dat veld leeg is terwijl ie ingevuld is...

Geplaatst: 01 apr 2004, 16:37
door Donny_nl
//edit

if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) || empty($nieuw) )

$nieuw en bij de rest gebruik je $vandaan , misschien is dat het?

Code: Selecteer alles

   else if ( $mode == 'register' ) 
   { 
      if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) || empty($vandaan) ) 
      { 
         $error = TRUE; 
         $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty']; 
      } 
   } 
ik weet natuurlijk niet hoe je het veld in je template hebt genoemd...

Geplaatst: 01 apr 2004, 16:38
door WebSiteNet
Ik denk dat je het meer bij de eerste moet zoeken. Weet je zeker dat $nieuw goed gedefineerd wordt en dat het veld in de tpl de zelfde naam heeft?

Geplaatst: 02 apr 2004, 00:21
door Podium4
beetje onhandig van mij dat ik het in de eerst post nieuw noem en daarna vandaan :oops:

Het staat zo in de usercp_register.php:

Code: Selecteer alles

   else if ( $mode == 'register' ) 
   { 
      if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) || empty($vandaan) ) 
      { 
         $error = TRUE; 
         $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty']; 
      } 
   }
als ik zoiets doe gebruik ik woord echt overal... dus ook in templates...

Geplaatst: 02 apr 2004, 10:09
door Donny_nl
Als er wordt aangegeven dat het veld leeg is, wordt er nog geen querie gemaakt naar de database toe. Dus er gaat iets mis met het verzenden van de info naar de pagina toe. Aangezien de php code die je hierboven hebt gezet volgens mij juist is, zit er misschien een typfout in je template, hoogstwaarschijnlijk bij name= in het inputveld....
dat is het enige dat ik verzinnen op dit moment.
Maar ik zal straks na de koffie nog wel ff kijken. :D

Geplaatst: 03 apr 2004, 00:10
door Podium4
Heb het probleem nu net opgelost...

Ik ben achter m'n laptop gaan zitten, msn offline weergeven gezet en ben op een kale phpBB 2.0.8 heel simpel met gezond verstand zonder mods een veld gaan toevoegen... ik heb precies bijgehouden hoe ik het heb gedaaan... en het werkt...

Voor de mensen die ook moeite hebben met het toevoegen van een veld aan het profiel, hier de oplossing: http://www.hostcubed.com/~podium4/nieuwveld.txt

Denk eraan dat als je een veld na user_interests in je tabel stopt dat ie bij voorkeur ook zo in de files gaat..

Wat doet ie precies al ik changes erin stamp?

Voegt een veld toe aan phpbb_users tabel... heet hier user_vandaan maar kan ook iets anders zijn als je dat wil... verander dan ook de veranderingen in usercp_register.php...

Bij het registreren MOET dit veld worden ingevuld... na het registreren ziet een user niks meer terug van ingevulde... in profileedit staat het hele veld niet meer dus...

Jij kunt mooi in phpbb_users zien wat al die mensen toch ingevuld hebben in dat veld... als je wil dat het veld op andere plekken is te zien dan de phpmyadmin kijk dan ff hier: http://www.phpbb.com/phpBB/viewtopic.php?t=12426

Als je vragen hebt over geplaatst stukje mod van mij ... vraag dan hier maar ff....

Belangrijk: Let goed op bij installeren.. ik ben soms nog wel eens zo slordig om dubbele comma enzo te gebruiken... ga dus niet als een gek copy en pasten... er zitten een maar comma fouten tussen die je gelijk wel opmerkt...

Geplaatst: 31 jan 2005, 16:34
door jurn
Deze link werkt niet meer :cry:

Geplaatst: 31 jan 2005, 16:53
door Paul
Dit topic is ook bijna een jaar oud :D