Form -> fwrite
Ik gebruik nu een week of 2 een form script met fopen fwrite functie..
Hier mijn vraag:
Mijn fwrite functie werkt prima en schrijft naar "savedinfo.php"
Maar telkens onderaan de pagina.
ik zou graag willen weten wanneer ik in de form de velden invul
en dan via "proces.php" naar savedinfo.php gaat dat ik ZELF bepaal waar de informatie komt die je gesubmit hebt.
Met vriendelijke groeten, Slaz
Dit moet je vragen aan 1 van onze php masters xD
EDIT:
HarmW schreef op 04.08.2007 13:21:
Dit moet je vragen aan 1 van onze php masters xD
Dat is niet echt een fatsoenlijke reactie... als je niks te vertellen hebt, reageer dan niet :)
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
Ik vul in de form bijv dit: Phphulp!
Ik klik op submit..
Process dealt het... en write het naar savedinfo.php
In saved info.php verschijnt waar ik het zou willen hebben
<html><body>Verschin de phphulp HIER</body></html> en niet hier wat hij nu doet.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
Thank you, ik zal het snel proberen.
Script werkt prima..
Maar als ik iets schrijf....
en dan de 2e keer dat ik schrijf delete het de eerste deel.
Hoe kan dat?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
// NOTE: Je moet wel PHP5 hebben, om file_put_contents te gebruiken
$file = 'savedinfo.php';
$content = '<html><body>'.$_POST['veld'].'</body></html>';
$write = file_put_contents($file,$content,FILE_APPEND);
if($write)
{
echo "Data succesvol weggeschreven";
}
else
{
echo "Er ging iets fout.";
}
?>
// NOTE: Je moet wel PHP5 hebben, om file_put_contents te gebruiken
$file = 'savedinfo.php';
$content = '<html><body>'.$_POST['veld'].'</body></html>';
$write = file_put_contents($file,$content,FILE_APPEND);
if($write)
{
echo "Data succesvol weggeschreven";
}
else
{
echo "Er ging iets fout.";
}
?>
Maar er ging iets fout.
Slaz schreef op 07.08.2007 16:27:
Gedaan..
Maar er ging iets fout.
Maar er ging iets fout.
Je bedoelt dat er op de pagina komt te staan: Er is iets fout gegaan? Of dat het niet wordt toegevoegd.
Klik hier voor online vb.
Gelukt.. reuze bedankt, GaMer13 for moderator >:D
wat je ECHT moet doen, is alle teksten opslaan in een apart textbestandje (vb savedinfo.txt) en dan in savedinfo.php dat tekstbestandje uitlezen en op de juiste plaats zetten. Zo moet je ook niet telkens rekening houden met html tags enzovoort.
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
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
<?php
$sql = "SELECT naam,email FROM gebruikers WHERE id='".$_SESSION['user_id']."'";
$query = mysql_query($sql);
$rij = mysql_fetch_object($query);
$naam = htmlspecialchars($rij->naam);
$email = htmlspecialchars($rij->email);
$file = 'news.php'; // File
// Module: Check inhoud file
$check_inhoud = file_get_contents($file);
if(empty($check_inhoud))
{
// Geen content => kan problemen geven
$inhoud = "<html><body></body></html>";
file_put_contents($file,$inhoud);
}
$temp_content = file_get_contents($file); // Verkrijg alles van file
$temp_array = explode("<body>",$temp_content); // Verkijg alles tussen <body> en </body>
$tussenbody = explode("</body>",$temp_array[1]); // Resultaat van explode
$tussenbody = $tussenbody[0];
if(!empty($_GET['article']))
{
$inhoud = "<html><body><b>".$_GET['article']."</b><br><small>By ".$_GET['naam']." </small><br>Content:<br>".$_GET['area']." <br>-------------------------------------------------------------------------------------------------
<br>".$tussenbody."</body></html>";
$write = file_put_contents($file,$inhoud);
if($write)
{
echo "News posted!";
}
else
{
echo "Error, posting news failed contact tha slaz.";
}
}
?>
$sql = "SELECT naam,email FROM gebruikers WHERE id='".$_SESSION['user_id']."'";
$query = mysql_query($sql);
$rij = mysql_fetch_object($query);
$naam = htmlspecialchars($rij->naam);
$email = htmlspecialchars($rij->email);
$file = 'news.php'; // File
// Module: Check inhoud file
$check_inhoud = file_get_contents($file);
if(empty($check_inhoud))
{
// Geen content => kan problemen geven
$inhoud = "<html><body></body></html>";
file_put_contents($file,$inhoud);
}
$temp_content = file_get_contents($file); // Verkrijg alles van file
$temp_array = explode("<body>",$temp_content); // Verkijg alles tussen <body> en </body>
$tussenbody = explode("</body>",$temp_array[1]); // Resultaat van explode
$tussenbody = $tussenbody[0];
if(!empty($_GET['article']))
{
$inhoud = "<html><body><b>".$_GET['article']."</b><br><small>By ".$_GET['naam']." </small><br>Content:<br>".$_GET['area']." <br>-------------------------------------------------------------------------------------------------
<br>".$tussenbody."</body></html>";
$write = file_put_contents($file,$inhoud);
if($write)
{
echo "News posted!";
}
else
{
echo "Error, posting news failed contact tha slaz.";
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Slaz
Wat er uit mysql_query terugkomt is geen query, maar een result
Beter zou zijn:
Verder: waarom controleer je niet of je query gelukt is? Je gaat er nu van uit dat hij altijd lukt.
Ik zelf 'post' niets in mysql... gewoon simpel naar een file.