Arafatt Skrevet 8. mars 2006 Del Skrevet 8. mars 2006 (endret) Tenkte jeg skulle lage et påmeldingsskjema som sender informasjon til en egen "skjult" side, ikke til en e-post adresse som mange ferdigskjema'r gjør. Siden skal settes opp slik at man fyller ut fullt navn i en rute, deretter trykker på en "send" knapp. Det skal da dukke opp ny side hvor det kan stå noe slik som "Ditt navn er nå registert". Samt en link tilbake. Så vil jeg ha en egen "skjult" side hvor alle navnene dukker opp på en liste, gjerne nummerert fra 1 og oppover. Har lest litt her: http://www.tizag.com/phpT/forms.php men har ikke blitt så veldig klokere, er ingen php ekspert. Har sett for meg at navnene må skrives til en .txt fil.. som deretter kan leses fra en html side. Noen som har noe forslag til hvordan jeg kan lage et sånt skjema? Eller som har ferdige script som kan brukes. Pål Einar Endret 8. mars 2006 av Arafatt Lenke til kommentar
nree Skrevet 8. mars 2006 Del Skrevet 8. mars 2006 Vist dette skal være noe serriøst ville jeg brukt mySQL til dette.. Kansje det er pga. jeg ikke vet en dritt om hvordan man lagrer til txt filer og skriver ut en masse informasjon fra de igjen etterpå.. Vist du skal bruke mySQL er det bare å ha noen former som informasjonen legges inn i, så lager du deg ett lite script som legger alt inn i en rad i en tabell i databasen. På den sjulte siden henter du informasjonen ut igjen av databasen. Det er ikke så veldig vanskelig når du kan det, jeg kan ingen av kodene (omtrendt) av mySQL i hode, derfor er det litt vanskelig å hjelper deg med det. Vist du vil ha det etterhverdandre legger du til date() i databasen og sorterer alt etter dato. Vet at det er mange kloke hoder som kan dette skikkelig som kan hjelpe deg mer på vei.. Lenke til kommentar
CruellaDeVille Skrevet 8. mars 2006 Del Skrevet 8. mars 2006 (endret) Tenkte jeg skulle lage et påmeldingsskjema som sender informasjon til en egen "skjult" side, ikke til en e-post adresse som mange ferdigskjema'r gjør. Siden skal settes opp slik at man fyller ut fullt navn i en rute, deretter trykker på en "send" knapp. Det skal da dukke opp ny side hvor det kan stå noe slik som "Ditt navn er nå registert". Samt en link tilbake. Så vil jeg ha en egen "skjult" side hvor alle navnene dukker opp på en liste, gjerne nummerert fra 1 og oppover. Har lest litt her: http://www.tizag.com/phpT/forms.php men har ikke blitt så veldig klokere, er ingen php ekspert. Har sett for meg at navnene må skrives til en .txt fil.. som deretter kan leses fra en html side. Noen som har noe forslag til hvordan jeg kan lage et sånt skjema? Eller som har ferdige script som kan brukes. Pål Einar 5718919[/snapback] <?php /* * knappen i html heter submit. Hvis den ikke er * trykket på: */ if(!isset($_POST['submit'])){ print // javascriptkode for å sjekke input-felt <<<HTML <script type="text/javascript"> function check(){ var navn = document.forms[0].elements[0].value; if(!navn) { alert("Kan ikke være tom"); return false; } return true; } </script> <!-- skjema for å sende inn fullt navn --> <form method="post" action="" onsubmit="return check();"> Fullt navn: <input type="text" name="navn"> <input type="submit" name="submit" value="Send inn"> </form> HTML; }else{ // Post-variabler uskadliggjøres $navn = strip_tags(addslashes(trim($_POST['navn']))); // Hvis navn ikke er tom streng og er satt if(isset($navn) && !empty($navn)){ /* Åpne filpeker til filen din * a+ betyr: Åpne filen for skriving og lesing, * sett pekeren på slutten av filen. * Hvis filen ikke finnes opprett den */ $fp = fopen('filnavnet_ditt.txt','a+'); // Feilmelding hvis filen ikke kunne opprettes eller åpnes if(!$fp){ print ("Kunne ikke åpne filen, sorry"); /* avbryter resten av script * Skulle kanskje hatt en header her, men output er alt sendt * i forma av html-kode */ exit; } // Legger til linjeskift etter navnet $innhold = $navn . "\n"; // skriver innholdet fwrite($fp, $innhold); // lukker filstrømmen fclose($fp); // Melding til brukeren print ("Ditt navn er lagt til"); }else{ /* Dobbeltsjekker at navnefelt ikke er tomt * Noen brukere har javascript deaktivert og denne fanger opp * disse brukerene */ print "Navnefelt kan ikke være tomt"; } } ?> Lesingen kan du gjøre slik: <?php /* * Åpne fil for kun lesing */ $fp = fopen('filnavnet_ditt.txt', 'r'); // Feilmelding ved I/O-feil if(!$fp){ print ("Kunne ikke åpne filen for lesing, sorry"); exit; } /* * En filpeker returnerer null når enden av filen er nådd, * Les filen helt til slutten er nådd */ while(!feof($fp)){ // Konverterer \n fra skrivingen til html <br /> (nl2br) // leser filen (fgets(resource) print nl2br(fgets($fp)); } // Lukker strømmen fclose($fp); ?> Php er moro, det er bare å sette igang å lese! Men disse scriptene kan du bruke til å registrere kun et input-felt. Skal du ha fler blir det seffers utvidelser. Jeg har lagt ut kildekode for å legge inn navn på http://nibbler.no/files/navn.php og for å lese filen på http://nibbler.no/files/les.php mvh Endret 8. mars 2006 av CruellaDeVille Lenke til kommentar
Arafatt Skrevet 8. mars 2006 Forfatter Del Skrevet 8. mars 2006 CruellaDeVille: Tusen takk for svar! Skal teste ut dette senere i kveld da jeg har tid Lenke til kommentar
nree Skrevet 8. mars 2006 Del Skrevet 8. mars 2006 Lærte utrolig mye av den der, takk Lenke til kommentar
Arafatt Skrevet 8. mars 2006 Forfatter Del Skrevet 8. mars 2006 Den fungerte veldig bra! Tusen takk! Er det også mulig å legge til slik den også viser nummer forann navnene? Slik som her: Nummer liste Den må vel sende en kode sammen med vært navn som skrives. Pål Einar Lenke til kommentar
trondes Skrevet 8. mars 2006 Del Skrevet 8. mars 2006 Den fungerte veldig bra! Tusen takk! Er det også mulig å legge til slik den også viser nummer forann navnene? bytt ut linjen: ( på slutten av scriptet ) print nl2br(fgets($fp)); med: print ++$nr.".".nl2br(fgets($fp)); Så vil du få nummererte navn Lenke til kommentar
CruellaDeVille Skrevet 8. mars 2006 Del Skrevet 8. mars 2006 Den fungerte veldig bra! Tusen takk! Er det også mulig å legge til slik den også viser nummer forann navnene? bytt ut linjen: ( på slutten av scriptet ) print nl2br(fgets($fp)); med: print ++$nr.".".nl2br(fgets($fp)); Så vil du få nummererte navn 5722522[/snapback] eller slik: <?php /* * En filpeker returnerer null når enden av filen er nådd, * Les filen helt til slutten er nådd */ $nr = 1; while(!feof($fp)){ Konverterer \n fra skrivingen til html <br /> (nl2br) leser filen (fgets(resource) print $nr . " " . nl2br(fgets($fp)); $nr++; } /* eller slik som forrige innskriver skrev, men manglet en variabel *$nr = 0; /* nemlig denne*/ *while(!feof($fp)){ * Konverterer \n fra skrivingen til html <br /> (nl2br) * leser filen (fgets(resource) *print ++$nr . " " . nl2br(fgets($fp)); *} */ // Lukker strømmen fclose($fp); ?> Lenke til kommentar
CruellaDeVille Skrevet 8. mars 2006 Del Skrevet 8. mars 2006 Skal du ha det som html kan du skrive ut tagger: <?php /* * En filpeker returnerer null når enden av filen er nådd, * Les filen helt til slutten er nådd */ print("<ol>\n"); while(!feof($fp)){ /* * Skriver ut en ordered list (nummerert fra en og oppover * leser filen (fgets(resource) */ print ("<li>". fgets($fp). "</li>\n"); } print("</ol>\n"); */ // Lukker strømmen fclose($fp); ?> 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å