|
Av |
Innlegg |
Siri L. Uerfaren Gjerrigknark
Ble Medlem: 29 Mai 2001 Innlegg: 92 Bosted: Skien
Tirsdag 16 April 2002, 19:09 |
|
|
Oooof... altfor lenge mellom hver gang jeg er her inne, altså... Men er unnskyldt - har vært på sykehuset.
Her er mitt o'store problem akkurat nå:
Jeg har tilpasset et php-skript som egentlig er for annonser på nettet til å tjene som en CV-database for en forening vi leder. Problemet mitt er at jeg vil ha det mulig å gå inn og endre på CV'n sin igjen etter at denne er lagt ut. Dette er forsåvidt ganske greit, bortsett fra EN ting. Jeg bruker en "echo"-funksjon for å få vist det brukeren har skrevet i de ulike feltene fra før (dvs. fra første gang CV'n ble laget), og dette går helt fint for TEXTFIELD, men går overhodet ikke for TEXTAREA. Jeg vil at når brukeren går på "endre cv" og logger seg inn, så skal absolutt ALT denne brukeren har skrevet inn fra før bli vist i de tilhørende boksene på skjermen. Hvordan får jeg "echo"et en Textarea? Dvs. hentet ut og vist det som er lagret i databasen for dette feltet?
Et annet problem er også: hvordan får jeg registrert trykk på "enter"? Dvs. når brukeren skriver inn informasjon i en textarea - skriver en linje og så trykker enter, så vil jeg at dette linjeskiftet skal være med når informasjonen vises etterpå. Sånn som det er nå, blir all informasjon lagt etter hverandre uansett om det er trykket på "enter".
Ville blitt veldig, veldig glad hvis noen kunne hjulpet meg med dette så fort som mulig!!!
) Siri
|
_________________ "Vi har blitt lurt - prinsen var pappagutt, en håpløs, bortskjemt fyr..."
viZit Blonde Bøller aNd Siris hjemmeside |
|
|
Av |
Innlegg |
fredrik Gjest
Tirsdag 16 April 2002, 19:29 |
|
|
Hei!
Det du kan gjøre, er å skrive slik i textarea:
<textarea hegiht="" width=""><?php echo "$tingfracv"; ?></TEXTAREA>
Og for å sende inn noe via en form, kan du gå ut i fra dette eksempelet:
<form method="post" action="mottainfo.php">
Ditt navn: <input type="text" name="navn"><br>
Noe annen info: <input type="text" name="annet"><br>
<input type="submit" value="Send">
Da må mottainfo.php se slik ut for å lagre det du skrive inn i filen data.txt:
<?php
$fil = "data.txt";
$file = fopen($fil, "a+");
fputs($file, "Navn: $navn n Annet: $annet n n";
fclose($file);
echo "All informasjonen ble lagret!";
?>
Oycob hadde en kode for å endre linjeskift til <br> eller n, skal be han poste den her.
------------------
Endret: Og vi vil for all del ikke ha noe "JIPPI!! Siri er tilbake!" innlegg i denne tråden...
------------------
[ Dette innlegg ble endret av: fredrik den 2002-04-16 20:31 ] |
|
|
|
Av |
Innlegg |
oycob Moden Gjerrigknark
Ble Medlem: 26 Mai 2001 Innlegg: 249
stemmer: 1
Fredag 19 April 2002, 17:59 |
|
|
Hei Siri.
Trist å høre at du har vært på sykehuset, bra igjen nå eller skal jeg ønske deg god bedring? =/
Vel vel, over til saken. Det er flere måter å gjøre om linjeskift til <BR> eller <BR /> som er den mer korrekte koden (XHTML). Den ene er som følger:
$ferdig_omgjort = str_replace("n", "<BR>", $variabelen_med_teksten_du_skal_endre_linjeskift_til_br_på);
En anne måte å gjøre det på er å bruke nl2br funksjonen. Den forklares slik på php.net:
string nl2br ( string string)
Det vil si at du skriver samme kode som over på denne måten:
$ferdig_omgjort = nl2br($variabelen_med_teksten_du_skal_endre_linjeskift_til_br_på);
Håper dette hjalp deg =)
men angående det andre spørsmålet ditt, tror jeg ikke jeg skjønte det helt... Det er jo bare å echo'e på helt vanlig måte... noe slikt:
echo "
<textarea cols="20" rows="4">$tidligere_fylt_ut_variabel</textarea>
";
Det skal fungere helt fint... jeg har aldri hatt problemer med det. Men kan jo hende jeg misforstod dette...
|
|
|
|
Av |
Innlegg |
fredrik Gjest
Fredag 19 April 2002, 18:04 |
|
|
Istedenfor " kan man faktisk bruke ', oycob Da blir det fort litt mer oversiktelig. |
|
|
|
Av |
Innlegg |
Siri L. Uerfaren Gjerrigknark
Ble Medlem: 29 Mai 2001 Innlegg: 92 Bosted: Skien
Lørdag 20 April 2002, 10:34 |
|
|
Joda.. det skal liksom fungere, og det fungerer helt fint på de skjemafeltene der jeg ikke har en "textarea", men akkurat på disse, får jeg ikke hentet ut igjen opplysningene fra databasen. Koden ser ut som følger:
<textarea rows="20" cols="60" input type="text" wrap="soft" name="ystateprov" value="<?php echo $ystateprov;?>" class="input"></textarea>
Og dette er da helt grei syntaks... og det SKAL fungere, men nei...
Jeg har to mulige løsninger. Vil gjerne vite hva dere tror om dette:
1) Det kan være at den ikke vil vise det brukeren har skrevet inn fordi den ikke tar med linjeskiftene brukeren gjør. Derfor bør jeg bruke det Oycob har skrevet over, Mitt problem er at jeg lurer på hvor i dokumentet jeg skal sette inn dette.
2) Jeg kan ha feil datatype i tabellen min. Hvilken datatype bruker dere i en tabell for å lagre informasjon fra Textarea?
Egentlig burde jeg lage et script helt fra bunnen av istedenfor å tilpasse et som allerede lå ute... tror det hadde vært mye enklere... sukk
Siri
|
_________________ "Vi har blitt lurt - prinsen var pappagutt, en håpløs, bortskjemt fyr..."
viZit Blonde Bøller aNd Siris hjemmeside |
|
|
Av |
Innlegg |
fredrik Gjest
Lørdag 20 April 2002, 11:41 |
|
|
<textarea rows="20" cols="60" input type="text" wrap="soft" name="ystateprov" value="<?php echo $ystateprov;?>" class="input"></textarea> er nok ikke riktig!
Det du må ha er:
<textarea rows="20" cols="60" input type="text" wrap="soft" name="ystateprov" class="input"><?php echo "$ystateprov"; ?></textarea>
Du kan ikke ha value="" i textarea, dette er bare for textinput ol. |
|
|
|
Av |
Innlegg |
Siri L. Uerfaren Gjerrigknark
Ble Medlem: 29 Mai 2001 Innlegg: 92 Bosted: Skien
Lørdag 20 April 2002, 16:35 |
|
|
YES!!!!!!!!! Takker og bukker... nå er det bare den med linjeskift igjen. Er litt usikker på hvor jeg skal sette inn koden for linjeskiftet. Setter jeg den under hvert sted hvor jeg har en textarea eller samler jeg alle ett sted eller setter jeg de inne i koden for dette ene tekstfeltet eller...??? Dette er ting jeg ikke har jobbet noenting med i det hele tatt, så setter pris på å få noen hint så jeg lærer noe nytt...
TAKK Fredrik!!!!
Siri
|
_________________ "Vi har blitt lurt - prinsen var pappagutt, en håpløs, bortskjemt fyr..."
viZit Blonde Bøller aNd Siris hjemmeside |
|
|
Av |
Innlegg |
fredrik Gjest
Lørdag 20 April 2002, 18:06 |
|
|
Hei! Fint du fikk det til!
Denne koden må du sette der php scriptet mottar data fra formen:
$ystateprov2 = str_replace(" ", "<BR>", $ystateprov);
Og så bytter du bare ut $ystateprov med $ystateprov2 på det som står under denne linjen. Bytt ut <BR> med n hvis du ikke skal ha dette på en webside. |
|
|
|
Av |
Innlegg |
Siri L. Uerfaren Gjerrigknark
Ble Medlem: 29 Mai 2001 Innlegg: 92 Bosted: Skien
Lørdag 20 April 2002, 20:08 |
|
|
Jepp...okay... so far, so good, men et nytt problem har dermed oppstått: hvordan fjerner jeg <br></br>-taggene når jeg vil vise de de har skrevet inn i textarea? Det som er, er at de kan legge inn CV'n sin, og alt går helt fint da, men så kan de også gå inn og endre CV'n sin, men da får jeg med alle <br>-taggene i textarea når de kommer inn på skjemaet sitt igjen og hvis de da klikker "ok", blir det dobbelt så mange linjeskift. Jeg trenger altså en funksjon som FJERNER <br>-taggene før jeg echo'er verdiene i feltet.
Any ideas??
Takk for all hjelp så langt! Jeg er veldig, veldig fornøyd
Siri
|
_________________ "Vi har blitt lurt - prinsen var pappagutt, en håpløs, bortskjemt fyr..."
viZit Blonde Bøller aNd Siris hjemmeside |
|
|
Av |
Innlegg |
oycob Moden Gjerrigknark
Ble Medlem: 26 Mai 2001 Innlegg: 249
stemmer: 1
Lørdag 20 April 2002, 20:28 |
|
|
Ikke gjør slik som fredrik sa til slutt =)
Du må IKKE erstatte linjeskift med <BR> der hvor scriptet mottar infoen og legger ut i databasen. Ikke ha noen <BR> koder i databasen, men når du skal vise teksten på en HTML side (ikke i textarea da) så tar du å kjører nl2br()... på den måten slipper du å gjøre om så mye =) |
|
|
|
Av |
Innlegg |
fredrik Gjest
Lørdag 20 April 2002, 20:39 |
|
|
Eller så funker det vel å ta n istedenfor <br>? |
|
|
|
Av |
Innlegg |
Siri L. Uerfaren Gjerrigknark
Ble Medlem: 29 Mai 2001 Innlegg: 92 Bosted: Skien
Lørdag 20 April 2002, 22:08 |
|
|
"ikke i textarea, da"...??? Det er jo nettopp det som er poenget, da. De får jo opp et skjema når de skal lage cv'n sin... de ulike skjemafeltene inneholder f.eks. navn, alder, liste over utdanning, jobberfaring osv. Spesielt kategorier som vanligvis har mye informasjon (som jobberfaring og utdanning) har jeg valgt å plassere i textarea. Etter at CV'n er registrert er det mulig å søke opp CV'ene for andre. Brukerne kan også selv gå inn og endre på sin egen CV... f.eks. har de plutselig fått mer jobberfaring og vil gjerne ha med dette på lista. De logger da inn og får opp det samme skjemaet som de brukte da CV'n ble laget, men denne gangen er de opplysningene de skrev inn allerede satt inn i skjemafeltene (for at de skal slippe å skrive alt på nytt - bare føye til eller endre det som er). Hvis jeg da ikke skal legge til linjeskift FØR jeg legger det i databasen, og jeg ikke kan legge det inn i textarea... hva gjør jeg da? Egentlig er det mest fristende å la det være sånn som det er nå, og heller gå inn manuelt og endre på ting hvis folk er ofte inne og endrer på opplysningene sine. Jeg har jo all informasjon om brukernavn og passord... men er det noen som har en enklere måte??
Siri
|
_________________ "Vi har blitt lurt - prinsen var pappagutt, en håpløs, bortskjemt fyr..."
viZit Blonde Bøller aNd Siris hjemmeside |
|
|
Av |
Innlegg |
fredrik Gjest
Lørdag 20 April 2002, 22:13 |
|
|
Er ikke 100% sikker, men prøv dette:
$ystateprov2 = str_replace("n", "<BR>", $ystateprov);
istedenfor
$ystateprov2 = str_replace(" ", "<BR>", $ystateprov);
KAN hende det fungerer. |
|
|
|
Av |
Innlegg |
oycob Moden Gjerrigknark
Ble Medlem: 26 Mai 2001 Innlegg: 249
stemmer: 1
Lørdag 20 April 2002, 22:18 |
|
|
hmmm
Nå er fredrik HELT på viddene!
I en textarea så skal du ikek bruke <BR> som linjeskift. Det er i HTML, og du kan ikek bruke HTML koder i et textarea. De vises som vanlig tekst. Det jeg mente at du skulel gjøre, var at når de skrev noe inn i textarea så gjør du ingenting med det. Du erstatter ikke linjeskiftene (et linjeskfit er det sammen som n) med noe, men lar de være i fred. Da behøver du ikek gjøre noe med den når du skal vise den i textarea heller. Du skal vise den i HTML også sier du, og der blir ikek linjeskiftene med?? Da kjører du den nl2br() eller str_replace("n", "<BR>", $string); funksjonene!
skjønner du hva jeg mener? |
|
|
|
Av |
Innlegg |
fredrik Gjest
Lørdag 20 April 2002, 22:25 |
|
|
Åjo! Nå skjønner jeg det også!
Du gjør ingenting med det når du saver det til en fil, men hvis du skal vise det i HTML må du sette inn en $ystateprov2 = str_replace("n", "<BR>", $ystateprov); forann echo "$ystateprov! |
|
|
|
|
Side 1 av 3 |
Alle klokkeslett er CET (Europa) Gå til side 1, 2, 3 Neste
|
|
Du kan ikke starte nye temaer i dette forumet Du kan ikke svare på temaer i dette forumet Du kan ikke endre dine egne innlegg i dette forumet Du kan ikke slette dine egne innlegg i dette forumet Du kan ikke delta i avstemninger i dette forumet
|
|
|
|