Avatar billede uthsen Nybegynder
21. april 2009 - 23:55 Der er 8 kommentarer og
1 løsning

tekst 1 slettes når tekst 2 gemmes

hejsa

Jeg skal gerne have gemt noget tekst fra brugere fra to indput felter i to filer, men når jeg efter at have gemt tekst 1 går til tekst 2 slettes indholdet i den første fil???? Det er meningen at det der indtastes i begge felter skal gemmes i hver sin fil og blive der og ikke som nu, hvor teksten slettes når der gemmes i nr2 indput felt - teksten i fil 2 bliver der dog.

Koderne må krydse et og andet sted - kan I hjælpe???

PS! - har kun arbejdet med PHP i ganske få dage, men opgaven er ret vigtig for det jeg vil nå så....

Kaster lige et kodeeksempel, så I kan se hvad problemet er.

Har ialt 5 filer:
Indgangsfil: prove.php
2 Kodefiler: mors_navn.php og fars_navn.php
og endelig 2 filer med lidt tekst og her skal brugerens data ende og blive - morstekst.php og farstekst.php

Filerne ser således ud :

<!--*****************TEST FIL - navn: prove.php- indgangsfil********************************-->


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>prøve</title></head>
<body><div style="text-align: center;">
<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"><tbody><tr>
<td style="text-align: center;">

<br>
<?include "mors_navn.php";?>


</td>
<td style="text-align: center;">

<br>
<?include "fars_navn.php";?>

</td>
</tr>

</tbody></table></div></body></html>

<!--*****************Kodefil 1 FIL - navn: mors_navn.php- ********************************-->

<form name="formular" method="post" action="prove.php">

<center>
<table border="1" width="25%" id="table1">
<tr>
<td><center> Mors navn<br><input name="text" type="text"></td>
</tr>

<tr>
<td>
<p align="center"><input type="submit" value="Gem"></td>
</tr>
</table>
</form>
<hr>


<?php
$indhold = "du gemte ".$_POST["text"];
file_put_contents("morstekst.php",$indhold);

?>


Du gemte mor!
<br>
<?include "morstekst.php";?>

<!--*****************Kodefil 2 FIL - navn: fars_navn.php- ********************************-->

<form name="formular1" method="post" action="prove.php">

<center>
<table border="1" width="25%" id="table2">
<tr>
<td><center> Fars navn<br><input name="textfar" type="text"></td>
</tr>

<tr>
<td>
<p align="center"><input type="submit" value="Gem"></td>
</tr>
</table>
</form>
<hr>


<?php
$indhold = "du gemte ".$_POST["textfar"];
file_put_contents("farstekst.php",$indhold);

?>


Du gemte mor!
<br>
<?include "farstekst.php";?>


<!--*****************fil 1 som en mini database - navn: morstekst.php- ********************************-->


Du gemte mors navn til:


<!--*****************fil 2 som en mini database - navn: farstekst.php- ********************************-->


Du gemte fars navn til:

Håber på hjælp :O)
Avatar billede CCodam Nybegynder
22. april 2009 - 00:30 #1
Det er fordi at hver gang du klikker submit, så reloader den prove.php, denne går så ind og skriver $_POST["text"] i morstekst.php og $_POST["textfar"] i farstekst.php.
Men da du kun har udfyldt enten mor eller far, da du trykkede submit, så vil en af dem være tom, og altså skrive en tom fil...

Du kan bruge if(isset($_post['text']))[/I] til at tjekke om der står noget i feltet, før den overskriver filen...altså:

[i]if(isset($_post['text']))
{
$indhold = "du gemte ".$_POST["text"];
file_put_contents("morstekst.php",$indhold);
}


og

if(isset($_post['textfar']))
{
$indhold = "du gemte ".$_POST["textfar"];
file_put_contents("farstekst.php",$indhold);
}


Jeg forstår dog ikke hvorfor du ikke laver både mor navn og far navn i samme form og så kun en submit knap? Der kan du så igen lave isset, så den kun ændre navnet, hvis der er skrevet noget ind...
Avatar billede uthsen Nybegynder
22. april 2009 - 01:11 #2
Nu har jeg siddet og tænkt over problemet hele eftermiddagen og søgt og søgt, men det du skriver lyder meget rigtigt og det ville jeg aldrig selv kunne have hittet ud af, men din løsning hjalp mig alligevel ikke ud af problemet for :
Ser det sådan ud meldes der fejl i linien [i]if(isset($_post['text']))

<?php
[i]if(isset($_post['text']))
{
$indhold = "du gemte ".$_POST["text"];
file_put_contents("morstekst.php",$indhold);
}



?>


***************** prøver så sådan*******


Ser det ud til at køre, men nu gemmes absolut intet og det dur jo ikke ???:O)


<?php
if(isset($_post['text']))
{
$indhold = "du gemte ".$_POST["text"];
file_put_contents("morstekst.php",$indhold);
}

?>


<?php

if(isset($_post['textfar']))
{
$indhold = "du gemte ".$_POST["textfar"];
file_put_contents("farstekst.php",$indhold);
}

?>

Jeg laver felterne særskilt, da der i det færdige php-dokument er tilføjet billede til hver navn som bruger også selv vælger.
Faktisk hander det om, at opdrættere af hvalpe selv skal kunne oploade hvalpekuld med billeder af hvalpenes mor og far + hvalpe.Mor, far og hver hvalp med navne og til sidst et felt eller flere til opdrætterens data: navn, hjemmeside m.m. hvor intereserede kan henvende sig for kontakt - Billeddelen har jeg styr på - tror jeg nok -Mangler så at have lavet et slags login til oploads-siden og data herfra føres til en anden side som er indgangssiden for hvalpe interesserede - håber du forstår :O)

Jeg bliver nød til at smutte i seng nu, men vender tilbage i morgen, så håber jeg også denne del kommer til at fungere :O)

God nat og sov godt ZZZZzzzzz
Avatar billede uthsen Nybegynder
22. april 2009 - 01:13 #3
Hov mangler vi ikke ;

prøver lige
Avatar billede CCodam Nybegynder
22. april 2009 - 01:18 #4
Det er mig der har kommet til at lave en brøler, da jeg ville lave teksten kursiv her inde på experten, du skal selvfølgelig fjerne [i] fra linien, så det kun ser sådan ud:

if(isset($_post['text']))
{
$indhold = "du gemte ".$_POST["text"];
file_put_contents("morstekst.php",$indhold);
}
Avatar billede uthsen Nybegynder
22. april 2009 - 01:19 #5
Det var desværre ikke nok og indholdet slettes stadig i morstext.php hver gang der gemmes noget i farstekst.php

ZZZZZZZZZZZZZzzzzzzz  ZZZzz
Avatar billede CCodam Nybegynder
22. april 2009 - 01:23 #6
#5 Du kan evt. kontakte mig nu, eller imorgen fra halv 9 af på msn:
cco AT coretech DOT dk

Så kan du lige sende mig dine 3 filer, og så kan jeg lettere kigge på dem, det er jo ikke noget nogen af os gider at bruge flere timer på :)

Hvis du ikke skriver nu, så må du sove godt...
Avatar billede uthsen Nybegynder
22. april 2009 - 08:54 #7
Godmorgen :O)

Du får lige et link i stedet:
http://www.dkk-chihuahua-hvalpe.dk/eksperten/Problem.zip

Håber meget du kan finde problemet eller der er nogle som har tiden og lysten til jeg kan komme videre. Troede det var et mini-problem og kun fordi jeg er ganske ny udi PHP. Ingen af mine sider kører PHP endnu, men det kommer de til :O)
Avatar billede CCodam Nybegynder
22. april 2009 - 09:50 #8
#7 Det burde nu også være simpelt, og det er mig der har lavet en fejl, jeg har kommet til at skrive _post med småt i min isset, dette SKAL være stort...

Du kan downloade filerne der virker her:
http://www.whattheflux.dk/exp/872462.zip

Og midlertidigt se dem i aktion hre:
http://www.whattheflux.dk/test/prove.php
Avatar billede uthsen Nybegynder
22. april 2009 - 14:31 #9
Du er ikke mindre end en SKAT - Tusind mange tak!!!!

KH Helle

Ih!! hvor er jeg glad for det!!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester