Hallo alemaal,

Ik heb op mijn pagina index.php de volgende code staan.

					<?php 
					if (file_exists($filename)) 
						print "Bestand is wel aanwezig!"; 
					else 
						include 'createdb.php';
					?> 


Dat werkt goed bij het opstarten krijg ik het formulier dat ik in creatdb.php geplaatst had.

<p>Vul op deze pagina de gevraagde gegevens in.</p>
<form action="createdb.php" method="post">
	<table>
		<tr class="form1"><td>
		<div class="pf">Database-naam</div></td><td><input type="text" id="Inp_Database" name="Inp_Database" tabindex="1">
		
		<tr class="form1"><td>
		<div class="pf">Gebruiker  </div></td><td><input type="text" id="Inp_User" name="Inp_User" tabindex="2">
		
		<tr class="form1"><td>
		<div class="pf">Wachtwoord </div></td><td><input type="password" id="Inp_Password" name="Inp_Password" tabindex="3">
		
		<tr class="form1"><td>
		<div class="pf">Host-adres </div></td><td><input type="text" id="Inp_Host" name="Inp_Host" tabindex="4">
		
		<tr><td>
		<input type="reset" value="Velden legen" id="Inp_reset" name="Inp_reset" alt="Alle velden legen" tabindex="5">
		</td><td>
		<input type="submit" value="Installeren" id="Inp_nstall" name="Inp_nstall" alt="Installatie starten" tabindex="6">
		<?php
			if($_POST['Inp_nstall'])
			{
			echo "<p>Er is op installeren geklikt!</P>";
			}
		?>
	</table>
</form>


Zodra ik op submit klik, verschijnt de pagina creatdb.php zonder opmaak.
Dit is niet wat ik wil. Ik wil index.php met eventueel een ander formulier. (Dat heb ik alleen nog niet)
Maar na de submit lijkt de pagina index.php er onder uit geschopt te zijn.

Wie heeft hier een oplossing voor me?

Alvast bedankt.
Frits van Leeuwen
De code is ook wel zo te vervangen, je moet dan alleen wel weer alles naar createdb.php laten verwijzen, en deze afzonderlijk een layout geven.
Frits,

Een script die een installatie uitvoert (dat is waar het om gaat volgens mij?) hoort mij inziens niet op een index.php thuis. Al zou het wel zo kunnen zijn dat deze index.php in een subdirectory staat van de documentroot. Maar dan stel ik me zo voor dat je eerst een introductie geeft en een keuze menu of een knop waarmee de gebruiker verder gaat? (zo niet dan moet alles uit createdb.php gewoon in index.php). stel de gebruiker drukt op een knop "Installeren" dan stuur je die gewoon door naar createdb.php (of geef hem een andere naam). in createdb.php maak je het formulier, controleer je de ingevoerde gegevens op onjuistheden en verwerk je dit formulier indien alles lijkt te kloppen. Nadat alles gedaan is wat gedaan moet worden stuur je de gebruiker wederom door naar een andere pagina. Dat doe je overigens altijd om dubbele POSTs te voorkomen.
Hoe bedoel je een afzondelijke layout? (Sorry hoor maar ik ben vrij nieuw in PHP)
Ik heb de volledige code van createdb.php in mijn eerste bericht staan.
Ter informatie: includeren is invoegen in een website. Je laadt de inhoud van het ene bestand in die van de andere. Met een location-header stuur je iemand door naar een andere URL.
Waar ik naar toe wil, is dat ik op de index.php check of dat mijn applicatie al is geïnstalleerd. Zo niet, dan is createdb.php het formulier dat even aan moet. om daar de benodigde gegevens in te geven. Daarvandaan wil ik een database aanmaken en opzetten.
Als dat klaar is, dan kan er mee gewerkt worden.
De hele applicatie lijkt me niet zo moeilijk, maar ik moet een begin hebben.
Dan zou ik voor location-header kiezen, welke je naar je installatiescript verwijst. Dus de tweede code van Frank.
Ariën, bedankt voor de uitleg. Ik begon dat al te vermoeden.
Dus createdb.php moet net als index.php opgebouwd worden? Ik had juist gehoopt dat ik de pagina in een andere pagina kon plaatsen en het daar te kunnen laten wisselen. Maar ik ga nu denken dat dat niet zo slim is.

[size=xsmall]Toevoeging op 26/07/2017 21:34:46:[/size]

Variabele die ik in index.php gebruik, gaan die mee naar creatdb.php?
Je bedoelt dat je de layout weer over moet nemen?

Je zou natuurlijk de inhoud van al je pagina's met includes in elkaar kunnen zetten, zoals je een header en footer hebt, waarna je die weer in je createdb.php kan invoegen.

En variabelen gaan niet mee bij een redirect. Tenzij je het met GET of SESSIONS doet, maar waar komen die variabelen dan vandaan?
Ik heb bijvoorbeeld

$programmanaam = "programma";

gebruikt. En uiteraard meer van die dingen op deze manier.

[size=xsmall]Toevoeging op 26/07/2017 21:44:58:[/size]
Je kan je bericht ook aanpassen ;-)

Waar komt die variabele vandaan? Index.php? Kan je hem niet met GET meegeven in de URL dan? En waarom heb je hem nodig in de createdb.php ?

Reageren