Ik heb snel een commentssysteem ontworpen voor een website. Maar ik zit met een probleempje. Iedereen kan zijn eigen naam tikken in het 'name' field, dus heb ik snel iets geschreven zodat enkel de admins hun naam kunnen intikken: ze moeten een soort paswoord ingeven in het 'email' field. Dit alles is gelukt, maar als je bv " Cedric" ingeeft dan kan je het omzeilen. Dus gebruik ik de functie trim. Alleen lukt het niet erg goed... Het is ook de eerste keer dat ik die functie gebruik...

<?php
if(!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['comments']))
		{
			trim($_POST['name']);
			trim($_POST['email']);
			if($_POST['name'] == "ShangTsung" or $_POST['name'] == "ShangTsung1" or $_POST['name'] == "shangtsung" or $_POST['name'] == "shangtsung1" or $_POST['name'] == "Shangtsung" or $_POST['name'] == "Shangtsung1" or $_POST['name'] == "shangTsung" or $_POST['name'] == "shangTsung1" or $_POST['name'] == "Shang" or $_POST['name'] == "Shang1" or $_POST['name'] == "Cedric" or $_POST['name'] == "cedric" or $_POST['name'] == "Dizzy" or $_POST['name'] == "dizzy" or $_POST['name'] == "Joery" or $_POST['name'] == "joery"  or $_POST['name'] == "Dark Titan" or $_POST['name'] == "dark titan" or $_POST['name'] == "Dark titan" or $_POST['name'] == "dark Titan")
			{
				if($_POST['email'] != "pass here")
				{
					$_POST['name'] = "*Staff-Imitator*";
				}
			}
?>

[edit]
PHP-Tags toegevoegd voor color-coding.
[/edit]
verander trim eens in md5 en echo dan eens een van de posts op je scherm wat zie je dan? Waarschijnlijk zie je gewoon nog steeds "naam" en niet de hash.

Dat is hier dus ook met trim... Stop je post in een variabele.
zoiets?

<?php
$name = trim($_POST['name']);
$email = trim($_POST['email']);
?>


Of moet ik van de post variable eerst een var maken en dan trimmen???
[edit]
Laat maar, hartelijk bedankt, het werkt!
[/edit]
Zo ja en dan gebruik je nu $name en $email

Je kan ook elke post in je if vervangen met trim($_POST['name']) maar dan word je ifje erg lang en zo verkom je dat dus:)

[edit]Graag gedaan hoor:)[/edit]
@cedric..
is dit niet makkelijker:

<?php
if(!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['comments']))
{
$name = trim(strtolower($_POST['name']));
$email = trim(strtolower($_POST['email']));
if($name == "shangtsung"
or $name == "shangtsung1"
or $name == "shang"
or $name == "shang1"
or $name == "cedric"
or $name == "dizzy"
or $name == "joery"
or $name == "dark titan"){
if($email != "pass here"){
$name = "*Staff-Imitator*";
}
}
?>


met [php]strtolower()[/php] bespaar je jezelf een hoop typwerk in die OR,OR,OR... nu wordt alles vanzelf naar kleine letters gezet en al die verschillende manier van typen doen er niet meer toe;)
Idd, kheb dit op 2 min snel gemaakt, maar het is altijd leuker als je naam begint met een hoofdletter.

@Marvin Dit is een van mijn grootste php problemen. Mijn php-kennis is al 'redelijk' maar ik doe altijd veel te veel moeite om iets te bereiken, ik vind nooit de kortste manier :(
@cedric.. dat maakt ook niets uit daar is phphulp toch voor haha... dit zijn gewoon kleine makkelijke functies die je kunt onthouden.. waar je vaak wat aan zult hebben.. en trouwens.. eigenlijk maakt het helemaal niet uit hoe je het doet.. als hij doet wat jij wilt ben je er toch? maar altijd makkelijk om het kort te houden.. als je script 10.000x zo uitgebreid en langer word en alles staat op de langst mogelijke manier dan kan het wat langzamer worden..

maar in relatief kleine stukjes code heeft dit geen waarneembare effecten..


een weetje

[php]strtoupper()[/php]
is het tegenovergestelde en die maakt dus overal hoofdletters van..
Cedric schreef op 15.04.2007 11:05
maar het is altijd leuker als je naam begint met een hoofdletter.

Kijk dan ook een naar [php]ucfirst()[/php].
Hartelijk bedankt mensen, ik script nu toch al een hele tijd en ik denk dat ik nu voor het eerst eens de functielijst van php.net ga doornemen, dan krijgen jullie al die domme vragen niet :)

100e post :)
@SanThe..
moet hij serieus alle functies gaan doornemen haha? dat heb ik nog nooit gedaan.. volgens mij is een betere manier de functies tegenkomen in andermans scripts op phphulp bijvoorbeeld en DAN opzoeken op php.net wat die functie eigenlijk doet.. zo ben ik een hoop te weten gekomen..

Reageren