aanmeldformulier met username en password

Status
Niet open voor verdere reacties.
Vooraf; als je bezig bent om een shop te bouwen die ook echt binnenkort in productie moet, installeer dan liever osCommerce of Magento. Met alle respect, je hebt absoluut niet genoeg kennis van PHP om een winkel te gaan bouwen, professionals doen er al maanden over om dat goed te doen en als jij nog in het stadium zit waarin je niet weet wat je moet doen bij een undefined index, dan.... afijn, met alle respect, zelfs de code van Ciske zit vol fouten die in een productieomgeving tot serieuze problemen zullen leiden, zie b.v. de sanitize functie die htmlentities gebruikt waardoor ampersands in email adressen worden omgezet naar '&'. Ampersands zijn toegestaan in emails, en zelfs als ze dat niet waren dan staat in '&' nog steeds een ampersand. En voor wat het escapen betreft... foei... gewoon: foei. :-)

Terug naar je originele vraag:
Een undefined index error krijg je als je in een array naar een element wijst wat niet bestaat.
Voordat je $_POST["verzendbutton"] kunt gaan gebruiken moet je eerst kijken of hij uberhaupt bestaat, met isset(). En dat is meteen het volgende punt;
je moet fouten controleren en afvangen. Doe je dat niet, dan kun je nooit weten of je script doet wat het moet doen, en belangrijker; je merkt nooit dat het niet doet wat het moet doen.

Controleren of je button mee is gestuurd doe je dus zo:

if (isset($_POST["verzendbutton"]))
{
// Het element 'verzendbutton' bestaat in $_POST;
$verzendbutton = $_POST["verzendbutton"];
}
else
{
// Het element 'verzendbutton' ontbreekt, doe wat er gedaan moet worden wanneer dit het geval is.
}

Gewoonlijk zou je ook eerst kijken of er uberhaupt een POST is gedaan, door te kijken naar $_SERVER['REQUEST_METHOD'], daar staat 'POST' in als er een formulier is verstuurd via de POST methode.

Ik weet niet hoe groot je script is, als je het een beetje handig opdeelt in functies of classen dan kun je de relevante delen vast wel hier posten.
 
snap probleeem al hij zit bij one.com en daar maag je maar een database naam hebben
anders zou hij moete werken met een preflex hoofftdatabe_nieuwedatabase
hij zegt dat hij alles heeft zitten te verandre in de bestanden
 
Dat krijg je ervan als je mensen die amper PHP kennen een paar flarden van code geeft :-)

Afijn, werk dit maar uit via de chat, dan hoef ik me er niet druk om te maken.
 
@PgVincent: Ik ben inderdaad een beginner wat PHP betreft.
Ik volg het handboek PHP 5.3 van Arjan Burger. De code die ik heel in het begin geplaatst heb komt letterlijk uit dit boek.
Ik vermoed dat je wel mag vertrouwen op handboeken waarin je een code leert. Blijkbaar niet dus.
 
Ik vermoed dat je wel mag vertrouwen op handboeken waarin je een code leert. Blijkbaar niet dus.

De programmeervoorbeelden die ze in lesboeken zetten zijn gemaakt om je de principes te leren, als ze daarin alles zouden zetten wat je in de praktijk nodig hebt dan wordt de code zo lang en ingewikkeld dat je het als leerling niet meer kunt begrijpen. En de principes kloppen ook wel, je moet in $_POST kijken naar de form elementen, maar in de praktijk wil je ook dolgraag weten of het formulier wel compleet is en of het wel via POST wordt veerstuurd. Immers; als het formulier niet goed op de site staat en er mist een veldje zoals het email veld, dan kun je simpelweg nooit meer met die mensen in contact komen. De enige manieren om te weten of je formulier compleet is is om het formulier op te roepen en te kijken of je het veld ziet, of doordat er een duidelijke foutmelding komt op het moment dat het formulier wordt verstuurd (want daar krijg je een mailtje van en je gebruikers gaan vanzelf klagen).
 
Als ik de database nu lr noem of ik noem deze wat anders. Uiteindelijk maakt dit toch niet veel uit, als ik maar overal verwijs naar de juiste databasenaam?
 
De databasenaam die je invult (en in een goedgeprogrammeerd stuk code hoeft dat slechts op één plek) moet een bestaande database zijn, je kunt niet zelf een naam verzinnen.
 
snap probleeem al hij zit bij one.com en daar maag je maar een database naam hebben
anders zou hij moete werken met een preflex hoofftdatabe_nieuwedatabase
hij zegt dat hij alles heeft zitten te verandre in de bestanden

Die database naam veranderen is het enige wat ik heb zitten veranderen...

Wat is het probleem dat dit gehost wordt bij One?
 
Er is geen probleem met one.com, alleen zit je daar volgens Ciske vast aan maximaal één database.
 
Dat is inderdaad zo, maar je kunt wel oneindig tabellen aanmaken. Dus zie ik daar geen probleem in. Er is wel geen InnoDB...
 
Geen innodb? Dat is apart, wat bieden ze daarvoor in de plaats? Want als ze alleen MyISAM bieden dan zijn het prutsers van de bovenste plank.
 
Bi-zar, InnoDB is de enige betrouwbare storage engine en die gebruiken ze niet. Die hosting is gratis zeker? ;-)
 
Opgelost dankzij de grote hulp van Ciske de rat!

Dank u Ciske!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan