fwrite met vars
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$form = array()
$form +="<body><html>\n"
$form +="<form method=\"POST\" action=\"$_SERVER[\'php self\']\">\n"
$form +="<textarea rows=\"3\" name=\"$text\" cols=\"24\"></textarea></p>\n"
$form +="<p>jouwn naam: <input type=\"text\" name=\"$name\" size=\"20\"><br>\n"
$form +="naar email: <input type=\"text\" name=\"$mail\" size=\"20\"><br>\n"
$form +=" </p>\n"
$form +="<p><input type=\"submit\" value=\"Verzenden\" name=\"B1\"><input type=\"reset\" value=\"Invoer wissen\" name=\"B2\"></p>\n"
$form +="</form>\n"
$form +="</body></html>\n"
echo "$form"
$handle = fopen($mail .".html", "w");
fwrite($mail .".html", "$text");
fclose($mail .".html");
echo "gelukt"
?>
$form = array()
$form +="<body><html>\n"
$form +="<form method=\"POST\" action=\"$_SERVER[\'php self\']\">\n"
$form +="<textarea rows=\"3\" name=\"$text\" cols=\"24\"></textarea></p>\n"
$form +="<p>jouwn naam: <input type=\"text\" name=\"$name\" size=\"20\"><br>\n"
$form +="naar email: <input type=\"text\" name=\"$mail\" size=\"20\"><br>\n"
$form +=" </p>\n"
$form +="<p><input type=\"submit\" value=\"Verzenden\" name=\"B1\"><input type=\"reset\" value=\"Invoer wissen\" name=\"B2\"></p>\n"
$form +="</form>\n"
$form +="</body></html>\n"
echo "$form"
$handle = fopen($mail .".html", "w");
fwrite($mail .".html", "$text");
fclose($mail .".html");
echo "gelukt"
?>
de bedoeling hiervan is dat iemand een formulier invuld en de variables dus invuld.
alleen werkt dit niet, er moet namelijk met de form een pagina gemaakt worden die de naam heeft van het email adres met de inhoud van de text..
ok beetje onduidelijk. ik leg het wel uit in stappen:
je vult form in
variables zijn gezet
bestand wordt aangemaakt met de naam van $mail
het bestand wordt nu gewrite met $text
dat is het wel, variable $name moet je even negeren is ergens andeers voor.
ik weet niet wat er fout is aan mijn code en of als het wel werkt en je vult het in, dat dan ook de variables gezet worden.
ik hoop dat jullie mijn vraag snappen. please help mij ;)
groetjes jesse
Code (php)
2. Je gebruikt $mail in je fwrite() waar je eigenlijk $handle moet gebruiken. $handle is immers de resource die je wilt gebruiken...
3. Je vergeet stelselmatig je regels in php af te sluiten met een ;. Zet ook eens dit bovenaan je code:
Dan krijg je tenminste alle foutmeldingen te zien.
4a. Wat doen al die vieze backslashes in je code. Als je gewoon enkele quotes gebruikt bij het aanmaken van je variabelen, hoef je de dubbele quotes van de html niet eens te escapen. Resultaat: een veel overzichtelijkere code.
4b. Variabelen horen niet tussen quotes geplaatst te worden, een variabele is immers geen string...
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
34
35
36
37
38
39
40
41
42
43
44
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
34
35
36
37
38
39
40
41
42
43
44
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$form = array(); //Array aanmaken.
$form +="<html><body>\n"; //Array setten.
$form +="<form method=POST action=" . $_SERVER['php self'] . ">\n"; //Array setten.
$form +="<textarea rows=3 name=text cols=24></textarea></p>\n"; //Array setten.
$form +="<p>jouwn naam: <input type=text name=name size=20><br>\n"; //Array setten.
$form +="naar email: <input type=text name=mail size=20><br>\n"; //Array setten.
$form +=" </p>\n"; //Array setten.
$form +="<p><input type=submit value=Verzenden name=B1><input type=reset value='Invoer wissen' name=B2></p>\n"; //Array setten.
$form +="</form>\n"; //Array setten.
$form +="</body></html>\n"; //Array setten.
echo "$form"; //laat de form zien.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$handle = fopen($_POST['mail'] .".html", "w");
fwrite($handle, $_POST['text']);
fclose($handle);
echo "gelukt";
}
/* voor een vedere error afhandeling:
if($handle = fopen($_POST['mail'] . ".html", "w")) {
if(fwrite($handle, $_POST['text'])) {
echo "Gelukt!";
fclose($handle);
} else {
echo "Kon bestand " . $_POST['mail'] . ".html niet editen.";
}
} else {
echo "Kon bestand " . $_POST['mail'] . ".html niet aanmaken / openen";
}
*/
?>
ini_set('display_errors', 1);
error_reporting(E_ALL);
$form = array(); //Array aanmaken.
$form +="<html><body>\n"; //Array setten.
$form +="<form method=POST action=" . $_SERVER['php self'] . ">\n"; //Array setten.
$form +="<textarea rows=3 name=text cols=24></textarea></p>\n"; //Array setten.
$form +="<p>jouwn naam: <input type=text name=name size=20><br>\n"; //Array setten.
$form +="naar email: <input type=text name=mail size=20><br>\n"; //Array setten.
$form +=" </p>\n"; //Array setten.
$form +="<p><input type=submit value=Verzenden name=B1><input type=reset value='Invoer wissen' name=B2></p>\n"; //Array setten.
$form +="</form>\n"; //Array setten.
$form +="</body></html>\n"; //Array setten.
echo "$form"; //laat de form zien.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$handle = fopen($_POST['mail'] .".html", "w");
fwrite($handle, $_POST['text']);
fclose($handle);
echo "gelukt";
}
/* voor een vedere error afhandeling:
if($handle = fopen($_POST['mail'] . ".html", "w")) {
if(fwrite($handle, $_POST['text'])) {
echo "Gelukt!";
fclose($handle);
} else {
echo "Kon bestand " . $_POST['mail'] . ".html niet editen.";
}
} else {
echo "Kon bestand " . $_POST['mail'] . ".html niet aanmaken / openen";
}
*/
?>
Gewijzigd op 01/01/1970 01:00:00 door Cake Masher
Quote:
Je doet het niet voor mij, maar natuurlijk voor jezelf ;)ik heb het script wat verbeterd voor blanche..
Maar een tip die ik je nog mee wil geven: gebruik in de meeste gevallen gewoon enkele quotes, in dat geval hoef je de dubbele quotes die html nodig heeft niet te escapen.
Verder zou het natuurlijk ook wel fijn zijn om te controleren of een bestand niet al bestaat voordat je het overschrijft. Maw, als een email adres al bestaat moet daar een melding van gemaakt worden. Wat je zou kunnen doen:
Code (php)
Verder vraag ik me af waarom je voor dit doeleinde geen database gebruikt. Het lijkt erop dat dit een typisch voorbeeld is waarin een database vele malen handiger is dan losse bestanden...
omg!! het werkt :D
met 1 kleine aanpassing, het moest geen array zijn dus werdt het tot eindelijk:
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
34
35
36
37
38
39
40
41
42
43
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
34
35
36
37
38
39
40
41
42
43
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$form="<html><body>\n"; //Array setten.
$form.="<form method=POST action=" . $_SERVER['PHP SELF'] . ">\n"; //Array setten.
$form.="<textarea rows=3 name=text cols=24></textarea></p>\n"; //Array setten.
$form.="<p>jouwn naam: <input type=text name=name size=20><br>\n"; //Array setten.
$form.="naar email: <input type=text name=mail size=20><br>\n"; //Array setten.
$form.=" </p>\n"; //Array setten.
$form.="<p><input type=submit value=Verzenden name=B1><input type=reset value='Invoer wissen' name=B2></p>\n"; //Array setten.
$form.="</form>\n"; //Array setten.
$form.="</body></html>\n"; //Array setten.
echo "$form"; //laat de form zien.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$handle = fopen($_POST['mail'] .".html", "w");
fwrite($handle, $_POST['text']);
fclose($handle);
echo "gelukt";
}
/* voor een vedere error afhandeling:
if($handle = fopen($_POST['mail'] . ".html", "w")) {
if(fwrite($handle, $_POST['text'])) {
echo "Gelukt!";
fclose($handle);
} else {
echo "Kon bestand " . $_POST['mail'] . ".html niet editen.";
}
} else {
echo "Kon bestand " . $_POST['mail'] . ".html niet aanmaken / openen";
}
*/
?>
ini_set('display_errors', 1);
error_reporting(E_ALL);
$form="<html><body>\n"; //Array setten.
$form.="<form method=POST action=" . $_SERVER['PHP SELF'] . ">\n"; //Array setten.
$form.="<textarea rows=3 name=text cols=24></textarea></p>\n"; //Array setten.
$form.="<p>jouwn naam: <input type=text name=name size=20><br>\n"; //Array setten.
$form.="naar email: <input type=text name=mail size=20><br>\n"; //Array setten.
$form.=" </p>\n"; //Array setten.
$form.="<p><input type=submit value=Verzenden name=B1><input type=reset value='Invoer wissen' name=B2></p>\n"; //Array setten.
$form.="</form>\n"; //Array setten.
$form.="</body></html>\n"; //Array setten.
echo "$form"; //laat de form zien.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$handle = fopen($_POST['mail'] .".html", "w");
fwrite($handle, $_POST['text']);
fclose($handle);
echo "gelukt";
}
/* voor een vedere error afhandeling:
if($handle = fopen($_POST['mail'] . ".html", "w")) {
if(fwrite($handle, $_POST['text'])) {
echo "Gelukt!";
fclose($handle);
} else {
echo "Kon bestand " . $_POST['mail'] . ".html niet editen.";
}
} else {
echo "Kon bestand " . $_POST['mail'] . ".html niet aanmaken / openen";
}
*/
?>
@blanche ik gebruik geen database omdat me host een error geeft omdat ze het systeem aan het vernieuwen zijn, van MySql nogwat naar nogwat
Gewijzigd op 01/01/1970 01:00:00 door Jesse Degger