Variabele vervangen.. (Opgelost)
WimJ - 25/05/2008 12:18
Grafische gevorderde
Beste Leden,
Ik heb hier een vraagje..
Ben bezig met iets en ben nu een installer aan het maken..
Nu is mijn vraag hoe kan ik er voor zorgen dat ik als ik mijn forms invul (formulier).
De waarden die ik invoer worden weggeschreven op de plaatsen in een bepaald bestand..
Let op
Ik heb dus de volgende file.
Mysql_Connect.php die maakt de verbinding met de DB.
<?php
// MySQL Connectie: Constanten includen
require_once( 'mysql_connect_constants.inc.php' ) ;
// MySQL Connectie: Database verbinding tot stand brengen
$verbinding = mysql_connect ( MYSQL_SERVER , MYSQL_GEBRUIKERSNAAM , MYSQL_WACHTWOORD )
or die (" De verbinding kon niet tot stand worden gebracht " . mysql_error () ) ;
?>
<?php
// MySQL Connectie: Constanten includen
require_once ( 'mysql_connect_constants.inc.php' ) ;
// MySQL Connectie: Database verbinding tot stand brengen
$verbinding = mysql_connect ( MYSQL_SERVER
, MYSQL_GEBRUIKERSNAAM
, MYSQL_WACHTWOORD
) or
die ( " De verbinding kon niet tot stand worden gebracht " . mysql_error ( ) ) ;
?>
Dan heb ik de volgende file mysql_connect_constants.inc.php
Waar dat de variabele gedefinieerd zijn..
<?php
// Constanten voor de MySQL verbinding met de server.
// Deze worden ingevuld door de gegevens die worden ingevoerd tijdens de installatie procedure
define ( " MYSQL_SERVER " , " $host " ) ;
define ( " MYSQL_GEBRUIKERSNAAM " , " $gebruiker " ) ;
define ( " MYSQL_WACHTWOORD " , " $wachtwoord " ) ;
?>
<?php
// Constanten voor de MySQL verbinding met de server.
// Deze worden ingevuld door de gegevens die worden ingevoerd tijdens de installatie procedure
define ( " MYSQL_SERVER " , " $host " ) ; define ( " MYSQL_GEBRUIKERSNAAM " , " $gebruiker " ) ; define ( " MYSQL_WACHTWOORD " , " $wachtwoord " ) ;
?>
Je ziet dat ik achter elks een $variabele heb staan hé..
Hoe kan ik er voor zorgen dat deze worden ingevuld door het geen dat ik invoer in mijn formulier ?
19 antwoorden
Gesponsorde links
WimJ - 25/05/2008 12:30
Grafische gevorderde
Ja ok maar zoals ik het wil gaat het niet of ?
Want ik wil het eingelijk hebben zoals ik het hier beschrijf..
WimJ - 25/05/2008 12:33
Grafische gevorderde
alee jah komt er gewoon op neer dat het geen dat ik invul in me formulier en dan post, dat deze dan worden weggeschreven naar die variablen..
Martijn - 25/05/2008 12:39 (laatste wijziging 25/05/2008 12:40)
Crew PHP
<?php
$host=$_POST['host'];
$gebruiker =$_POST['gebruiker '];
$wachtwoord =$_POST['wachtwoord '];
// Constanten voor de MySQL verbinding met de server.
// Deze worden ingevuld door de gegevens die worden ingevoerd tijdens de installatie procedure
define ( " MYSQL_SERVER " , " $host " ) ;
define ( " MYSQL_GEBRUIKERSNAAM " , " $gebruiker " ) ;
define ( " MYSQL_WACHTWOORD " , " $wachtwoord " ) ;
?>
<?php
$host = $_POST [ 'host' ] ;
$gebruiker = $_POST [ 'gebruiker ' ] ;
$wachtwoord = $_POST [ 'wachtwoord ' ] ;
// Constanten voor de MySQL verbinding met de server.
// Deze worden ingevuld door de gegevens die worden ingevoerd tijdens de installatie procedure
define ( " MYSQL_SERVER " , " $host " ) ; define ( " MYSQL_GEBRUIKERSNAAM " , " $gebruiker " ) ; define ( " MYSQL_WACHTWOORD " , " $wachtwoord " ) ;
?>
dat?
edit: dit is natuurlijk zonder anti sql-injection enzo
WimJ - 25/05/2008 12:54
Grafische gevorderde
Dus als ik nu mijn formulier maak en dit gebruik van jou deviour soul, ..
Dan wordt dat weg geschreven in mijn file ?
Martijn - 25/05/2008 13:01 (laatste wijziging 25/05/2008 13:01)
Crew PHP
je wilt dat het ene bestand dat in het andere bestand schrijft?
of wil je dat als je op de submit de waardes worden ingevuld via een sessie ofzo?
WimJ - 25/05/2008 13:05 (laatste wijziging 25/05/2008 13:06)
Grafische gevorderde
Dus ik ga het proberen zo goed mogelijk uit te leggen..
Ik heb een script
En nu wil ik een installer bouwen (ben ik mee bezig)
En ik heb dus een accordeon spry set gemaakt voor het goed te laten uitzien..
En op een moment krijg je dan een formulier.
Waar je de gegevens van je db moet invullen..
En dan moet je op verzenden klikken..
Mijn vraag is dus hoe ik het moet doen dat ik als ik op verzenden klik.
Die gegevens op de plaats van die variabele komen..
Dus mijn formulier ziet er zo uit..
host: inputveld
gebruiker: inputveld
wachtwoord: inputveld
Button: Versturen
En dat dan die gegevens worden verstuurd en geschreven in die file mysql_connect_constants.inc.php
Nu dus de vraag is hoe doe ik dit en welke waarde moet ik aan mijn button geven dan dat hij die actie onderneemt ?
Alee jah maakt eingelijk niet uit hoe, wegschrijven of met sessie of met weet ik veel wat
..
Martijn - 25/05/2008 13:08 (laatste wijziging 25/05/2008 13:13)
Crew PHP
<form method="post">
<input type="text" name="gebruiker" />
<input type="submit" name="submitje" value="sla op!" />
</form>
<input type = "text" name = "gebruiker" / > <input type = "submit" name = "submitje" value = "sla op!" / >
Voor in een sessie, die kun je laten verlopen door bv $_SESSION['geldig']=-time()+60*30; te maken (30 min)
if(isset($_POST['submitje'])){
$_SESSION['gebruiker']=$_POST['gebruiker']
}
if ( isset ( $_POST [ 'submitje' ] ) ) { $_SESSION [ 'gebruiker' ] = $_POST [ 'gebruiker' ]
}
<?php
if($_SESSION['geldig']>time()){
define ( " MYSQL_GEBRUIKERSNAAM " , $_SESSION['gebruiker']) ;
}
else{ echo"Tijd op";}
?>
<?php
if ( $_SESSION [ 'geldig' ] > time( ) ) {
define ( " MYSQL_GEBRUIKERSNAAM " , $_SESSION [ 'gebruiker' ] ) ; }
?>
edit: en hieronder heb je de wegschrijf manier die ik zojuist wou gaan typen
Stijn - 25/05/2008 13:33
PHP expert
coolcoke schreef:
De waarden die ik invoer worden weggeschreven op de plaatsen in een bepaald bestand.
Werk met regulaire expressies en PHP.net: preg_replace . Je haalt de inhoud van het bestand op in een variabele. Doet de replace bewerkingen en slaat de wijzigingen op in het bestand.
WimJ - 25/05/2008 16:09 (laatste wijziging 25/05/2008 16:20)
Grafische gevorderde
Sandernerd schreef:
[..code..]
zoiets?
Dus die zet ik dan in de file met het formulier of ?
Zoja in die file met het formulier
Welk moet ik dan instellen voor de submit button
EDIT: Sander, die wist me mysql_connect_constants.inc.php file..
Als ik het zo doe..
WimJ - 25/05/2008 17:04 (laatste wijziging 25/05/2008 17:04)
Grafische gevorderde
Sandernerd schreef:
Dan werwerk je de standaard inhoud van je config file in $file.
Ben niet mee..
Ik heb gewoon jou code bovenaan de page gezet met daaronder gevolg door me HTML formulier..
EDIT: Code zal ik toevoegen..
<?php
$host=$_POST['host'];
$user=$_POST['gebruiker'];
$password=$_POST['wachtwoord'];
$file=$host."\n".$gebruiker."\n".$wachtwoord;
file_put_contents("../includes/mysql_connect_constants.inc.php",$file);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Installatie: Creative Tutorial</title>
<script src="SpryAssets/SpryAccordion.js" type="text/javascript"></script>
<link href="SpryAssets/SpryAccordion.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="Accordion1" class="Accordion" tabindex="0">
<div class="AccordionPanel">
<div class="AccordionPanelTab"><b>Welkom bij de installatie procdure van: Creative Tutorial</b></div>
<div class="AccordionPanelContent">Content 1</div>
</div>
<div class="AccordionPanel">
<div class="AccordionPanelTab">Label 2</div>
<div class="AccordionPanelContent"><form method="post" name="install" lang="nl">
<input name="host" type="text" value="localhost" size="25" maxlength="55" /></form><br />
<input name="gebruiker" type="text" value="gebruikersnaam" size="25" maxlength="75" /><br />
<input name="wachtwoord" type="text" value="wachtwoord" size="25" maxlength="55" /><br />
<input name="versturen" type="submit" value="Verzenden" /><br />
</form>
</div>
</div>
</div>
<script type="text/javascript">
<!--
var Accordion1 = new Spry.Widget.Accordion("Accordion1");
//-->
</script>
</body>
</html>
<?php
$host = $_POST [ 'host' ] ;
$user = $_POST [ 'gebruiker' ] ;
$password = $_POST [ 'wachtwoord' ] ;
$file = $host . "\n " . $gebruiker . "\n " . $wachtwoord ;
file_put_contents( "../includes/mysql_connect_constants.inc.php" , $file ) ;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Installatie: Creative Tutorial</title>
<script src="SpryAssets/SpryAccordion.js" type="text/javascript"></script>
<link href="SpryAssets/SpryAccordion.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="Accordion1" class="Accordion" tabindex="0">
<div class="AccordionPanel">
<div class="AccordionPanelTab"><b>Welkom bij de installatie procdure van: Creative Tutorial</b></div>
<div class="AccordionPanelContent">Content 1</div>
</div>
<div class="AccordionPanel">
<div class="AccordionPanelTab">Label 2</div>
<div class="AccordionPanelContent"><form method="post" name="install" lang="nl">
<input name="host" type="text" value="localhost" size="25" maxlength="55" /></form><br />
<input name="gebruiker" type="text" value="gebruikersnaam" size="25" maxlength="75" /><br />
<input name="wachtwoord" type="text" value="wachtwoord" size="25" maxlength="55" /><br />
<input name="versturen" type="submit" value="Verzenden" /><br />
</form>
</div>
</div>
</div>
<script type="text/javascript">
<!--
var Accordion1 = new Spry.Widget.Accordion("Accordion1");
//-->
</script>
</body>
</html>
WimJ - 25/05/2008 17:08
Grafische gevorderde
<?php
// MySQL Connect: De constanten voor het tot stand brengen van de database verbinding
// Deze worden hier automatisch door het installatie script ingevoerd en opgeslagen.
define ( " MYSQL_SERVER " , " $host " ) ;
define ( " MYSQL_GEBRUIKERSNAAM " , " $gebruiker " ) ;
define ( " MYSQL_WACHTWOORD " , " $wachtwoord " ) ;
?>
<?php
// MySQL Connect: De constanten voor het tot stand brengen van de database verbinding
// Deze worden hier automatisch door het installatie script ingevoerd en opgeslagen.
define ( " MYSQL_SERVER " , " $host " ) ; define ( " MYSQL_GEBRUIKERSNAAM " , " $gebruiker " ) ; define ( " MYSQL_WACHTWOORD " , " $wachtwoord " ) ;
?>
WimJ - 25/05/2008 17:22
Grafische gevorderde
huh lol
welke moet ik nu eingelijk doen
..
dat ding van jou uit me formulier sectie halen ofwat of wat moet ik dan toevoegen aan die forom dat hij dat hier post allee ja..
nu wordt het al moeilijk..
Martijn - 25/05/2008 17:24
Crew PHP
wat je namelijk wilt doen, is dat als iemand wat hebt ingevuld, dat word verwerkt toch? Dus zet je op de pagina waar je formulier staat dat ie dit moet gaan doen als je op het knoppie drukt
WimJ - 25/05/2008 17:34
Grafische gevorderde
dus ik heb me form ik doe dan het volgende..
<form action="verwerken.php" method="post"
Ofwat en in die verwerken.php zet ik dan dat scriptje van je neer ?
en die vult mijn file mysql_connect_constants.inc.php ofwat ?
Ibrahim - 25/05/2008 17:44
PHP expert
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$bestand = '<?php
// MySQL Connect: De constanten voor het tot stand brengen van de database verbinding
// Deze worden hier automatisch door het installatie script ingevoerd en opgeslagen.
define ( " MYSQL_SERVER " , "' . $_POST['host'] . '" ) ;
define ( " MYSQL_GEBRUIKERSNAAM " , "' . $_POST['gebruiker'] . '" ) ;
define ( " MYSQL_WACHTWOORD " , "' . $_POST['wachtwoord'] . '" ) ;
?>';
file_put_contents($bestandsnaam, $bestand);
} else {
// formulier
}
?>
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$bestand = '<?php
// MySQL Connect: De constanten voor het tot stand brengen van de database verbinding
// Deze worden hier automatisch door het installatie script ingevoerd en opgeslagen.
define ( " MYSQL_SERVER " , "' . $_POST ['host'] . '" ) ; define ( " MYSQL_GEBRUIKERSNAAM " , "' . $_POST ['gebruiker'] . '" ) ; define ( " MYSQL_WACHTWOORD " , "' . $_POST ['wachtwoord'] . '" ) ;
?> ';
file_put_contents($bestandsnaam, $bestand);
} else {
// formulier
}
?>
Als je dit niet snapt, dan geef ik het op... en dan zou jij ook php moeten opgeven
WimJ - 25/05/2008 18:02 (laatste wijziging 25/05/2008 18:20)
Grafische gevorderde
Psycho schreef:
[..code..]
Als je dit niet snapt, dan geef ik het op... en dan zou jij ook php moeten opgevenÂ
Dus die code zet ik dan gewoon op de pagina met me formulier of is dit in plaats van de gewone define regels in mysql_connect_constants.inc.php
en de variabele $bestandsnaam wat moet dat worden ? gewoon mysql_connect_constants.inc.php ?
Als ik dit nu duidelijk nog qweet ben ik er uit verlost..
EDIT:
We boeken vooruitgang..
Maar !
<?php
// MySQL Connect: De constanten voor het tot stand brengen van de database verbinding
// Deze worden hier automatisch door het installatie script ingevoerd en opgeslagen.
define ( " MYSQL_SERVER " , "" ) ;
define ( " MYSQL_GEBRUIKERSNAAM " , "" ) ;
define ( " MYSQL_WACHTWOORD " , "" ) ;
?>
<?php
// MySQL Connect: De constanten voor het tot stand brengen van de database verbinding
// Deze worden hier automatisch door het installatie script ingevoerd en opgeslagen.
define ( " MYSQL_SERVER " , "" ) ; define ( " MYSQL_GEBRUIKERSNAAM " , "" ) ; define ( " MYSQL_WACHTWOORD " , "" ) ;
?>
Dat krijgen we dan dus..
Er wordt niets ingevuld in het veld zelf uiteindelijk..
Grayen - 25/05/2008 19:05
PHP ver gevorderde
Je hebt waarschijnlijk beide codes gebruikt, die van sander en psycho.
Dit zou moeten werken.
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$bestand = '<?php
// MySQL Connect: De constanten voor het tot stand brengen van de database verbinding
// Deze worden hier automatisch door het installatie script ingevoerd en opgeslagen.
define ( " MYSQL_SERVER " , "' . $_POST['host'] . '" ) ;
define ( " MYSQL_GEBRUIKERSNAAM " , "' . $_POST['gebruiker'] . '" ) ;
define ( " MYSQL_WACHTWOORD " , "' . $_POST['wachtwoord'] . '" ) ;
?>';
file_put_contents('../includes/mysql_connect_constants.inc.php', $bestand);
} else {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Installatie: Creative Tutorial</title>
<script src="SpryAssets/SpryAccordion.js" type="text/javascript"></script>
<link href="SpryAssets/SpryAccordion.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="Accordion1" class="Accordion" tabindex="0">
<div class="AccordionPanel">
<div class="AccordionPanelTab"><b>Welkom bij de installatie procdure van: Creative Tutorial</b></div>
<div class="AccordionPanelContent">Content 1</div>
</div>
<div class="AccordionPanel">
<div class="AccordionPanelTab">Label 2</div>
<div class="AccordionPanelContent"><form method="post" name="install" lang="nl">
<input name="host" type="text" value="localhost" size="25" maxlength="55" /></form><br />
<input name="gebruiker" type="text" value="gebruikersnaam" size="25" maxlength="75" /><br />
<input name="wachtwoord" type="text" value="wachtwoord" size="25" maxlength="55" /><br />
<input name="versturen" type="submit" value="Verzenden" /><br />
</form>
</div>
</div>
</div>
<script type="text/javascript">
<!--
var Accordion1 = new Spry.Widget.Accordion("Accordion1");
//-->
</script>
</body>
</html>
<?php
}
?>
<?php
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' ) {
$bestand = '<?php
// MySQL Connect: De constanten voor het tot stand brengen van de database verbinding
// Deze worden hier automatisch door het installatie script ingevoerd en opgeslagen.
define ( " MYSQL_SERVER " , "' . $_POST [ 'host' ] . '" ) ;
define ( " MYSQL_GEBRUIKERSNAAM " , "' . $_POST [ 'gebruiker' ] . '" ) ;
define ( " MYSQL_WACHTWOORD " , "' . $_POST [ 'wachtwoord' ] . '" ) ;
?>' ;
file_put_contents( '../includes/mysql_connect_constants.inc.php' , $bestand ) ;
} else {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Installatie: Creative Tutorial</title>
<script src="SpryAssets/SpryAccordion.js" type="text/javascript"></script>
<link href="SpryAssets/SpryAccordion.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="Accordion1" class="Accordion" tabindex="0">
<div class="AccordionPanel">
<div class="AccordionPanelTab"><b>Welkom bij de installatie procdure van: Creative Tutorial</b></div>
<div class="AccordionPanelContent">Content 1</div>
</div>
<div class="AccordionPanel">
<div class="AccordionPanelTab">Label 2</div>
<div class="AccordionPanelContent"><form method="post" name="install" lang="nl">
<input name="host" type="text" value="localhost" size="25" maxlength="55" /></form><br />
<input name="gebruiker" type="text" value="gebruikersnaam" size="25" maxlength="75" /><br />
<input name="wachtwoord" type="text" value="wachtwoord" size="25" maxlength="55" /><br />
<input name="versturen" type="submit" value="Verzenden" /><br />
</form>
</div>
</div>
</div>
<script type="text/javascript">
<!--
var Accordion1 = new Spry.Widget.Accordion("Accordion1");
//-->
</script>
</body>
</html>
<?php
}
?>
Gesponsorde links
Dit onderwerp is gesloten .