Top
Phpuniverset logo
 
930 banner

INDHOLD

Forside

Script libary

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

Forum

Online udviklere


ARTIKLER

C / C++

CSS

Diverse

E-handel / annoncer

Flash

Grafik

HTML

Internet

Javascript

Linux

PHP/MySQL

Programmer

Søgemaskiner

Windows


INFO

Information

Annoncering

Kontakt

Forside Forum PHP, mysql Kontakt og bestilling på samme tid?

Kontakt og bestilling på samme tid?


 

Kontakt og bestilling på samme tid?

Martin Nørgaard  

Hej allesammen.

Jeg sidder i øjeblikket og arbejder på en webrelateret hjemmeside, hvor jeg har til
opgave at lave et bestillings-system, så besøgende kan bestille produkter. Samtidigt har
jeg også fået til opgave at lave en kontakt-formular, som skal befinde sig på samme
side, men dette har gjort, at jeg er rendt ind i problemer. Jeg har nemlig 100 % styr på
mit e-mail script, men da jeg ikke helt vidste, hvordan jeg skulle lave bestillings
scriptet fra bunden, så begyndte jeg i stedet for at redigere i mit e-mail script, så
det i sidste ende ville blive det ønskede bestillings script. Problemet er nu bare, at
jeg ikke helt kan få adskilt de 2 koder 100 %, så informationerne ikke bliver blandet.
Og da jeg umiddelbart ikke kan spotte fejlen, så tænkte jeg på, om der var nogen
herinde, som kunne hjælpe mig.

Her er hovedkoden:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
<!--
body {
    background-color: #000000;
}
.style1 {color: #FFFFFF}
-->
</style>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="reset.css" media="all" />
    <link rel="stylesheet" type="text/css" href="default.css" media="all" />
    <title>Kontakt</title>
</head>
<body class="kontakt">
    <div id="container">
        <div id="content">
            <h1 class="replace">Z-IN</h1>
          <div id="main" class="clearfix">
                <h2>Kontakt</h2>
                <dl>
                    <dt>Z-IN</dt>
                    <dd>
                        <div>Centervej 2</div>
                        <div>6000 Kolding</div>
                        <div>Fax: 75 518777</div>
                        <div><a href="mailto: Z-in@z-in.dk">Z-in@z-in.dk</a></div>
                    </dd>
                </dl>
                <p>Du er også velkommen til at benytte nedenstående
kontakt/bestillingsformular til hurtig bestilling eller spørgsmål til produktet,
leveringer, betalingsmetoder eller lignende. Vi svarer hurtigst muligt.</p>
                <?php

// ----------------------------------
// Trin 1: Konfiguration
// Jeg foretrækker arrays, selvom det i denne situation kan virke lidt (meget)
overflødigt :)
// ----------------------------------
$CONFIG = array ();
$CONFIG['email'] = ' nqrgard@hotmail.com';  // modtager
$CONFIG['html']  = (bool) FALSE// brugere kan ikke bruge HTML, ellers TRUE
$CONFIG['side']  = $_SERVER['PHP_SELF']; // modtager-siden er samme side
$CONFIG['emne']  = TRUE// emne skal udfyldes - ellers FALSE

// ----------------------------------
// Trin 2: Data
// ----------------------------------
extract ($CONFIG3'conf');
extract ($_POST);

// ----------------------------------
// Trin 3: Validering
// ----------------------------------
function ValiderNavn ($navn) {
  
$return htmlspecialchars ($navn); // ikke htmlentities - æøå skal med
  
$return ereg_replace ("[0-9]"""$navn);
  return 
$return;
}
if ((int) 
$__do === 1) {
  if (!
$navn$fejl 'Du skal indtaste dit navn';
  if (
ValiderNavn ($navn) != $navn$fejl 'Dit navn indeholder ulovlige tegn';
  if (
strlen ($navn) < 2$fejl 'Så kort kan dit navn ikke være';

  if (
$conf_emne && (!$emne)) $fejl 'Din besked skal have et emne';

  
// Email tjek
  // Har brugt Jacobs regex da jeg ikke selv er en ørn til det :)
  
if (!eregi ("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$",
$email)) $fejl 'Din e-mail er

ugyldig'
;

  if (
strlen ($besked) < 10$fejl 'Din besked er for kort';

  if (!
$fejl) {
    
$header "From: www.Z-in.dk  - kontakt forespoergsel fra $navn <$email>\nReply-To:
$navn";
    if (
$conf_html$header .= "\nContent-Type: text/html; charset=ISO-8859-1";
    else 
$besked "
    Navn: 
$navn
    Tlf.: 
$tlf
    E-mail: 
$email
    Emne: 
$emne
    
    Besked:
    
$besked";

    if (
mail ($conf_email$emne$besked$header)) print '<p></p><br>
<font color="#FFFFFF"><strong>Vi har nu modtaget din besked, og vil svare tilbage hurtigst
muligt!</strong></font>
</p>'
;
    else 
$fejl 'Din besked kunne desværre ikke sendes';
  }
  else print 
"<p><h3><font color='red'>$fejl</font></h3></p>";
}

// ----------------------------------
// Trin 4: Formular
// I nogle tilfælde brokker PHP sig over udeklarerede variabler
// Derfor brugen af @ :)
// ----------------------------------
@print "<form action='$conf_side' method='post'>
  <input type='hidden' name='__do' value='1' />
  <table width='570'>
    <tr><td>Navn:</td><td><input type='text' name='navn' value='
$navn' /></td></tr>
    <tr><td>Emne:</td><td><input type='text' name='emne' value='
$emne' /></td></tr>
    <tr><td>Tlf.:</td><td><input type='text' name='tlf' value='
$tlf' /></td></tr>
    <tr><td>E-mail:</td><td><input type='text' name='email' value='
$email' /></td></tr>
    <tr><td>Besked:</td><td><textarea cols='35' rows='8'
name='besked'>
$besked</textarea></td></tr>
    <tr><td> </td><td><input type='submit' value='Send e-mail' /></td></tr>
  </table>
  </form>
"
;

?>
                <h2>Bestilling</h2>
                <p>Bestilling kan kun foretages af tømmerhandler og byggemarkeder. Start
og Butikspakning leveres normalt fra dag til dag og hele paller 1-2 dage på
hverdage.</p>
            <p><?php

// ----------------------------------
// Trin 1: Konfiguration
// Jeg foretrækker arrays, selvom det i denne situation kan virke lidt (meget)
overflødigt :)
// ----------------------------------
$CONFIG1 = array ();
$CONFIG1['email1'] = ' nqrgard@hotmail.com';  // modtager
$CONFIG1['html1']  = (bool) FALSE// brugere kan ikke bruge HTML, ellers TRUE
$CONFIG1['side1']  = $_SERVER['PHP_SELF']; // modtager-siden er samme side
$CONFIG1['rekv']  = TRUE// emne skal udfyldes - ellers FALSE

// ----------------------------------
// Trin 2: Data
// ----------------------------------
extract ($CONFIG13'conf1');
extract ($_POST);

// ----------------------------------
// Trin 3: Validering
// ----------------------------------
function ValiderNavn1 ($navn1) {
  
$return1 htmlspecialchars ($navn1); // ikke htmlentities - æøå skal med
  
$return1 ereg_replace ("[0-9]"""$navn1);
  return 
$return1;
}
if ((int) 
$__do1 === 1) {
  if (!
$navn1$fejl1 'Du skal indtaste dit navn';
  if (
ValiderNavn1 ($navn1) != $navn1$fejl1 'Dit navn indeholder ulovlige tegn';
  if (
strlen ($navn1) < 2$fejl1 'Så kort kan dit navn ikke være';

  if (
$conf_emne1 && (!$rekv)) $fejl1 'Rekvitions-nr er ikke blevet indtastet!';

  
// Email tjek
  // Har brugt Jacobs regex da jeg ikke selv er en ørn til det :)

  
if (!$fejl1) {
    
$header1 "From: www.Z-in.dk  - Bestilling fra $navn <$email1>\nReply-To: $navn";
    if (
$conf_html1$header1 .= "\nContent-Type: text/html; charset=ISO-8859-1";
    else 
$besked1 "
    Firma/navn: 
$navn1
    Rekvitions-nr: 
$rekv
    Tlf.: 
$tlf1
    E-mail: 
$email1
    Antal: 
$antal
    
    Note til bestilling:
    
$besked1";

    if (
mail ($conf_email1$rekv$besked1$header1)) print '<p></p><br>
<font color="#FFFFFF"><strong>Vi har nu modtaget jeres bestilling. Vi sender jer en
ordrebekræftelse, så snart at ordren er blevet accepteret!</strong></font>
</p>'
;
    else 
$fejl1 'Bestillingen kunne desværre ikke gennemføres!';
  }
  else print 
"<p><h3><font color='red'>$fejl1</font></h3></p>";
}

// ----------------------------------
// Trin 4: Formular
// I nogle tilfælde brokker PHP sig over udeklarerede variabler
// Derfor brugen af @ :)
// ----------------------------------
@print "<style type='text/css'>
<!--
.style1 {
    color: #FF0000;
    font-weight: bold;
}
-->
</style>
<form action='
$conf_side1' method='post'>
  <input type='hidden' name='__do1' value='1' />
  <table width='535'>
    <tr>
      <td>Firma/navn:</td>
      <td><input type='text' name='navn1' value='
$navn1' /></td>
    </tr>
    <tr>
      <td>Rekvitions-nr</td>
      <td><input type='text' name='rekv' value='
$rekv' /></td>
    </tr>
    
    <td></td>
    <tr>
      <td>Tlf.:</td>
      <td><input type='text' name='tlf1' value='
$tlf1' /></td>
    </tr>
    <td></td>
    <tr>
      <td>E-mail:</td>
      <td><p>
        <input type='text' name='email1' value='
$email1' />
      </p>
      </td>
    </tr>
     <td>&nbsp;</td>
      
      <td>&nbsp;</td>

    <tr>
      <td>&nbsp;</td>
      
      <td><input name='pakke_1' type='text' value='
$pakke_1' size='1'>
        stk. Introduktionspakninger, (hver med 6 stk sortimentskasser) </td>
    
    </tr>
      <td>Bestilling:</td>
      
      <td><input name='pakke_2' type='text' value='
$pakke_2' size='1'>
        stk. 1/3 palle, (hver med 24 stk sortimentskasser)</td>
      
      </tr>
      <td>&nbsp;</td>
      
      <td><input name='pakke_2' type='text' value='
$pakke_2' size='1'>
        stk. 1/1 palle (hver med 78 stk sortimentskasser) </td>
      </tr>
      <td>&nbsp;</td>
      
      <td><span class='style1'>* Pris i henhold til udsendt prisliste pr.
1/9-2009</span></td>
      
    <tr>
         <td>&nbsp;</td>
      
      <td>&nbsp;</td>

    <tr>
    
      <td>Evt. note til bestilling:</td>
      <td><textarea cols='35' rows='8' name='besked1'>
$besked1</textarea></td>
    </tr>
    <tr>
      <td></td>
      <td><input type='submit' value='Genmemfør bestilling' /></td>
    </tr>
  </table>
</form>
"
;

?>                        </p>
          </div>
        </div>
        <ul id="nav"><li class="first" id="nav-1"><a href="index.php">Forside</a></li><li
id="nav-2"><a href="data-og-materialer.php">Data og materialer</a></li><li id="nav-3"><a
href="montering-af-dobbeltkile.php">Montering af dobbeltkile</a></li><li id="nav-4"><a
href="anvisning-til-opklodsning.php">Anvisning til opklodsning af fast
underlag</a></li></ul>
    </div>
</body>
</html>

Siden er kørende på www.z-in.dk/kontakt.php,  hvis nogen hurtigt vil danne sig et
overblik over det, inden de går i dybden med koden.

Håber nogen kan hjælpe mig!

På forhånd tak.



Dato : 29.08.2009, 22:30

Visninger : 3792

Points : 150




Login for at skrive et indlg :



   Brugernavn

Password
 

+ Opret en ny Bruger, Klik her

+ Glemt brugernavn/password

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk

Bund