Vraag & Antwoord

Webdesign (HTML, CSS, Flash)

achtergrond aanpassen mailform lukt niet!!

Anoniem
None
17 antwoorden
  • Heb het volgende script voor een mailform en wil nu de achtergrond van een kleur voorzien. Ik wil dit doen door op de pagina aan de body een class via css toe te voegen. De class heb ik bodymail genoemd. Als ik dit doe, krijg ik er een scriptregel bij die er als volgt uitziet:
    [code:1:d43066f043]
    <p class="bodymail">&nbsp;</p>
    [/code:1:d43066f043]

    Nu geeft ie maar een regel weer met die achtergrondkleur…en wil dus dat de gehele achtergrond die kleur krijgt. Wat gaat er hier fout?

    Hier nog even het script van de pagina met onderaan het formulier met de body
    [code:1:d43066f043]
    if (count($_POST) > 0)
    {
    //controleer of de $bHTML wel fatsoenlijk is ingesteld
    if(!is_bool($bHTML))
    {
    print("De configuratie is onjuist. Zorg dat je bij <font color=blue><i>$bHTML</i></font> een booleaanse waarde (TRUE of FALSE) hebt ingevuld. Letop: Hier moeten geen quotes ( \" of ') omheen!");
    exit;
    }
    $errors = array();//definieer arrray voor de errormeldingen
    $aKeys = array_keys($_POST); //pak alle arraykeys in een arraytje
    foreach($_POST as $key=>$value)
    {
    $_POST[$key] = trim($value); //maak alle waarden netjes
    }
    foreach($aKeys as $key=>$value)
    {
    $aKeys[$key]=strtolower($value);//maak alle waarden in kleine letters
    }

    $aMail = explode(",",$sMail);
    $aDomein = explode("@",$sMail[0]);
    $sDomein = $aMail[1];

    //mail detectie
    if (in_array("mail",$aKeys)) { $sFrom = $_POST['mail']; }
    elseif (in_array("email",$aKeys)) { $sFrom = $_POST['email']; }
    elseif (in_array("e-mail",$aKeys)) { $sFrom = $_POST['e-mail']; }
    elseif (in_array("1mail",$aKeys)) { $sFrom = $_POST['1mail']; }
    elseif (in_array("1email",$aKeys)) { $sFrom = $_POST['1email']; }
    elseif (in_array("1e-mail",$aKeys)) { $sFrom = $_POST['1e-mail']; }
    else
    {
    $sFrom = "postmaster@".$sDomein;
    $bBedanktmail = FALSE;
    }

    if ($bOnderwerp)
    {
    $sSubject = $sOnderwerp;
    }
    else
    {
    if (in_array("onderwerp",$aKeys)) { $sSubject = $_POST['onderwerp']; }
    elseif (in_array("subject",$aKeys)) { $sSubject = $_POST['subject']; }
    elseif (in_array("1onderwerp",$aKeys)) { $sSubject = $_POST['1onderwerp']; }
    elseif (in_array("1subject",$aKeys)) { $sSubject = $_POST['1subject']; }
    else { $sSubject = $sOnderwerp; }
    }



    //controle emailadres
    if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$",$sFrom))
    {
    $error[] = "U heeft een ongeldig emailadres opgegeven.";
    }
    //check alle verplichte velden
    foreach($_POST AS $key => $value)
    {
    if(substr($key,0,1) == 1)
    {
    if (empty($_POST[$key]))
    {
    $name = substr($key,1);
    $error[] = "Het is gewenst dat u het veld <i>'".$name."'</i> invult.";
    }
    }
    }

    //als er een error was
    if (isset($error) && count($error) > 0)
    { echo "<br /><br /><a href=\"javascript:history.back(1)\">Terug</a>\n";
    //poep alle errors uit
    print("<ul style=\"list-style: none; color: red;\">\n");

    foreach($error as $value)
    {
    print("\t<li>".$value."</li>\n");
    }
    print("</ul>");
    }
    else
    {
    $headers = "MIME-Version: 1.0\n";
    $headers .= "From: ".$sWebsitenaam." <".$sFrom.">\n";
    $headers .= "Reply-to: ".$sWebsitenaam." <noreply@".$sDomein.">\n";
    $headers .= ($bHTML) ? "Content-Type: text/html; charset=iso-8859-1\n" : "Content-Type: text/plain; charset=iso-8859-1\n";

    $sContent = "Dit is een automatisch gegenereerd e-mailbericht die vanaf je site is verstuurd.\n\n";
    foreach($_POST as $key => $value)
    {
    if (substr($key,0,1) == 1) { $key = substr($key,1); }
    $sContent .= ucfirst(strtolower($key)).": ".$value."\n\n";
    }
    $sContent .= "IP: ".$_SERVER['REMOTE_ADDR']."\n\n";
    $sContent .= "Tijdstip: ".date("D j M, Y G:i")."\n\n";

    $enter = "
    ";
    $sContent = ($bHTML) ? nl2br(htmlspecialchars($sContent)) : str_replace("\n",$enter,$sContent) ;

    foreach ($aMail as $sMailAdress)
    {
    mail(trim($sMailAdress),$sSubject,$sContent,$headers);
    }

    if ($bBedanktmail)
    {
    $sBedanktmail = ($bHTML) ? nl2br(htmlspecialchars($sBedanktmail)) : str_replace("\n",$enter,$sBedanktmail) ;
    mail($sFrom,$sBedanktsubj,$sBedanktmail,$headers);
    }



    if (isset($bBedanktTxt) && $bBedanktTxt == TRUE)
    {
    print($sBedanktTxt);
    }
    else
    {
    ob_clean();
    header("location:$sBedanktURL");
    print('<meta http-equiv=refresh content="5; url='.$sBedanktURL1.'">'); }
    }
    }
    else
    {
    print("<form action=\"".$_SERVER['REQUEST_URI']."\" METHOD

    <link href="stylemail.css" rel="stylesheet" type="text/css" />
    <html>
    </head>
    <body>


    <p class="bodymail">&nbsp;</p>
    <div class="containermail">
    <table border="0">
    <tr>
    <td><p class="b3"><b>organisatie</b></td>
    <td><input type="text" size="30" name="organisatie" maxlength="35" value="<? echo $organisatie; ?>"></td>
    </tr>
    <tr>
    <td><p class="b3"><b>naam</b></td>
    <td><input type="text" size="30" name="1naam" maxlength="35" value="<? echo $naam; ?>"></td>
    </tr>
    <tr>
    <td><p class="b3"><b>email</b></td>
    <td><input type="text" size="30" name="1email" maxlength="35" value="<? echo $email; ?>"></td>
    </tr>
    <tr>
    <td><p class="b3"><b>Websiteadres</b></td>
    <td><input type="text" size="30" name="url" maxlength="50" value"<? echo $url; ?>"></td>
    </tr>
    <tr>
    <td valign="top"><p class="b3"><b>Bericht:</b></td>
    <td><textarea rows="10" cols="37" name="1bericht"><? echo htmlspecialchars(stripslashes($bericht)); ?></textarea></td>
    </tr><tr>
    <td colspan="2"><center><input name="Submit" type="submit" value="Verstuur"></td>
    </tr>
    </table>

    </form>

    </div>
    </body>
    </html>
    [/code:1:d43066f043]

    voor de volledigheid bodymail:
    [code:1:d43066f043]
    .bodymail {
    background-color: #6286BD;
    }
    Wat is de oplossing?
    jan[/code:1:d43066f043]
  • Wil tevens de achtergrond van de foutmeldingen kunnen instellen en deze ook kunnen centreren. Weet niet hoe ik dit kan aanpakken. Iemand enig idee?
    jan
  • niet p class bodymail pakken, maar je body van CSS voorzien.

    Gewoon een body tag aanmaken in je CSS en daar je boel in declareren.

    body {background: blabla; font-color: blabla; etc.}
  • Of natuurlijk alleen de .mailcontiner div, om het wat flexibeler te houden en als je [i:0b1eca20bb]alleen[/i:0b1eca20bb] je mailform wil stylen…

    Ik begrijp niet helemaal goed hoe je denkt je mailform te stylen wanneer je een paragraaf boven je mailform styled… :-?
  • Probeer ook aan de body een css style toe te voegen maar dan geeft ie automatisch die regel:
    Doe het als volgt. Selecteer 'body', css styles..>new. Kies Class en naam: .bodymail. Krijg nu keuzemenu en kies een achtergrond en apply
    Zie in de style nu staan .bodymail
    Klik nu weer op body op de pagina…..css style..deze staat nu nog op none…kies nu bodymail en krijg dan , heel vreemd, de volgende coderegel onder body te staan
    [code:1:21849c389e]
    <p class="bodymail">&nbsp;</p>
    [/code:1:21849c389e]
    Hoe kan dat?
  • Heb de mailform een in een megacontainer gezet met [b:c7261ee0a4]alleen[/b:c7261ee0a4] de kleur ingevuld. Geeft een blok te zien met de ingestelde achtergrondkleur dat even hoog is als de layoutform en een breedte heeft die aan beide einden 10 pixels ruimte heeft op de breedte van het scherm. Heeft het misschien te maken dat ik html gebruik op een php pagina? Kun je namelijk op een php pagina zomaar html code schrijven?
  • geen class kiezen, gewoon de body stylen.
  • Met de achtergrond is het nu gelukt:
    Heb nu: [code:1:300f50e2ae]<body bgcolor="#BBBBFF">[/code:1:300f50e2ae]
    Waarom het zo wel werkt en op een andere manier niet, is mij een vraagteken.
    Bedankt voor jouw reacties.
    Nu nog het probleem van de achtergrondkleur bij de foutmeldingen. Hoe kan ik die instellen?
    Jan
  • [quote:f9c386b428="Jan2000"]
    Nu nog het probleem van de achtergrondkleur bij de foutmeldingen. Hoe kan ik die instellen?Jan[/quote:f9c386b428]
    Bij naarvoren staan een paar goede tips.
    wimb
  • Het gaat om dit stukje code ( volledige code zie boven) wat de foutmeldingen genereert:

    [code:1:fe8e53eacd]
    //controle emailadres
    if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$",$sFrom))
    {
    $error[] = "U heeft een ongeldig emailadres opgegeven.";
    }
    //check alle verplichte velden
    foreach($_POST AS $key => $value)
    {
    if(substr($key,0,1) == 1)
    {
    if (empty($_POST[$key]))
    {
    $name = substr($key,1);
    $error[] = "Het is gewenst dat u het veld <i>'".$name."'</i> invult.";
    }
    [/code:1:fe8e53eacd]

    Hoe kan ik deze foutmelding mooi centreren op de pagina en tevens de kleur van de achtergrond instellen. Op de een of andere wijze moet ik er een css style aan koppelen maar hoe en waar?
    Jan
  • je kan die zin toch gewoon een opmaak meegeven (al dan niet met css?)
  • Heb dat al geprobeerd maar dat pakt hij niet. Via class en tag maar kan die niet aan de zin koppelen.
  • Het wordt toch in dit stukje :
    [code:1:1e438863a3] //als er een error was
    if (isset($error) && count($error) > 0)
    { echo "<br /><br /><a href=\"javascript:history.back(1)\">Terug</a>\n";
    //poep alle errors uit
    print("<ul style=\"list-style: none; color: red;\">\n");
    foreach($error as $value) {
    print("\t<li>".$value."</li>\n");
    }
    print("</ul>");
    }[/code:1:1e438863a3] geprint. De tekst van de foutmelding moet dus rood zijn.
    Die ul kun je een class geven, bv class"foutmelding" en dan zet je in de css:
    [code:1:1e438863a3]
    .foutmelding {
    list-style: none;
    color: red;
    background: #0f0;
    margin-left: 100px;
    }[/code:1:1e438863a3]
    wimb
  • Het gekke is dat wanneer ik UL selecteer..en dan css ..new…class…en .foutmelding maak, deze wel onder de styles komt te staan. maar als ik dan weer die Ul selecteer en de .foutmelding eraan toe wil voegen via css, is .foutmelding niet 'geactiveerd'. .foutmelding staat er niet zwart waardoor ik deze niet kan kiezen en er dus niet aan kan toevoegen. Ik maak dus wel een .foutmelding maar kan deze er niet aan toevoegen. Vreemd. Kan dit met html te maken hebben?
  • klop hem anders handmatig in, desnoods in kladblok :)
  • klop hem anders handmatig in…wat voor code moet ik dan waar precies aan toevoegen? Dat is mij niet geheel duidelijk. (Ik werk in dreamweaver 8)
  • [quote:6efc6639fd="Jan2000"]Met de achtergrond is het nu gelukt:
    Heb nu: [code:1:6efc6639fd]<body bgcolor="#BBBBFF">[/code:1:6efc6639fd]
    Waarom het zo wel werkt en op een andere manier niet, is mij een vraagteken….

    [/quote:6efc6639fd]

    Dat heeft misschien te maken met de < p > tags…
    je zet dan alleen voor de alinea, die daar in staat, een achtergrond

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.