php code meegeven in een bestaand script
Ik heb een scriptje. Het enige wat het doet is een nieuwe php pagina aanmaken met naam bv test1.php. Dit werk perfect het enige wat ik niet kan is er code in meegeven--- de code dat dan in test1.php zou moeten komen
Ik had het geprobeerd me $somecontent = " "; Tussen de “” dan de php code. Dit werkt niet.
Kan er iemand mij helpen ?
Code (php)
1
2
3
4
2
3
4
<?php
$html_message ="dit script werkt maar ik wil hier een andere php pagina in weergeven";
?>
$html_message ="dit script werkt maar ik wil hier een andere php pagina in weergeven";
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$filename = '1test.php';
$somecontent = "$html_message";
$fh = fopen("1test.php", "w");
if($fh==false)
die("unable to create file");
// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {
// In our example we're opening $filename in append mode.
// The file pointer is at the bottom of the file hence
// that's where $somecontent will go when we fwrite() it.
if (!$handle = fopen($filename, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
//test3 lijn
// Write $somecontent to our opened file.
if (fwrite($handle, $somecontent) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
echo "ok, ik kan schrijven ($somecontent) to file ($filename) Ik zou graag dit laten werken als ze dan pagina1test openen alle code erin staat";
fclose($handle);
} else {
echo "The file $filename is not writable";
}
?>
$filename = '1test.php';
$somecontent = "$html_message";
$fh = fopen("1test.php", "w");
if($fh==false)
die("unable to create file");
// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {
// In our example we're opening $filename in append mode.
// The file pointer is at the bottom of the file hence
// that's where $somecontent will go when we fwrite() it.
if (!$handle = fopen($filename, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
//test3 lijn
// Write $somecontent to our opened file.
if (fwrite($handle, $somecontent) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
echo "ok, ik kan schrijven ($somecontent) to file ($filename) Ik zou graag dit laten werken als ze dan pagina1test openen alle code erin staat";
fclose($handle);
} else {
echo "The file $filename is not writable";
}
?>
Je moet nu toch wel onderhand weten dat "$abc":
- de quotes overbodig zijn
- dat variablen tussen "" door de php-parser geevalueerd worden
leer je code debugen
error_reporting op het hoogste niveau aan
+ een debug_mode in bouwen zodat je in ieder geval op bepaalde plekken in code kan controleren wat de huidige waarde is van bepaalde vars
Ik ben inderdaad pas bezig . en er zullen nog veel fouten gebeuren. Enige wat ik wil realiseren is php Code plaatsen in de aangemaakte php pagina
heeft er iemand een idee
Gewijzigd op 01/01/2012 14:21:27 door peter keenes
Code (php)
maar ja, waarom je dit nu zou willen scripten mij een vraagteken
Gewijzigd op 01/01/2012 14:34:34 door Noppes Homeland
De gewenste data geven ze dan 1 keer in en worden dan in een nieuw aangemaakte pagina opgeslagen/ weergegeven. Zoals al eerder vermeld werkt alles al behalve …
Op de aangemaakte pagina kan ik alles laten weergeven wat ik wil maar als er code instaat of een . of – of http://www.naam.be krijg ik langs alle kanten errors bv de // van de url word dan als commentaar aanzien enz enz
Peter keenes op 01/01/2012 17:37:31:
De gewenste data geven ze dan 1 keer in en worden dan in een nieuw aangemaakte pagina opgeslagen/ weergegeven.
Dan sla je die gegevens toch op in een database en haal je die er uit wanneer het nodig is?!?
Is veel overzichtelijker, makkelijker te realiseren en scheelt je 1000-en bestanden.
Meer niet eigenlijk. Ik heb een login scriptje en daar geven ze de data in allemaal geen probleem .
Is een bestaand script dat ik naar men eigen noden heb kunnen aanpassen
Maar eerlijk gezegd heb ik totaal geen idee hoe ik het dan zonder die login moet doen. Hoe dan te bepalen wie wat is. Voor het juiste email bij juiste klant te krijgen zonder eerst in te loggen.
Toevoeging op 01/01/2012 21:18:51:
iemand een idee hoe ik een url http://eennaam.be kan meegeven zonder dat de // aanzien word als commentaar ??.
Als je een site dan persoonlijker wilt maken zou ik sowieso voor de naam gaan, maar blijft mijns inzien zinloos. Zonder een inlog kom je niet heel ver, of je moet het hard als parameter meegeven in de url. Opslaan in bv cookies is machine afhankelijk, maar je hebt weer een invoer op url-parameter nodig.
Waarvoor wil je de url meegeven?
Zoals Noppes reeds aangaf: Alles tussen enkele quotes zetten.
dan krijg je nog steeds de....... Parse error: syntax error, unexpected T_STRING in
alles wat ik wil doen is $html_message =""; tussen de dubbele quotes php code zetten als dit me lukt werkt men idee en kan je zonder inloggen de data (email adres) behouden
Geef de relevante code eens.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
$html_message ="hier zou de php moeten komen";
$filename = '1test.php';
$somecontent = "$html_message";
$fh = fopen("1test.php", "w");
if($fh==false)
die("unable to create file");
// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {
// In our example we're opening $filename in append mode.
// The file pointer is at the bottom of the file hence
// that's where $somecontent will go when we fwrite() it.
if (!$handle = fopen($filename, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
//test3 lijn
// Write $somecontent to our opened file.
if (fwrite($handle, $somecontent) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
echo "ok, ik kan schrijven ($somecontent) to file ($filename) Ik zou graag dit laten werken als ze dan pagina1test openen alle code erin staat" ;
fclose($handle);
} else {
echo "The file $filename is not writable";
}
?>
$html_message ="hier zou de php moeten komen";
$filename = '1test.php';
$somecontent = "$html_message";
$fh = fopen("1test.php", "w");
if($fh==false)
die("unable to create file");
// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {
// In our example we're opening $filename in append mode.
// The file pointer is at the bottom of the file hence
// that's where $somecontent will go when we fwrite() it.
if (!$handle = fopen($filename, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
//test3 lijn
// Write $somecontent to our opened file.
if (fwrite($handle, $somecontent) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
echo "ok, ik kan schrijven ($somecontent) to file ($filename) Ik zou graag dit laten werken als ze dan pagina1test openen alle code erin staat" ;
fclose($handle);
} else {
echo "The file $filename is not writable";
}
?>
Ten eerste is is onnodig php variablene te quoten op deze manier:
$somecontent = "$html_message";
want dat staat gelijk aan:
$somecontent = $html_message;
het enige verschil is dat met quotes het een paar miljoenste van een seconde langer duurt eer dat $somecontent zijn waarde verkrijgt
Ten tweede komt $html_message een bietje uit de lucht vallen.
Om php code in een text file weg te schrijven zal je toch echt de string goed gequote moeten hebben met enkele quotes.
Er is een manier voor een . of een - of http:// te plaatsen in de code en dat hij het ziet als platte tekst maar ik weet niet hoe
De file maken en schrijven wat er tussen de "" is zeker ok
enkel als er tussen de "" een punt staat of een url http:// dan geeft hij het als een commentaar weer enn geeft als resultaat een error op pagina
wat Noppes vermelde heb ik getest en werkte niet ...dus terug er tussenuit gehaald
toch bedankt voor eens mee te kijken.
Peter keenes op 01/01/2012 17:37:31:
Vreemde ontwikkeling.....waarom waarschijnlijk veel php files aanmaken voor bovengenoemd? Een gepersonificeerde pagina genereer je toch on-the-fly met gegevens uit je database??Enige wat ik wil bereiken is dat iedereen een start pagina krijgt met eigen gegevens.
- SanThe - op 01/01/2012 21:45:09:
Zoals Noppes reeds aangaf: Alles tussen enkele quotes zetten.
Hoe vaak wil je het horen?
GEEN dubbele maar enkele quotes.
Dus niet $var = "bla bla";
Maar $var = 'bla bla';
Mijn idee
idd hoe vaak wil je het horen ..... dit werkt niet
Peter keenes op 02/01/2012 10:42:34:
idd hoe vaak wil je het horen ..... dit werkt niet
Wat werkt er dan niet aan? Vertel eens meer?
Foutmeldingen'/ Wat gebeurt er? En wat verwacht je?
En is het nou niet zinvoller om de gegevens on-the-fly uit de database te halen. Want zoals je nu bezig bent zou je elk bestand een unieke naam moeten geven. En dat maakt de boel behoorlijk lastig onderhoudbaar.
Databases zijn precies bedoeld voor wat je precies wilt bereiken.
Peter keenes op 02/01/2012 10:42:34:
idd hoe vaak wil je het horen ..... dit werkt niet
Dan doe je toch iets niet goed. Code?
No offence, maar wat jij doet, is vrij gevaarlijk. Ik denk niet dat je klaar bent om dit script online te zwieren.
Je vraagt er om om gehackt te worden.
Wat wij (over het algemeen) doen, is ons op zo'n manier te beschermen zodat php code - die komt van een post van een gebruiker - zeker niet kan worden uitgevoerd.
Nu ga jij content van de gebruiker rechtstreeks in een php bestand zwieren waar iedereen zomaar naar kan surfen.
Experimenteer naar harte lust op je locale pc, maar online ... zeg niet dat je niet gewaarschuwd bent.