--
-- Table structure for table `account`
--
CREATE TABLE IF NOT EXISTS `account` (
`u_id` int(11) NOT NULL AUTO_INCREMENT,
`u_naam` varchar(250) NOT NULL,
`avatar` varchar(250) NOT NULL,
PRIMARY KEY (`u_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
--
-- Table structure for table `tickets`
--
CREATE TABLE IF NOT EXISTS `tickets` (
`token` CHAR(40) NOT NULL,
`ticket_naam` varchar(250) NOT NULL,
`ticket_datum` date NOT NULL,
`plaats` varchar(250) NOT NULL,
`prijs` int(2) NOT NULL,
`betaallink` varchar(250) NOT NULL,
`u_id` int(11) NOT NULL,
PRIMARY KEY (`token`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
?php
// retrieve token
if (isset($_GET["listing"]) && preg_match('/^[0-9A-F]{40}$/i', $_GET["listing"])) {
$token = $_GET["listing"];
}
else {
throw new Exception("niks gevonden");
}
// verify token
$query = $db->prepare("SELECT u_id, ticket_naam FROM tickets INNER JOIN account ON tickets.ticket_id = account.u_id WHERE token = ?");
$query->execute(array($token));
$row = $query->fetch(PDO::FETCH_ASSOC);
$query->closeCursor();
if ($row) {
extract($row);
}
else {
throw new Exception("niks gevonden");
}
$row["u_naam"];
$row["ticket_naam"];
?>
wat nou het idee moet wezen zodra ik 1 aanmaak wil ik dat die een aparte token code krijgt met link zodat je van de table users informatie leest en de tickets van die user die code kunnen mensen dan sturen zodat ze de pagina kunnen zien iemand tips/ of beetje op weg kan helpen
aah als ik de query alleen ticket uitvoert krijg ik als volgende
Error: INSERT INTO tickets (token, u_naam, ticket_naam) VALUES ('b1gzhglw48miqlsqlzvaretho4iyd7ephimpotdclkzqpmtbb55l14bkl39rbg4a','tttt',tttt');
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '')' at line 2
heb nu mijn lees script,
alleen hoe kan ik het zo doen
hij zoekt de token in get,
de sql zit in tickets ook u_naam die naam wordt daar ook opgeslagen
nou wil ik de data aflezen van token en die hoort bij de naam de gegevens van account afleest van de table tickets.
Allereerst omdat escaping dan nogal lastig kan worden.
Maar ook: het is waarschijnlijk een verkeerde aanpak voor hetgeen je wilt bereiken. Waarschijnlijk is het de bedoeling dat je een aantal queries in één ruk uitvoert, of in zijn geheel niet, correct? Daarvoor zijn database transacties. Een multi_query kan halverwege op zijn bek gaan en dan zit je database vol met half gebakken troep, dat wil je echt niet in een administratief systeem.
Daarnaast, deze "discussie", of liever gezegd, dit schaakspel, duurt nou al (wéér, want dit is niet de eerste keer) vier pagina's, en je bent nog niet veel verder gekomen.
Zoals ik al eerder aangaf, pak dingen eens stapsgewijs aan. En doe het eens wat rustiger aan. Je berichten en reacties worden in een snelvuurtempo hier neergeplempt. Je ben meestal al 3 reacties verder voordat ik een reactie heb getypt. Je komt nogal "hyper" over.
Met stapsgewijs bedoel ik het volgende: dus ok, je moet informatie je database inrammen, maar dit begint met een formulier. Maak eerst dit formulier. Dan heb je een verwerking met validatie. Dump de data van het formulier eens naar je scherm voordat je het de database in wilt sturen. Maak een bijbehorende validatie en programmeer een beslismoment: klopt deze informatie en kan deze zo worden weggeschreven of moet deze door de gebruiker gecorrigeerd worden? Schrijf dan je query. Dump de uiteindelijke query eens naar je scherm. Ziet alles er goed uit? Voer de query of queries dan ook uit. Geen foutmeldingen, voeg dan een redirect toe naar een overzichts- of bedankpagina of de loginpagina of wat dan ook.
Dit kun je allemaal opdelen in behapbare stukjes maar jij probeert echt alles tegelijkertijd te doen en aan het uiteinde komt er alleen maar stront uit. Tel eens tot 10 en vraag je dan af: wat werkt al, en wat is de eerstvolgende stap die ik werkend moet krijgen in dit geheel. En ga dan enkel aan de slag met die eerstvolgende stap en niets anders. Als je dit gewoon consequent doet dan ben je op een gegeven moment klaar en werkt alles. Nu vlieg je van hot naar her met als resultaat dat:
- er geen enkele structuur zit in je werkwijze
- er geen enkele structuur zit in je code
- er niets werkt
Nog voordat je wat dan ook doet zul je eerst eens je eigen aanpak onder de loep moeten nemen. Breng hier structuur in aan want wat je nu aan het doen bent is pure chaos.
De invoer script werkt nu wel,
en ben nu bezig met het lees script.
alleen weet ik niet zo goed hoe ik het aan moet pakken met de if get
zodat die ?listing=534525354353553 die token table afleest van de gebruiker en die afleest van de gebruiker info.
Je neemt $_GET['listing'] over als deze niet bestaat? Let op het uitroepteken, er staat zelfs in commentaar "if NOT isset", dan is er toch geen informatie om over te nemen?
Je voert een while uit op een query die precies één resultaat zou moeten hebben? Ik neem aan dat tokens uniek moeten zijn?
Enne, een usernaam om de informatie aan elkaar te hangen? Wat als deze gebruiker zijn profielnaam verandert? Waarom geen user id? En waarom niet in één query?