Ik doe een controle of een bepaald record voorkomt.
Als het resultaat 0 is gaat hij verder met de regels na het anker "verder:"

Als het resultaat >0 is, wil het zeggen dat het record bestaat.
Ik echo dan de regel dat record al aanwezig, en dmv 2 buttons wil ik dat er een keus gemaakt wordt.
Bij de keuze "niet invoeren" gaat hij terug naar het vorig scherm, dit werkt goed.
Bij de keuze "zeker weten, en toch invoeren" wil ik dus eigenlijk uit deze if springen en verdergaan met het anker "verder:".

ik krijg dit echter niet voor elkaar... iemand een idee hoe we dit simpel op kunnen lossen ?

Kor


if (mysqli_num_rows($resultaat) > 0)
{


echo "Deze invoer is identiek aan een record die al aanwezig is.
<br><br><a href=javascript:history.back(1)><button>Niet invoeren, terug naar invoerscherm</button>
<br><br><goto verder><button>Zeker weten en toch invoeren ?</button></a>";

exit;


}

verder:
Verder: is geen onderdeel van PHP.
nee dat klopt... :-)

ik geef alleen aan dat mijn PHP code daar "verder" gaat...met het updaten van het record.
ik wil dus dat hij door een druk op die button verder gaat met die regels...
Je kunt niet na een if dmv een knop in de browser doorgaan met een phpscript op de server.
Na exit is het script gestopt.
Er zijn daarna geen regels om door te gaan.
Je moet de ontvangen $_GET of $_POST input opnieuw in een FORM zetten en met de doorgaanknop (=submit) versturen naar een php bestand dat geen controle op een dubbel record doet.
Op die manier.
Je kan toch verwijzen naar een link met script.php?action=insert o.i.d.

En je controleert dan buiten je script op het bestaan van die $_GET-waarde en of deze 'insert' heet.
Maar als het record al in de database zit, dan is dit toch al ingevoerd? Of heeft deze nog een soort van "bevestigd" veld ofzo?
klopt...als hij nog niet in de database zit wordt hij gewoon ingevoerd.
Zit hij echter er al in dan krijgt de gebruiker de vraag of het juist is om hem dubbel in te voeren of niet.

maar ik denk dat ik er wel uit kom...ik roep inderdaad een 2e php file aan waar geen controle op zit.
dan ben ik er ook

dank
Waarom zou je twee verschillende php-files willen hebben? Je kan met verschillende urls in eenzelfde PHP-file toch bereiken wat je wilt?

Check.php
Check.php?action=insert
Het toevoegen van iets dat al bestaat op basis van een arbitraire keuze van buitenaf is sowieso meestal geen goed idee.

Probeer eerst te bepalen waarom je dubbelingen hebt en vervolgens of je die dan geen speciale behandeling moet geven.
Op zich heb je wel gelijk, maar in dit geval is het niet erg dat het er dubbel in staat. Het gaat om het loggen van een vlucht met een modelvliegtuig.
Het gaat er om dat ze het loggen, en als hij er 2 keer in staat dan heeft hij gewoon 2 vluchten gemaakt.
Dat is dus niet erg.
Het gaat erom dat het systeem even controleert of de bewuste vlucht er al in staat, ter controle.
De vlieger kan dan beslissen om terug te gaan, om de vlucht toch in te voeren.

Maar het werkt...misschien niet zoals een Professional het zou doen, maar voor een php amateur is het prima Zo :-)

Dank voor jullie meedenken...

Reageren