doorgaan vanuit een if functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kor Mooibroek

Kor Mooibroek

12/08/2020 13:40:31
Quote Anchor link
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:
 
PHP hulp

PHP hulp

21/09/2020 17:43:12
 
- Ariën -
Beheerder

- Ariën -

12/08/2020 13:56:10
Quote Anchor link
Verder: is geen onderdeel van PHP.
 
Kor Mooibroek

Kor Mooibroek

12/08/2020 14:02:28
Quote Anchor link
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...
 
Adoptive Solution

Adoptive Solution

12/08/2020 14:42:47
Quote Anchor link
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.
 
- Ariën -
Beheerder

- Ariën -

12/08/2020 14:44:13
Quote Anchor link
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.
 
Thomas van den Heuvel

Thomas van den Heuvel

12/08/2020 15:56:23
Quote Anchor link
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?
 
Kor Mooibroek

Kor Mooibroek

12/08/2020 16:07:58
Quote Anchor link
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
 
- Ariën -
Beheerder

- Ariën -

12/08/2020 16:10:57
Quote Anchor link
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
 
Ward van der Put
Moderator

Ward van der Put

12/08/2020 19:24:03
Quote Anchor link
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.
 
Kor Mooibroek

Kor Mooibroek

12/08/2020 20:36:36
Quote Anchor link
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...
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.