Garanti Skrevet 17. juli 2008 Forfatter Del Skrevet 17. juli 2008 Ok, glemte å si at jeg ikke hadde funnet en fungerende guide. Uansett, jeg prøvde denne, men får følgende feilmelding: Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. b30sm276190ika.3 in C:\wamp\www\mailing list\sendmail.php on line 3 Lenke til kommentar
Jonas Skrevet 17. juli 2008 Del Skrevet 17. juli 2008 STARTTLS er en type smtp-kryptering og PHP's innebygde mail-funksjon støtter ikke noe av den slags. Prøv et mail-rammeverk eller en annen SMTP-server, og se om det da fungerer. Lenke til kommentar
Garanti Skrevet 21. juli 2008 Forfatter Del Skrevet 21. juli 2008 Hvordan sender man POST-data fra et dokument til et annet? GET "sendes" jo gjennom url, men man har vel ikke mulighet til slikt i POST? Lenke til kommentar
Ernie Skrevet 21. juli 2008 Del Skrevet 21. juli 2008 Du lager en form og sender data den veiene. Det er egentlig litt misvisende å kalle det GET, for det man henter er egentlig data fra URLen og ikke fra selve GET-requesten. En GET-request sender ikke data i seg selv annet enn en forespørsel om en side. POST-request kan derimot sende data, og det skjer som data i «requesten». Dette kan du ikke få til via en URL i og med at den bare bestemmer plasseringen av noe og er, og vil heller aldri bli, en metode for å sende data gjennom. Det går såklart å bruke javascript for å et a-element til å gjøre det, men essensielt trenger du alltid en form med data i for å generere en POST-request og dermed for data til $_POST. Lenke til kommentar
Garanti Skrevet 21. juli 2008 Forfatter Del Skrevet 21. juli 2008 Så det vil med andre ord si at man må/skal/bør bruke $_SESSION for å flytte data fra to eller flere dokumenter hvor dataene ikke skal være brukergenerert gjennom former? Lenke til kommentar
Ernie Skrevet 21. juli 2008 Del Skrevet 21. juli 2008 Ja, eller til en viss grad plassere det i URLen. Lenke til kommentar
grimjoey Skrevet 22. juli 2008 Del Skrevet 22. juli 2008 (endret) GET: informasjon blir sendt til serveren gjennom urlen i requesten brukes til å sende data til server som ikke fører til en "change of state". for eksempel verdier til pagination, brukerinnlogging eller søke-setninger. POST: informasjon blir sendt til serveren gjennom en egen request. brukes i forms, spesielt dersom det fører til en "change of state" (for eksempel en database blir oppdatert som et resultat av den innsendte formen) SESSION: informasjon blir lagret på serveren med en referanse til bruker. referansen er enten en hash lagret i cookie hos bruker eller en hash overført via GET. brukes for å kjenne igjen validerte brukere over flere sider. kan også brukes for å lagre informasjon om instillinger, men det er verdt å merke at dataene slettes når session er over med mindre de overføres til en database e.l. Endret 22. juli 2008 av grimjoey Lenke til kommentar
Garanti Skrevet 29. august 2008 Forfatter Del Skrevet 29. august 2008 Si at man har en klasse User, som inneholder en funksjon for å lage en bruker. Videre har man et php-skript "newUser.php" som benytter klassen User for å opprette nye brukere. Er det vanlig å la validering av brukernavn og passord foregå i denne funksjonen (eller 'metode' som det vel heter i OOP), eller pleier dette å gjøres lokalt i skriptet? Vil nesten tro det er best å la det ligge i metoden, og heller la den returnere en feilmelding dersom valideringen feiler? Lenke til kommentar
itsmebth Skrevet 30. august 2008 Del Skrevet 30. august 2008 Jeg ville ha gjort det i metoden, og kaste en exception hvis det ikke er gyldig. Lenke til kommentar
Garanti Skrevet 30. august 2008 Forfatter Del Skrevet 30. august 2008 (endret) Hva menes med å kaste en exception? Endret 30. august 2008 av Garanti Lenke til kommentar
itsmebth Skrevet 30. august 2008 Del Skrevet 30. august 2008 http://no2.php.net/exceptions http://en.wikipedia.org/wiki/Exceptions Lenke til kommentar
Garanti Skrevet 22. september 2008 Forfatter Del Skrevet 22. september 2008 La oss tenke oss et følgende scenario: Ved opprettelse av en bruker, viser det seg at brukeren gjør to feil. Han har et ugyldig brukernavn, og passordet han skrev inn for validering, samsvarte ikke med det første passordet. Nå har jeg holdt litt på med Exceptioning og slikt i PHP, men hvordan skal jeg fomidle at brukeren har gjort to feil? Med en gang try-blokken finner en exception, blir jo den kastet? Lenke til kommentar
Lokaltog Skrevet 22. september 2008 Del Skrevet 22. september 2008 (endret) Vet ikke helt om Exceptions er det jeg ville brukt i et slikt scenarie (siden det som du sier gjør at man hopper ut til catch-blokken ved første feil). Hvis du ønsker å formidle flere feilmeldinger til brukeren, så kan du jo gjøre det slik (kjapt og stygt eksempel): if(!$user_name_is_valid){ $errors[] = 'Brukernavnet er feil'; } if(!$user_pass_is_valid){ $errors[] = 'Passordet er feil'; } // ... if(count($errors)) { echo "Skjemaet ble ikke fylt ut korrekt: ". implode(', ', $errors); } else { // ingen feil, opprett bruker } Endret 22. september 2008 av Lokaltog Lenke til kommentar
hallegyn Skrevet 22. september 2008 Del Skrevet 22. september 2008 Nå har jeg holdt litt på med Exceptioning og slikt i PHP, men hvordan skal jeg fomidle at brukeren har gjort to feil? Med en gang try-blokken finner en exception, blir jo den kastet? Ville prøvd å catche exceptionen og logge den i en egen logg-klasse, la programmet gå videre til neste exception, logge den, og til slutt presenter loggen til brukeren? Lenke til kommentar
Garanti Skrevet 22. september 2008 Forfatter Del Skrevet 22. september 2008 @Lokaltog: Jo, jeg gjorde dette før jeg begynte med OOP, men der må da finnes mer elegante måter å gjøre det på? @erit01: Hvordan kan man catche exceptionen og likevel gå videre til neste exception? Lenke til kommentar
Garanti Skrevet 23. september 2008 Forfatter Del Skrevet 23. september 2008 *bumb* Klarer ikke finne en løsning på problemet, har ikke helt forstått exceptions ennå.. Lenke til kommentar
itsmebth Skrevet 23. september 2008 Del Skrevet 23. september 2008 class Validator{ ... public function isValid(); ... } class RegexValidator extends Validator{ ... } class EMailValidator extends RegexValidator{ ... } class AlphaNumericValidator extends Validator{ ... } class ValidatorCollection{ ... public function validate(); public function getErrors(); ... } Lenke til kommentar
hallegyn Skrevet 23. september 2008 Del Skrevet 23. september 2008 @erit01: Hvordan kan man catche exceptionen og likevel gå videre til neste exception? try { $validator->validate($email); } catch (Exception $e) { $feedback->add('e-mail address not valid'); } try { $validator->validate($age); } catch (Exception $e) { $feedback->add('Age has to be between 10 and 110 years'); } Kan dette hjelpe? Btw: Jeg har totalt slutta å håndskrive slike ting for min egen del. Bruker alltid symfony når jeg programmerer php. Lenke til kommentar
Garanti Skrevet 23. september 2008 Forfatter Del Skrevet 23. september 2008 (endret) Dette hjalp! Man flusher feedback til slutt da, ikke sant? Edit: Ang. Symfony så vil jeg helst lage CMS-rammeverk selv. Vet ikke helt hvorfor, men det er jo utfordrende og gøy, og man lærer jo hele tiden. Holder på å lage en drøss med klasser som skal hjelpe meg Problemet er jo at jeg ikke på langt nær er ferdig med OOP PHP, så jeg har nok mange teknikker jeg må implementere i scriptene etterhvert. Skal bli gøy hvis jeg en gang blir ferdig, for å se hvordan det evt. vil fungere. Endret 23. september 2008 av Garanti Lenke til kommentar
Lokaltog Skrevet 23. september 2008 Del Skrevet 23. september 2008 Jeg synes fremgangsmåten til erit01 ser utrolig tungvint ut, og jeg kan ikke forstå hvordan dette gir noen fordeler over fremgangsmåten jeg foreslo. Bare fordi det er mer "OO" betyr ikke at det er en glup måte å gjøre det på. Koden til erit01 gjør nøyaktig det samme som koden min - og den gir så vidt jeg vet ingen ekstra fordeler. Det eneste som skjer er at man må rote til koden, og bruke 4 ekstra linjer for hver kontroll av en variabel. Eller har jeg misforstått fullstendig? Er dette virkelig måten man bør kode på? 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å