fsole Skrevet 8. mai 2011 Del Skrevet 8. mai 2011 Hei! Har dette skjemaet: <form method="post" action="kontakt/sendmail.php" <br /> <input type="text" name="navn" value=""> : Ditt navn<br /> <input type="text" name="epost" value=""> : Din e-mail adresse<br /> <br /> <textarea rows="15" cols="60" name="melding"> </textarea><br /><br /> <input type="submit" name="submit" value="Send e-mail" /> <input type="reset" name="reset" value="Nullstill" /> </form> I sendmail sjekker jeg at feltene ikke er tomme: if( !empty($_POST['melding'])&& !empty($_POST['epost']) && !empty($_POST['navn'])) Hvis innholdet av 'epost' eller 'navn' er tomme så stoppes kjøringen, men scriptet registrer ikke at 'melding' er tom. Må ikke alle være true når jeg bruker && ? Eller har det noe å gjøre med at 'melding' er textarea? Lenke til kommentar
Gjest Slettet+9871234 Skrevet 8. mai 2011 Del Skrevet 8. mai 2011 (endret) Har ikke tid til på se på programmeringen din, men statiske PHP skjemaer der alt må skrives inn på nytt er ut. Nå kombinerer man PHP med AJAX og lager skjemaer hvor man kun trenger å oppdatere det som er galt eller tomt. Har et eksempel dypt i samlingen min, men det tar tid å finne det. Det er sikkert like raskt for deg å google: php ajax form Er det du trenger og du ikke finner løsningen på nettet, kan jeg muligens lete det opp for deg. Endret 8. mai 2011 av Slettet+9871234 Lenke til kommentar
Jonas Skrevet 8. mai 2011 Del Skrevet 8. mai 2011 Man trenger på ingen måte å benytte seg av AJAX for å unngå av brukere må skrive inn alt på nytt. Koden feiler for øvrig fordi tekstfeltet sannsynligvis aldri er tomt. Hvis du kikker nøye på HTML-koden din, så ser du at det har sneket seg inn et mellomrom mellom start- og slutt-tag. Lenke til kommentar
AlecTBM Skrevet 8. mai 2011 Del Skrevet 8. mai 2011 Første jeg ser i htmlkoden din er at <form> taggen ikke er avsluttet, samt at du har et space i <textarea>, noe som kan være årsaken til at du ikke får opp melding om at feltet er tomt hvis du bare tykker på submit med en gang. Og kgun, det kommer heeelt an på hva det er man prøver på å lage 1 Lenke til kommentar
Gjest Slettet+9871234 Skrevet 8. mai 2011 Del Skrevet 8. mai 2011 (endret) Og kgun, det kommer heeelt an på hva det er man prøver på å lage Bortsett fra mulige sikkerhetsaspekter (PHP er sikrere enn JS siden koden utføres på webserveren): "AJAX forms rules" Ved å bruke browser sniffing, kan man jo skreddersy til brukerens user agent. Endret 8. mai 2011 av Slettet+9871234 Lenke til kommentar
AlecTBM Skrevet 8. mai 2011 Del Skrevet 8. mai 2011 (endret) Og kgun, det kommer heeelt an på hva det er man prøver på å lage Bortsett fra mulige sikkerhetsaspekter (PHP er sikrere enn JS siden koden utføres på webserveren): "AJAX forms rules" Ved å bruke browser sniffing, kan man jo skreddersy til brukerens user agent. Skjønte ikke helt hva dette hadde med kommentaren min å gjøre. Det jeg mener er det at det er ikke alltid man ønsker å bruke JS i det hele tatt. En lettvekter side uten noe spesielt design, eller en eldre side der man skal utvide og holde det likt som alt annet. EDIT: Kan legge til for TS at det er mer vanlig å sette minimums lengde på tekster enn å sjekke om det er tomt eller ikke Endret 8. mai 2011 av AlecTBM Lenke til kommentar
Gjest Slettet+9871234 Skrevet 8. mai 2011 Del Skrevet 8. mai 2011 Det jeg mener er det at det er ikke alltid man ønsker å bruke JS i det hele tatt. Blir en dobbel nektelse til ja til bruk av AJAX, browser sniffing, "gracefull degradation" & "progressive enhancement"? Ytterligere informasjon: Graceful degradation and progressive enhancement are two sides of the same coin. Both are — in this context — applied to make a web site accessible to any user agent, while providing improved aesthetics and/or usability for more capable browsers. The difference between the two is where you begin your approach. Kilde: http://accessites.org/site/2007/02/graceful-degradation-progressive-enhancement/ Lenke til kommentar
AlecTBM Skrevet 8. mai 2011 Del Skrevet 8. mai 2011 Det jeg mener er det at det er ikke alltid man ønsker å bruke JS i det hele tatt. Blir en dobbel nektelse til ja til bruk av AJAX, browser sniffing, "gracefull degradation" & "progressive enhancement"? Ytterligere informasjon: Graceful degradation and progressive enhancement are two sides of the same coin. Both are — in this context — applied to make a web site accessible to any user agent, while providing improved aesthetics and/or usability for more capable browsers. The difference between the two is where you begin your approach. Kilde: http://accessites.org/site/2007/02/graceful-degradation-progressive-enhancement/ Ikke vri mine ord om til din mening. Du skjønner godt hva jeg mener, er du uenig så kan du heller skape en skikkelig diskusjon i en ny tråd istedenfor å leke tulling med andres innlegg. Har du ikke noe fornuftig å si, ikke si noe. 1 Lenke til kommentar
Runar Skrevet 8. mai 2011 Del Skrevet 8. mai 2011 Hold dere til emnet nå. Trådstarter ønsker hjelp med et PHP-relatert problem. Han nevner ikke en gang AJAX, så hvorfor dere blander inn det er uvisst. Reaksjoner tas på PM. Lenke til kommentar
Gjest Slettet+9871234 Skrevet 8. mai 2011 Del Skrevet 8. mai 2011 (endret) Har du ikke noe fornuftig å si, ikke si noe. Så det du skrev var fornuftig? Jeg har sett i andre tråder hvordan du opptrer, og behandler andre ulikt. Det er transparent å behandle alle likt, med samme faglige respekt. Til deg. Les mine og dine innlegg og se hvem som produserer innhold. Alternative og bedre måter å gjøre ting på er vel også innhold? Takk for at jeg gidder å svare deg. Dette ble skrevet før jeg så moderators svar. Der er også ferdige php form snutter på nettet. Endret 8. mai 2011 av Slettet+9871234 Lenke til kommentar
Tom_ Skrevet 8. mai 2011 Del Skrevet 8. mai 2011 (endret) Håper denne hjelper deg litt fsole : ) <?php // sendmail.php if(!empty($_POST['melding'])&& !empty($_POST['epost']) && !empty($_POST['navn'])) { echo "Success"; } else { echo <<<_END <form method="post" action="sendmail.php"><br /> <input type="text" name="navn" value=""> : Ditt navn<br /> <input type="text" name="epost" value=""> : Din e-mail adresse<br /> <br /> <textarea rows="15" cols="60" name="melding"></textarea><br /><br /> <input type="submit" name="submit" value="Send e-mail" /> <input type="reset" name="reset" value="Nullstill" /> </form> _END; } ?> Endret 8. mai 2011 av Tom_ Lenke til kommentar
fsole Skrevet 9. mai 2011 Forfatter Del Skrevet 9. mai 2011 Takk for svarene. Det var så enkelt at det var mellomrommet i <textarea> som gjorde det Burde ha sett det... Når det gjelder AJAX så har jeg ikke peiling, foreløpig så er ikke sidene jeg jobber med mere avansert enn at jeg greier meg med php/html/css(og jeg bør vel heller konsentere meg om det enn å begynne med noe nytt nå) Lenke til kommentar
Gjest Slettet+9871234 Skrevet 9. mai 2011 Del Skrevet 9. mai 2011 (endret) Jeg har jo en tendens til å foreslå bøker. Er du ny på php, kan jeg på det varmeste anbefale: http://www.apress.com/9781430224730 Klikk "full description". Der får du en hurtig orientering om hva boken dreier seg om. I kapittel 3 er der eksempler på at du kan forbedre funksjonalitet og sikkerhet i din kode. Du kan laste ned koden gratis fra samme side uten å kjøpe boken. Den inneholder imidlertid ikke kode fra de første kapitlene. Er du rask til å browse / skanne kode, regner jeg at du finner en mer elegant og sikker løsning på ditt problem. Men nå skal ikke jeg drive med mer utenomsnakk. Endret 9. mai 2011 av Slettet+9871234 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å