Foutmelding inrichten php Mysql database

Status
Niet open voor verdere reacties.

Lavendel

Gebruiker
Lid geworden
3 apr 2012
Berichten
19
Hallo allemaal,

Als nieuweling op dit forum en in PHP en MySQL materie ben ik na het doornemen van een cursus php en MySQL bij Learnit.nl en iets soortgelijks bij w3schools.com eigenlijk nog geen steek verder gekomen. Of beter gezegd loop ik al tegen het probleem op bij het inrichten van de database. Ik probeer een heel simpele database voor reactieformulieren op te zetten. Het formulier heeft maar 4 velden, t.w. naam1, email1, onderwerp1 en reactie1. Op bijgevoegd pdf-je zie je het resultaat. En daar zie je ook dat ik absoluut niet weet wat ik in de andere velden moet/kan invullen. Bij lengete/waardes dacht ik de lengte van het veld te moeten invullen. Maar wellicht moet daar iets anders komen. Kan iemand mij adviseren wat ik in de vier velden als beste kan invullen? Dus de velden Lengte/Waardes - Standaardwaarde (en wat in dat veldje daaronder? - Collatie - Attributen - Null - Index (ik neem aan dat of de naam of het emailadres als belangrijkste (Primary?) moet worden ingevuld -A_I
Natuurlijk zou een reactieformulier ook nog een datum moeten bevatten, maar eerst maar eens kijken hoe ik dit aan de praat kan krijgen. Een formulier heb ik opgesteld m.b.v. Web Form Builder van Coffeecup Software.
Bij voorbaat dank voor jullie suggesties.
 

Bijlagen

In principe kan alles "text" zijn. Lengte is voor types met een gegeven vaste waarde. Je kunt het beste een 5de kolom met "id" hebben zodat je elke entry een unieke id kan geven.

De foutmelding die je krijgt is vanwege het feit dat je primary key text is, wat niet eenvoudig is om te indexeren.
 
Hallo,
Bedankt voor je antwoord. Het is gelukt om de database aan te maken. Ik heb zoals je voorstelde alle velden op TXT gezet. Wel heb ik er een datumveld aan toegevoegd (datum1 -> type datetime) en een id-veld (id1 -> int(11) (not null, Unique).
Ik ga ervan uit dat dit moet volstaan, of zijn er nog zaken die ik over het hoofd heb gezien?
 
Je kunt ID op autonumber zetten dan hoef je die zelfs niet mee te geven bij creatie. Voor de rest is dit redelijk standaard. Hoewel er veel (terecht) op gehamerd wordt is het precies afstellen van je tables bij kleinschalig gebruik niet zo heel kritisch.
 
Hallo wampier,

Ik ga dat direct bekijken want ik heb niets op autonumber gezet. Wel kan ik het formulier vanaf de website invullen en na een druk op verzenden wordt het bericht verzonden, maar krijg ik ook de melding bovenaan de pagina:

Your form could not be submitted for the following reason(s):
Failed to store the data.

Desondanks ontvangt de invuller en ik een bericht. Ik heb ook gecontroleerd of de wachtwoorden e.d. voor de database wel juist zijn. Kan het misschien komen omdat ik in het formulier nog niet de velden datum1 en id1 heb opgenomen? Zo ja hoe kan ik die als hidden field opnemen en automatisch laten invullen?
 
Ja beide velden kunnen (afhankelijk van je database overigens) automatisch worden opgenomen. ID kan via autoincrement, als er niets wordt meegegeven wordt dan automatisch het volgende beschikbare nummer genomen. In het geval van de datum kun je vaak instellen dat "now" gebruikt moet worden indien niet meegegeven.

Indien de waarden niet via automatisch invullen zijn ingesteld in de tabel zal het invoegen inderdaag fout gaan, daar de tabel verwacht deze informatie te krijgen.
 
Ik heb de datum eruit verwijderd. Toch blijft de fout "Failed to store the data" hardnekkig bestaan. In het invulformulier op de site heb ik trouwens geen hidden id1 veld opgenomen. Kan daar soms het probleem zitten. Zo niet dan moet ik maar eens contact opnemen met mijn provider, wellicht kunnen zij zien wat er mis gaat. Bijgevoegd een plaatje van de database zoals ik hem nu in My PhpAdmin heb.overzicht_contact1.png
 
Kun je misschien ook je php stukje plakken om te kijken of daar mogelijk een foutje in zit? Zo te zien staat auto-increment nu aan op ID dus dat zou in principe niet meer uit moeten maken.
 
Omdat ik geen kennis van php bezit heb ik mijn contactformulier gemaakt mbv Coffeecup Webform builder. Deze maakt de nodige bestanden aan. Maar omdat het er zoveel zijn, weet ik niet welke ik je moet toezenden. Van de meest waarschijnlijke heb ik bijgevoegde screendump gemaakt. Mocht je meer informatie nodig hebben mail mij dan even buiten deze lijst om via : ha25601@concepts.nlContactform1.jpg
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan