Form -> fwrite

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Slaz

Slaz

04/08/2007 13:18:00
Quote Anchor link
Beste PHP Hulp,

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
 
PHP hulp

PHP hulp

22/11/2024 06:58:59
 
Harm

Harm

04/08/2007 13:21:00
Quote Anchor link
Dit moet je vragen aan 1 van onze php masters xD
 
GaMer B

GaMer B

04/08/2007 13:23:00
Quote Anchor link
Dan zul je eerst al de inhoud in savedinfo.php moeten inladen in een text box en dan het gene moeten invoegen wat je wilde invoegen. Daarna de hele text box met fwrite (of file_put_contents(), misschien nog beter) naar savedinfo.php wegschrijven.

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
 
Slaz

Slaz

04/08/2007 14:02:00
Quote Anchor link
Ik zal een voorbeeld geven van hoe ik het zou willlen hebben:

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.
 
GaMer B

GaMer B

04/08/2007 14:21:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
    if($write)
    {

        echo "Data succesvol weggeschreven";
    }

    else
    {
        echo "Er ging iets fout.";
    }

?>
 
Slaz

Slaz

04/08/2007 14:51:00
Quote Anchor link
Thank you, ik zal het snel proberen.
 
Slaz

Slaz

07/08/2007 15:57:00
Quote Anchor link
GaMer13, ik ben terug van vakantie en ik probeerde het..
Script werkt prima..

Maar als ik iets schrijf....
en dan de 2e keer dat ik schrijf delete het de eerste deel.

Hoe kan dat?
 
GaMer B

GaMer B

07/08/2007 16:12:00
Quote Anchor link
Het enige wat je hoeft te doen is de flag: FILE_APPEND erbij te zetten, dus zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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.";
    }

?>
 
Slaz

Slaz

07/08/2007 16:27:00
Quote Anchor link
Gedaan..
Maar er ging iets fout.
 
GaMer B

GaMer B

07/08/2007 16:34:00
Quote Anchor link
Slaz schreef op 07.08.2007 16:27:
Gedaan..
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.
 
Slaz

Slaz

07/08/2007 17:16:00
Quote Anchor link
Gelukt.. reuze bedankt, GaMer13 for moderator >:D
 
Hipska BE

Hipska BE

07/08/2007 17:21:00
Quote Anchor link
nu komen er toch telkens open en gesloten <html> tags na elkaar?

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.
 
Slaz

Slaz

07/08/2007 21:31:00
Quote Anchor link
Dis is het geworden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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.";
    }
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Slaz
 
Jan Koehoorn

Jan Koehoorn

07/08/2007 21:38:00
Quote Anchor link
De naamgeving van je variabelen is niet goed. Voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    $query
= mysql_query($sql);
?>

Wat er uit mysql_query terugkomt is geen query, maar een result
Beter zou zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    $res
= mysql_query($sql);
?>

Verder: waarom controleer je niet of je query gelukt is? Je gaat er nu van uit dat hij altijd lukt.
 
Slaz

Slaz

08/08/2007 16:50:00
Quote Anchor link
Ik haal een simpele informatie op: Naam van de user die post.
Ik zelf 'post' niets in mysql... gewoon simpel naar een file.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.