Gjest Slettet+432 Skrevet 25. desember 2003 Del Skrevet 25. desember 2003 Hei, jeg skal lage et script så folk bare kan spør om ting om data... Det lengste jeg kommer er dette: <form> Ditt navn: <input type="text" size="15" name="navn" value=""> Din epost: <input type="text" size="15" name="epost" value=""> Ditt spørsmål: <input type="text" size="25" name="sporsmal" value=""> <input type="Submit" value="Spør oss!"> </form> Jeg skal få det til å skrive til en tekstfil. og så skal den igjen skrive ut alt som står i fila... men hvis noen gidder hjelpe meg å få til dette med mysql så blir jeg glad jeg vil også at det skal gå an å legge til et svar etter å ha tastet inn et passord. altså at det skal se ut slik: <a href="mailto:epost">Navn</a> den D.M.Y |Det samme som ved siden av |Svar: Spørsmål: |blablabla blablabla | Lenke til kommentar
Gjest Slettet+432 Skrevet 25. desember 2003 Del Skrevet 25. desember 2003 Ingen som har en løsning?? Lenke til kommentar
PlastBox Skrevet 25. desember 2003 Del Skrevet 25. desember 2003 Fil for "posting" av spørsmål: <form method=post> Ditt navn: <input type="text" size="15" name="navn" value=""> Din epost: <input type="text" size="15" name="epost" value=""> Ditt spørsmål: <input type="text" size="25" name="sporsmal" value=""> <input type="Submit" value="Spør oss!"> </form> <?php if(!empty($_POST['navn']) && !empty($_POST['epost']) && !empty($_POST['sporsmal'])) { $sporsmal = eregi_replace("\r\n", '%newline%', $_POST['sporsmal']); $fp = fopen('fil.txt', 'a+'); fputs($fp, $_POST['navn'].'|'.$_POST['epost'].'|'.$sporsmal.$_POST['sporsmal']."\r\n"); fclose($fp); } ?> Fil for lesing av spørsmål: <?php $a = file('fil.txt'); foreach($a as $temp) { $b = explode('|', $temp); echo '<table> <tr><td>Fra:</td><td>'.$b[0].'</td></tr> <tr><td>E-post:</td><td>'.$b[1].'</td></tr> <tr><td>Spørsmål:</td><td>'.$b[2].'</td></tr> </table><br><br>'; } ?> Gidder ikke sjekke om det funker, men du får prøve. Lenke til kommentar
Gjest Slettet+432 Skrevet 25. desember 2003 Del Skrevet 25. desember 2003 (endret) Tusen takk!!! Men vet du hvordan man kan få sånn svar-greie?? Sånn at jeg kan svare på spørsmålene.. ? EDIT: Det er noe alvorlig galt med det scriptet, hver gang jeg oppdaterer dobler antallet beskjeder!! EDIT2: Har noen en mysql løsning heller? ville vært bedre... Endret 25. desember 2003 av Slettet+432 Lenke til kommentar
Torbjørn Skrevet 25. desember 2003 Del Skrevet 25. desember 2003 det er ikke en feil. når du trykker refresh etter å ha postet en melding, så sender du samme posten en gang til. Sånn skal det være. det kan unngås ved å trykke på en link du plasserer ut. da vil den følge linken istedet for å sende samme POST request engang til. du kan også flytte hele php-taggen i fil for posting av meldinger øverst i fila istedet for nederst, og deretter legge inn header("Location: filsomlisteroppmeldinger.php"); exit; etter fclose i "fil for posting". (legg inn riktig filnavn i location i header setningen) Lenke til kommentar
Gjest Slettet+432 Skrevet 26. desember 2003 Del Skrevet 26. desember 2003 (endret) ok... hvor i denne koden: <?php if(!empty($_POST['navn']) && !empty($_POST['epost']) && !empty($_POST['sporsmal'])) { $sporsmal = eregi_replace("\r\n", '%newline%', $_POST['sporsmal']); $fp = fopen('spørsmål.txt', 'a+'); fputs($fp, $_POST['navn'].'|'.$_POST['epost'].'|'.$sporsmal.$_POST['sporsmal']."\r\n"); fclose($fp); } ?> Skal dette: header("Location: filsomlisteroppmeldinger.php"); exit; ` ? Og har noen en måte å lage et kommentarsystem på? Aller helst vil jeg bruke mysql istedenfor tekstfiler... noen som har tips til det?? Endret 26. desember 2003 av Slettet+432 Lenke til kommentar
Torbjørn Skrevet 26. desember 2003 Del Skrevet 26. desember 2003 etter fclose i "fil for posting". der jeg skriver. du har bare fclose et sted. dette skal på linjen etter det. pass på å skrive inn rett navn på den php-fila som Location skal peke på. Lenke til kommentar
Gjest Slettet+432 Skrevet 27. desember 2003 Del Skrevet 27. desember 2003 (endret) Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/reboothome.com/httpdocs/index.php:11) in /home/httpd/vhosts/reboothome.com/httpdocs/include/dataproblemer/dataproblemer.php on line 17 header("Location: index.php?side=visdataproblemer"); <form method=post> Ditt navn: <input type="text" size="15" name="navn" value=""> <br> Din epost: <input type="text" size="15" name="epost" value=""> <br> Problem: <textarea name="sporsmal" value=""></textarea> <br> <input type="Submit" value="Spør oss!"> </form> <?php if(!empty($_POST['navn']) && !empty($_POST['epost']) && !empty($_POST['sporsmal'])) { $sporsmal = eregi_replace("\r\n", '%newline%', $_POST['sporsmal']); $fp = fopen('problemer.txt', 'a+'); fputs($fp, $_POST['navn'].'|'.$_POST['epost'].'|'.$sporsmal.$_POST['sporsmal']."\r\n"); fclose($fp); header("Location: index.php?side=visdataproblemer"); exit; } ?> Siden: http://www.reboothome.com/index.php?side=dataproblemer Endret 27. desember 2003 av Slettet+432 Lenke til kommentar
Gjest Slettet+432 Skrevet 27. desember 2003 Del Skrevet 27. desember 2003 Det må da være et eller annet jeg kan gjøre??? Lenke til kommentar
fjotten Skrevet 28. desember 2003 Del Skrevet 28. desember 2003 Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/reboothome.com/httpdocs/index.php:11) in /home/httpd/vhosts/reboothome.com/httpdocs/include/dataproblemer/dataproblemer.php on line 17 header("Location: index.php?side=visdataproblemer"); <form method=post> Ditt navn: <input type="text" size="15" name="navn" value=""> <br> Din epost: <input type="text" size="15" name="epost" value=""> <br> Problem: <textarea name="sporsmal" value=""></textarea> <br> <input type="Submit" value="Spør oss!"> </form> <?php if(!empty($_POST['navn']) && !empty($_POST['epost']) && !empty($_POST['sporsmal'])) { $sporsmal = eregi_replace("\r\n", '%newline%', $_POST['sporsmal']); $fp = fopen('problemer.txt', 'a+'); fputs($fp, $_POST['navn'].'|'.$_POST['epost'].'|'.$sporsmal.$_POST['sporsmal']."\r\n"); fclose($fp); header("Location: index.php?side=visdataproblemer"); exit; } ?> Siden: http://www.reboothome.com/index.php?side=dataproblemer Den feilmeldingen der kommer når du prøver å endre header, altså header(location: osv...) etter at du har hat output på sida. Du må endre header før du skriver ut noe (echo f.eks.) Vel, har bare holdt på med php i et par dager og den feilmeldinga der kjenner jeg nå.... Lenke til kommentar
Gjest Slettet+432 Skrevet 28. desember 2003 Del Skrevet 28. desember 2003 Nå vet jeg ikke hvem jeg skal høre på. Torbjørn sa jeg skulle ha den etter fclose, og du sier jeg skal ha den før alt. Det er vel i teorien rett, men Torbjørn kan vel mer php enn deg? Lenke til kommentar
fjotten Skrevet 28. desember 2003 Del Skrevet 28. desember 2003 (endret) Nå vet jeg ikke hvem jeg skal høre på. Torbjørn sa jeg skulle ha den etter fclose, og du sier jeg skal ha den før alt. Det er vel i teorien rett, men Torbjørn kan vel mer php enn deg? Prøv å bytt om rekkefølgen, slik at du får programmeringsbiten først og html'en etterpå. Det vil jeg anta ja. Jeg burde ha lagt til at den feilmeldingen i hvert fall kommer blant annet når du gjør den feilen jeg snakket om. Godt mulig den kan komme av andre ting og. Men etter hva jeg har forstått er den "header" feilen en såkalt nybegynner feil (får håpe jeg ikke fornærmet deg nå ). Prøv å bytte om rekkefølgen, slik at du får programmeringsbiten først og html'en etterpå. Slik: <?php if(!empty($_POST['navn']) && !empty($_POST['epost']) && !empty($_POST['sporsmal'])) { $sporsmal = eregi_replace("\r\n", '%newline%', $_POST['sporsmal']); $fp = fopen('problemer.txt', 'a+'); fputs($fp, $_POST['navn'].'|'.$_POST['epost'].'|'.$sporsmal.$_POST['sporsmal']."\r\n"); fclose($fp); header("Location: index.php?side=visdataproblemer"); exit; } ?> <form method=post> Ditt navn: <input type="text" size="15" name="navn" value=""> <br> Din epost: <input type="text" size="15" name="epost" value=""> <br> Problem: <textarea name="sporsmal" value=""></textarea> <br> <input type="Submit" value="Spør oss!"> </form> Endret 28. desember 2003 av fjotten Lenke til kommentar
Torbjørn Skrevet 28. desember 2003 Del Skrevet 28. desember 2003 jeg skrev at du skulle flytte <?php taggen over html innholdet også, sånn som fjotten foreslår header() må kjøres før noen som helst form for html er skrevet ut. (en enkel linjeskift er også htmlkode i denne setningen) Lenke til kommentar
Gjest Slettet+432 Skrevet 29. desember 2003 Del Skrevet 29. desember 2003 (endret) Åja... da så... Edit: Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/reboothome.com/httpdocs/index.php:11) in /home/httpd/vhosts/reboothome.com/httpdocs/include/dataproblemer/dataproblemer.php on line 8 Jeg fikk fortsatt denne feilmeldingen! Har gjort helt som dere sa! Endret 29. desember 2003 av Slettet+432 Lenke til kommentar
Torbjørn Skrevet 29. desember 2003 Del Skrevet 29. desember 2003 kommer det noen annen feilmelding? det skal ikke være noen som helst output *før* header funksjonskallet. som jeg skrev, selv et lite mellomrom er output. Lenke til kommentar
Torbjørn Skrevet 29. desember 2003 Del Skrevet 29. desember 2003 kommer det noen annen feilmelding? det skal ikke være noen som helst output *før* header funksjonskallet. som jeg skrev, selv et lite mellomrom er output. Lenke til kommentar
fjotten Skrevet 29. desember 2003 Del Skrevet 29. desember 2003 Åja... da så... Edit: Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/reboothome.com/httpdocs/index.php:11) in /home/httpd/vhosts/reboothome.com/httpdocs/include/dataproblemer/dataproblemer.php on line 8 Jeg fikk fortsatt denne feilmeldingen! Har gjort helt som dere sa! Hvis den kodesnutten du har vist oss er i en egen fil som blir inkludert på en annen side, vil det ikke virke siden du da har output før headerendring. Lenke til kommentar
Torbjørn Skrevet 30. desember 2003 Del Skrevet 30. desember 2003 hvis du allerede har kjørt deg fast ved at du inkluderer alt i en index.php-fil, som allerede har spyttet ut en masse HTML før Location-header kjøres, har du først og fremst et dårlig design på dette webprosjektet som bør skrives om ved neste beleilige totalrevidering (jeg liker og å utsette ting ) reserveløsningen og latmannsløsningen, er å legge inn ob_start(); øverst i index.php fila. Lenke til kommentar
Gjest Slettet+432 Skrevet 30. desember 2003 Del Skrevet 30. desember 2003 Takk det funka Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå