???????? Skrevet 28. juni 2004 Del Skrevet 28. juni 2004 Hvorfor skulle den bli avist? ..jeg bare spørr..Det er jo altid samme e-post adressen som blir send til.. Når du har brukt pc en stund så vet du sikkert at den oppfører seg merkelig av og til - tenk deg da en server som har store programmer som er aktive hele døgnet 365 dager i året. Det skjer mye rart med servere og viktige ting som mail burde alltid sjekkes - ellers kan det hende noen har send deg en mail og venter på svar, så har den blitt aldri kommet frem grunnet en feil. Lenke til kommentar
aog Skrevet 28. juni 2004 Forfatter Del Skrevet 28. juni 2004 Ok. Her er webside: index.php <html> <head> <title>Test v.01</title> <style type="text/css" media="screen">@import "style.css";</style> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); //--> </script> </head> <body> <div id="center"> <div id="Layer1"> <br> <br> <br> <br> <br> <br> <?php include("linker.php") ?> </div> <div id="Layer2"> <?php /* Skjekker om superglobalen er satt */ if (!isset ($_GET['id'])) { //Hvis ikke satt, setter main.php til hoved $_GET['id'] = 'main'; } if (file_exists($_GET['id'].".php")) { include($_GET['id'].".php"); } else { echo ('404! Filen finnes ikke'); } ?> </div> <div id="Layer3"></div> </div> </body> </html> linker.php <a href="index.php?id=main">Hjem</a> - <a href="index.php?id=jobb">Jobb</a> - <a href="index.php?id=produkter">Produkter</a> - <a href="index.php?id=skjema">Kontakt oss</a> main.php Lorem ipsum dolor sit amet, consectetuer adipiscing elit. skjema.php <form action="index.php?id=mail" method="POST"><br> Skriv inn ditt fulle navn:<br> <input type="text" name="navn" size="25" maxlength="45" /><br><br> Skriv inn ditt telefon nummer<br> hvor vi kan kontkte deg:<br> <input type="text" name="nr" size="25" maxlength="45" /><br><br> Skriv inn din e-post adresse:<br> <input type="text" name="mail" size="25" maxlength="45" /><br><br> Hvor gammel er du?<br> <input type="text" name="alder" size="25" maxlength="45" /><br><br> Når ønsker du å bli kontaktet?<br> <input type="text" name="når" size="25" maxlength="45" /><br><br> Hva er målet ditt?<br> <textarea NAME="mål" ROWS="6" COLS="45" wrap="hard"> </textarea> <br><br><br><br> <input type="submit" value="Neste -->" /> </form> mail.php <div> <form action="index.php?id=mail2" method="POST"><br> <br> <br> Navn:<br> <textarea NAME="navn" ROWS="2" COLS="45" wrap="hard"> <?php echo $_POST["navn"]; ?> </textarea><br><br> Telefon:<br> <textarea NAME="nr" ROWS="2" COLS="45" wrap="hard"> <?php echo $_POST["nr"]; ?> </textarea><br><br> E-post:<br> <textarea NAME="mail" ROWS="2" COLS="45" wrap="hard"> <?php echo $_POST["mail"]; ?> </textarea><br><br> Alder:<br> <textarea NAME="alder" ROWS="2" COLS="45" wrap="hard"> <?php echo $_POST["alder"]; ?> </textarea><br><br> Ønsker å bli kontaktet:<br> <textarea NAME="når" ROWS="2" COLS="45" wrap="hard"> <?php echo $_POST["når"]; ?> </textarea><br><br> Har dette som mål:<br> <textarea NAME="mål" ROWS="6" COLS="45" wrap="hard"> <?php echo $_POST["mål"]; ?> </textarea><br><br> <strong> Jeg ønsker å bli kontaktet på: <br> <INPUT TYPE="radio" NAME="tlf" value="telefon"> telefon. <br> <INPUT TYPE="radio" NAME="epost" value="epost"> e-post.<br> <br></strong> <input type="submit" value="Send skjema" /> </form> </div> mail2.php (gir mulighet for å redigere skjemaet som er fylt ut.) <?php header('Location: http://www.housemaadiah.com/aog/hl/index.php'); mail($til, $topic, $melding,''); exit; ?> <?php $til = "[email protected]"; $topic = "Produkter/Jobb"; $melding = "Navn: $navn\n\n\n"; $melding .= "Telefon: $nr\n\n\n"; $melding .= "E-post: $mail\n\n\n"; $melding .= "Alder: $alder\n\n\n"; $melding .= "Ønsker å bli kontaktet: $når\n\n\n"; $melding .= "Har dette som mål: $mål\n\n\n"; $melding .= "Kontakt meg på: $tlf $epost\n\n\n"; ?> <div> Takk for at du fylte ut dette skjemaet.<br> Vi skal prøve å ta kontakt når det passer best for deg.<br> <br> Du vil nå bli sendt til startsiden. <br> <br> <strong>Navn:</strong><br> <?php echo $_POST["navn"]; ?> <br><br> <strong>Telefon:</strong><br> <?php echo $_POST["nr"]; ?> <br><br> <strong>E-post:</strong><br> <?php echo $_POST["mail"]; ?> <br><br> <strong>Alder:</strong><br> <?php echo $_POST["alder"]; ?> <br><br> <strong>Ønsker å bli kontaktet:</strong><br> <?php echo $_POST["når"]; ?> <br><br> <strong>Har dette som mål:</strong><br> <?php echo $_POST["mål"]; ?> <br><br> Kontakt meg på <?php echo $_POST["tlf"]; ?> <?php echo $_POST["epost"]; ?> <br><br> </div> Saken er at når mail2.php lastes, så skal siden gå til <a href="index.php?id=main">Hjem</a> helst så fort som mulig, i tilegg til at skjemaet skal sendes til mail. Kan noen forklare hva som er galt, og fortelle meg hva jeg skal endre? Jeg får ikke dette til. Lenke til kommentar
Torbjørn Skrevet 29. juni 2004 Del Skrevet 29. juni 2004 hvor mye tankearbeid har du lagt ned i mail2.php? drister meg til å påstå veldig lite, siden du prøver å kjøre mail med tomme variabler og kjører exit helt øverst, mens det ser ut som om du har itl hensikt å kjøre mye mere kode lengre ned. Lenke til kommentar
aog Skrevet 30. juni 2004 Forfatter Del Skrevet 30. juni 2004 Oki. Nå har jeg prøvd mye rart for å få dette til. Det jeg lurte på, er om det er mulig å lagen en knapp som har 2 funksjoner. eks: onClick: <?php mail( $til, $topic, $melding,''); ?> onReleas: <a href="index.php?id=main></a> Går det ann? Lenke til kommentar
Torbjørn Skrevet 30. juni 2004 Del Skrevet 30. juni 2004 aog: onclick er javascript, alt som skal kjøres i php må f.eks submites til en server eller komme iform av at man trykker på en link... javascript defineres av html, php lager html. hvis du først lager den html'en du vil ha, kan du siden se hvordan php må se ut for å produsere den htmlen Lenke til kommentar
Lokaltog Skrevet 30. juni 2004 Del Skrevet 30. juni 2004 Det jeg ville gjort var å lage et ekstra dokument sånn her: skjema.php: ... <form method="post" action="mail.php"> ... mail.php: <?php // Evt. registrere superglobals som variabler her mail( $til, $topic, $melding,''); header("Location: index.php?id=main"); ?> Som gjør nøyaktig samme nytten uten bruk av javascript. Lenke til kommentar
aog Skrevet 30. juni 2004 Forfatter Del Skrevet 30. juni 2004 lokaltog : Jeg tror jeg har prøvd alle verdens måter å bruke header("Location: ") på. Det går bare ikke. Jeg tror det kommer av at alle sidene mine blir includert inn i index siden min, og derfor inneholder bare indexsiden <head>, <body>, osv. Løsningen min ble slik: <INPUT TYPE="button" value="Rediger" onClick="history.back(-1)"> <INPUT TYPE="button" value="Send skjema" onClick="<?php mail( $til, $topic, $melding,''); ?>" onMouseUp="parent.location='http://www.server.com/aog/hl/'"> </FORM> Dette virker utmerket. Har ikke oppdaget noen form for bugger eller lignened med dette. Litt morsomt: Når jeg satt her å prøvde allverdens ting, så komm jeg opp med en løsning trodde jeg. Det som skulle skje var at mailen skulle sendes, og index siden skulle vises. Da jeg teste så begynte siden å laste. Jeg gav den litt tid. (ca 30sec) Så stoppet jeg den siden det ikke skjedde noe. Da jeg sjekket e-posten min, lå det over 2500 mailer som ville inn. Måtte slette den mail-kontoen ja Lenke til kommentar
Torbjørn Skrevet 30. juni 2004 Del Skrevet 30. juni 2004 tro meg - det der virker ikke utmerket Lenke til kommentar
Torbjørn Skrevet 30. juni 2004 Del Skrevet 30. juni 2004 hva tror du skjer når noen går inn på den mailsiden? når du sitter med hele siden i browseren, view source, og sjekke hva som står inni onClick knappen. hva tror du skjedde sekundet før du får siden, mens phpkoden ble kjørt på serveren? Lenke til kommentar
aog Skrevet 30. juni 2004 Forfatter Del Skrevet 30. juni 2004 (endret) ahhh.. nå ser jeg. hmmm...... da får jeg tenke litt mer.. Jeg gir meg ikke. Endret 30. juni 2004 av aog Lenke til kommentar
Torbjørn Skrevet 30. juni 2004 Del Skrevet 30. juni 2004 prøv å gå inn på siden *uten* å trykke på send mail Lenke til kommentar
???????? Skrevet 30. juni 2004 Del Skrevet 30. juni 2004 Det finnes mange grunner til at du ikke skal benytte javascript - der i blandt er det viktig å merke seg at nærmere 10% av alle webbrukere ikke har javascript - så da vil ikke de kunne benytte den løsningen. Hva er det store problemet? Ta en kikke på denne: side1.php <?php // skipper validering av mailsendingen mail(...); header("Location: side2.php"); // bruk helst full path ?> side2.php <?php echo "takk for din mail!"; ?> Lenke til kommentar
Torbjørn Skrevet 30. juni 2004 Del Skrevet 30. juni 2004 ahhh.. nå ser jeg. hmmm...... da får jeg tenke litt mer.. Jeg gir meg ikke. aog: merk at all phpkode er allerede kjørt når du sitter med siden "i fanget", om du har phpkode i onClick, er den allerede utført når du får siden. det er dette som skiller server-side mot client-side programmering. serverside er allerede ferdig når du får siden. client-side kjører når du trykker på knappet etc.. uten at noe sendes til server. som onClick og javascript gjør. Lenke til kommentar
aog Skrevet 30. juni 2004 Forfatter Del Skrevet 30. juni 2004 Det finnes mange grunner til at du ikke skal benytte javascript - der i blandt er det viktig å merke seg at nærmere 10% av alle webbrukere ikke har javascript - så da vil ikke de kunne benytte den løsningen. Hva er det store problemet? Ta en kikke på denne: side1.php <?php // skipper validering av mailsendingen mail(...); header("Location: side2.php"); // bruk helst full path ?> side2.php <?php echo "takk for din mail!"; ?> Som jeg har sagt før, så virker av en eller annen grunn ikke header("Location: side2.php"); // bruk helst full path Jeg vet ikke hvorfor, men det bare er sån.. Har prøvd utallige ulike varianter på det. Lenke til kommentar
Torbjørn Skrevet 30. juni 2004 Del Skrevet 30. juni 2004 det virker fordi du har echo'et html *før* du kjører header funksjonen. tror det er sagt et par dusin ganger nå. hvorfor må du gå via index.php?id=whatnot for å sende mailen? hvis det er det du gjør? hvorfor gå gjennom includeoppsettet hvis du bare skal sende en mail og sende brukeren videre. han får jo ikke sett layouten du rasjonaliserer likevel. Lenke til kommentar
aog Skrevet 30. juni 2004 Forfatter Del Skrevet 30. juni 2004 Jo. Han får sett det. Slik skal det bli: 1. Du fyller ut skjemaet. 2. Du trykker neste. 3. Du ser hva du har skrevet 4. Du går tilbake for å redigere, eller du sender. 5. Siden går til index samtidig som den blir sendt. Slik er det: 1. Du fyller ut skjemaet. 2. Du trykker neste. 3. Du ser hva du har skrevet og mailen blir sendt. 4. Du går tilbake for å redigere, eller du "sender". (Det står iallefal at du sender :-p ) 5. Siden går til index samtidig som den blir "sendt". Jeg gir meg uansett ikke før jeg får dette til Lenke til kommentar
Torbjørn Skrevet 30. juni 2004 Del Skrevet 30. juni 2004 hvis du sender en location header får han *ikke* sett det. da sendes han jo videre? dit han sendes til etter at mail er sendt kan du vise hva du måtte ønske, der skal du heller ikke sende noen ny location header. Lenke til kommentar
aog Skrevet 30. juni 2004 Forfatter Del Skrevet 30. juni 2004 (endret) oki.. Hvis jeg kunne lagret form output på serveren, da kunne jeg vel senere hentet det ut for så å sende det til mail? Da trenger no ikke brukeren se det, så da kan jeg jo bruke header("Location: side.php"); // bruk helst full path Endret 30. juni 2004 av aog Lenke til kommentar
Torbjørn Skrevet 30. juni 2004 Del Skrevet 30. juni 2004 argh... les nøye det jeg skriver nå 1: skjema.php lar du stå som den står 2: i mail.php setter du action="mail2.php", og IKKE index.php?id=mail2 3: i mail2.php har du phpkoden som sender mailen og som sender en location header, eksempel slik: <?php # # en eller annen phpkode som lager variablene: $til, $topic, $melding # # når variablene så er satt: mail($til, $topic, $melding,''); header("Location: index.php?id=takkformail"); exit; ?> 4: lag deg siden takkformail.php: <?php <div> Takk for at du fylte ut dette skjemaet.<br> Vi skal prøve å ta kontakt når det passer best for deg.<br> <br> ?> I den siste fila kan du evt. lage en meta refresh eller en javascript sak som dessuten sender brukeren til framsiden etter en stund. Merk at kombinasjonen "vise tilbakemelding" og "bruke location header" ikke lar seg kombinere. Lenke til kommentar
aog Skrevet 30. juni 2004 Forfatter Del Skrevet 30. juni 2004 OMG! /me start kicking my selfe! Dette er jo lett Jaja... Jeg har da lært noe av dette ja Takker for hjelp.. 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å