Ga naar inhoud

PHP en MySQL gastenboek


Aanbevolen berichten

Hallo allemaal,\r\n\r\nIk ben bezig gegaan aan een gastenboek voor een website die ik bouw.\r\nNu is het mij eindelijk gelukt om het gastenboek werkende te krijgen (Alleen verstand van html, css, java en een beetje php, maar dus geen SQL). Maar ik heb nu ontdekt, dat als je 2 keer dezelfde info gebruikt, je een error krijgt. Hoe kan dit?\r\n\r\nAlvast bedankt!\r\n\r\n- Jesper
Link naar reactie
Hallo,\n\nIk snap dat het heel moeilijk is.. \nMaar de error die ik krijg is er volgens mij eentje die er zelf is ingebouwd (Ik krijg namelijk alleen \"ERROR\" te zien):\n\n[CODE]\n //check if query successful \n if($result){\n echo \"Successful\";\n echo \"
\";\n \n // link to view guestbook page\n echo \"View guestbook\";\n }\n \n else {\n echo \"ERROR\";\n }\n mysql_close();\n[/CODE]\n\nHier kunnen jullie de verschillende codes zien:\n\nVoor het toevoegen van het bericht(Addguestbook.php): [url]http://pastebin.com/wPMdTQsB[/url]\nVoor het bekijken van het gastenboek(viewguestbook.php): [url]http://pastebin.com/QbRdnGtN[/url]\nVoor het invoeren van je bericht (gastenboek.php): [url]http://pastebin.com/yJqpBQGH[/url]\n\nOok zit er nog een validation in: [url]http://pastebin.com/E5jtEh3b[/url]\n\nIk hoop dat jullie hier meer mee kunnen!\n\nAlvast bedankt voor alle moeite!\n\n- Jesper
Link naar reactie
Hmm, ik was nog even bezig met de site..\n\nIk kwam op het idee om de query opnieuw in te voeren. Dat resulteerde erin dat het probleem gefixed was.\nNu had ik 2 dezelfde berichten geplaatst. Als ik nu een \"primary key\" wilde maken gaf hij de melding dat er een duplicate entry was voor \"Name\", en dan was de entry \"Jesper\". Hetzelfde verhaal bij unieke waarde.\n\nHet probleem ik opgelost!\nAlleen heb ik deze melding en kan ik geen entries verwijderen: \"De huidige selectie bevat geen unieke kolom. Functies zoals rasterbewerkingen, checkboxen, Bewerken, Kopiëren en Verwijderen, zijn niet beschikbaar.\"\n\n- Jesper
Link naar reactie
Ik zie dat je mysql_ nog gebruikt.\r\nJe weet dat mysql_ niet meer wordt ondersteund (deprecated) en langzaamaan zal verdwijnen? Betekent dat je code foutmeldingen zal opleveren / niet meer (goed) zal werken. Kijk naar mysqli of pdo.\r\n\r\nVerder hoop ik niet dat je de echte database gegevens in je code hebt laten staan.... \r\n\r\nHeb snel gekeken naar add Guestbook. Even wat opmerkingen:\r\nWaar wordt gecontroleerd of de $_POST variabelen bestaan?\r\nWaar is de beveiliging in je query? Nu kan er van alles worden geplaatst in je gastenboek, ook kwaadwillende code (van javascript tot dumpen van je database).\r\n\r\nIn view zie ik (gecomment) staan mysql_fetch_array Waarom geen assoc? Je doet niets met de mogelijkheden die array biedt. Waarom vraag je overigens de databasevelden niet op door te ze noemen ipv *\r\n\r\nValidatie: wat als iemand javascript uit heeft staan? Daarnaast moet je altijd controleren of hetgeen verzonden is juist is. \r\n\r\n[QUOTE=JesperKlip;654138]\r\nAlleen heb ik deze melding en kan ik geen entries verwijderen: \"De huidige selectie bevat geen unieke kolom. Functies zoals rasterbewerkingen, checkboxen, Bewerken, Kopiëren en Verwijderen, zijn niet beschikbaar.\"\r\n[/QUOTE]\r\nEn waar / wanneer krijg je die melding?
Link naar reactie
[QUOTE=JesperKlip;654138]Alleen heb ik deze melding en kan ik geen entries verwijderen: \"De huidige selectie bevat geen unieke kolom. Functies zoals rasterbewerkingen, checkboxen, Bewerken, Kopiëren en Verwijderen, zijn niet beschikbaar.\"[/QUOTE]\r\n\r\nDa\'s op te lossen met een id-kolom.\r\n\r\n[CODE]ALTER TABLE `guestbook` ADD `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (`id`)[/CODE]
Link naar reactie
[QUOTE=JesperKlip;654138]\r\nAlleen heb ik deze melding en kan ik geen entries verwijderen: \"De huidige selectie bevat geen unieke kolom. Functies zoals rasterbewerkingen, checkboxen, Bewerken, Kopiëren en Verwijderen, zijn niet beschikbaar.\"\r\n[/QUOTE]\r\n\r\nAha, deze melding is een gevolg van jouw eerste fout. Wat er eigenlijk staat is dat beide regels dezelfde informatie bevatten en dat hij dus niet weet welke van die twee die moet verwijderen. Of moet aanpassen. Als je nou bij record 1 id 1 zet om hem uniek te maken werkt dat ook niet. \r\n\r\nWat je het beste kan doen is de tabel weggooien en opnieuw aanmaken, met natuurlijk autonummering zodat die Id\'s automatisch worden ingevuld en je altijd unieke records creëert.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...