Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

lengte website variabel

None
19 antwoorden
  • ik ben bezig met website bouwen voor de lol, heb volgend jaar informatica:)
    nu lukt het me niet om elke pagina aan te passen op de lengte van de tekst. ook heb ik aan weerszijden nog een "leftbar" en "rightbar" ik wil het midden"content" laten matchen met de 2 bars aan de zijkant. verder heb ik me laten vertellen dat je hier php voor nodig hebt om dit goed te krijgen.

    kan iemand me helpen. verder html en css ken ik redelijk goed, maar php weet ik 0,000 van dus u zult bij het begin moeten beginnen om mij iets duidelijk te maken.

    oh ik ben 15, maar uit engelse teksten kom ik wel :)

    alvast bedankt!
  • Ik begrijp niet helemaal goed wat de bedoeling is, maar ik waag toch een poging.

    Het lijkt alsof je bedoeld dat als de tekst in het midden langer is dan dat de sidebars (links en rechts) hoog zijn, dat de sidebars dan even hoog blijven, terwijl de hele pagina langer wordt vanwege die lange tekst. En je wilt dat die sidebars meegroeien(?)

    Als dat is wat je bedoeld, dan ben je op een bekende issue gestuit die over het algemeen wordt opgelost met iets wat men 'faux columns' noemt.
    Overigens komt daar geen PHP aan te pas, enkel HTML en CSS

    Je kunt ze trouwens ook kant en klaar downloaden als je geen zin hebt om ze zelf te maken: http://www.code-sucks.com/css%20layouts/faux-css-layouts/
  • dat was inderdaatdwat ik bedoelde!
    ik denk dat al ik met die tutorial wat ga puzzelen dat ik er wel uit kom. helaas kan ik dit binnenkort nog niet gaan doen, wat ik heb het erg druk met school, maar ik ga er zo snel mogelijk mee aan de slag.
    bedankt!!
  • is gelukt, nu heb ik weer een ander probleem,
    ik wil een enquete gaan maken. de html en css lukt perfect:
    zie http://www.mooienieuwewebsite.nl/

    maar nu wil ik graag een php script maken. zodat hij automatisch verstuurt.
    helaas snap ik nog niet veel van php.
    zou iemand mij kunnen uitleggen hoe het script er uit moet zien?? gewoon een script heb ik niks aan, ik wil het graag snappen!

    alvast bedankt!
  • De action in de <form> Tag moet naar je nieuwe script wijzen
    (b.v. acion="verzend.php")


    Vervolgens gaat je script een aantal stappen doorlopen
    (Je formulier gebruikt method 'post', dus daarom haal je ze ook op die manier binnen met je script.)

    Je kunt eventueel beginnen met het checken of alle velden zijn ingevuld.
    Voorbeeld:
    if (!isset($_POST['naam']))
    {
    echo "Je hebt je naam niet ingevuld";
    }

    etc.

    In het nederlands: Als het veld 'naam' uit het formulier GEEN (zie uitroepteken) waarde heeft gekregen, zeg dan: "Je hebt je naam niet ingevuld"

    Alles ingevuld, dan zet je alvast enkele variabelen klaar die je later nodig hebt bij het mailen van de data:

    Bijvoorbeeld:
    $mailto = "pietje@puk.nl"; // je eigen mail adres waar de data naar toe wordt gestuurd
    $subject = "Online enquete"; // Onderwerp van de mail
    $headers = "From:" . $_POST['email']; // Het mail adres van de bezoeker wordt als reply adres gebruikt


    Dan zet je alle waardes uit het formulier in variabelen volgens het principe:
    $phpvariabele = $_POST['formulierveldnaam'];

    bijvoorbeeld:
    $naam = $_POST['naam'];
    $email = $_POST['email'];
    etc. etc.


    Dan maak je een mailtje op mbv deze variabelen. (gebruik '
    ' om nieuwe regels te maken)
    Bijvoorbeeld:
    $message = "Hallo!
    ";
    $message .= "De enquete is ingevuld
    ";
    $message .= "Naam: " .$naam;
    $message .= "E-mail: " .$email;
    etc. etc.

    (Let op de puntjes. Die geven aan dat de nieuwe data toegevoegd moet worden aan de oude data en NIET de oude data vervangt.)

    Dan heb je ondertussen een mailadres, een onderwerp, een reply adres en een bericht.
    Meer heb je niet nodig om de boel te versturen.

    Dus dan verstuur je de hele meuk:

    mail($mailto,$subject,$message,$headers);

    En verzonden is hij.

    Als laatste kun je aangeven dat alles goed is gegaan:
    echo "Bedankt voor het invullen van de enquete!";

    Of als je dat laatste netter wilt doen dan maak je een aparte pagina met de juiste weergave en tekst.
    Vervolgens stuur je het script door naar deze pagina:

    header('Location: bedankt.html');

    Uiteraard zijn er honderd manieren om dit te doen en iedereen doet het weer op zijn eigen manier (inclusief ik) maar dit is een prima manier om ermee te beginnen en het te leren.

    Dus resumee Overflakkee:
    Het script doorloopt in feite 6 stappen:

    - Checken of alle velden zijn ingevuld
    - Standaard waardes toekennen (onderwerp, jou mailadres)
    - Velden uit het formulier in PHP variabelen zetten
    - Het bericht opbouwen m.b.v. deze variabelen
    - De mail verzenden
    - De bezoeker bedanken


    Succes
  • super bedankt,
    met een uitleg van jou en een tut op youtube

    heb ik dit voor elkaar gekregen:

    [i:eb6c7e6899][size=13:eb6c7e6899]<?php

    /* subject en e-mail variabellen */

    $emailSubject = 'Answer-on-PHP-script!';
    $Webmaster = 'v.weinans@gmail.com';

    /* data verzamelen */

    $naamfield = $_POST['naam'];
    $emailfield = $_POST['email'];
    $sitesfield0 = $_POST['sites0'];
    $sitesfield1 = $_POST['sites1'];
    $sitesfield2 = $_POST['sites2'];
    $sitesfield3 = $_POST['sites3'];
    $janeefield = $_POST['janee'];
    $reactiefield = $_POST['reactie'];

    $body = <<<EOD
    <br><hr><br>
    naam: $naamfield <br>
    Email: $emailfield <br>
    welke: $sitesfield0, $sitesfield1, $sitesfield2, $sitesfield3 <br>
    ja,nee: $janeefield <br>
    reactie: $reactiefield <br>
    EOD;

    $headers = "From: $email
    ";
    $headers .= "content-type: text/html
    ";
    $succes = mail($Webmaster, $emailSubject, $body, $headers);

    /* results rendered and display them */

    $theresults = <<<EOD
    <html>
    <head>
    <title>succes</title>
    </head>
    <body>
    <p align="center">uw formulier is verstuurt! u krijgt zo spoedig mogelijk een antoord.</p>
    </body>
    </html>
    EOD;

    echo "$theresults";



    ?>[/size:eb6c7e6899][/i:eb6c7e6899]

    is dit een beetje goed??
    alleen loop ik tegen een klein probleem aan. als ik op ENTER druk in een <input type=text> dan word het document al verstuurt. Dit wil ik uiteraard niet. iemand een idee hoe ik dit kan voorkomen?


    nog iets:
    hoe kan ik de opmaak van de knoppen verstuur, clear en de checkboxen opmaken ook in css ofzo? maar hoe

    form td submit {
    bla bla;
    bla bla;

    form td submit:hover {
    bla bla;
    bla bla;

    zoiets???

    nog een keer super bedankt tot zover! :D
  • zou iemand mij kunnen helpen met het probleem van versturen als nog niet alles is ingevult?
  • Je moet dit doen:

    [code:1:1223308462]
    <?php
    if(isset($_POST['naam_input_1'])&& isset($_POST['naam_input_2'])){
    //verzend het formulier
    }
    if(!isset($_POST['naam_van_de_input'])){
    // zeg dit tegen de bezoeker (met bijvoorbeeld echo())
    }

    ?>
    [/code:1:1223308462]
    In de eerste if moet je controleren of alle velden ingevuld zijn, dus je moet een aparte isset maken voor ieder veld.
    Als dus alles ingevuld is kan je het formulier verzenden.
    Jouw hele code kan je hierin plakken (op de <?php en ?> na dan).

    De tweede if kan je gewoon kopiëren en je moet hier telkens een andere naam van één van je velden invullen, totdat alle velden gecontroleerd zijn.
  • [code:1:d5efd7c152]<?php
    /* onderwerp en e-mail variabelen */

    $emailSubject = 'Answer-on-PHP-script!';
    $Webmaster = 'v.weinans@gmail.com';


    /* checken of alle velden zijn ingevult */

    if (isset($_POST['$naamfield']))
    {
    /* data verzamelen */

    $naamfield = $_POST['naam'];
    $emailfield = $_POST['email'];
    $sitesfield0 = $_POST['sites0'];
    $sitesfield1 = $_POST['sites1'];
    $sitesfield2 = $_POST['sites2'];
    $sitesfield3 = $_POST['sites3'];
    $janeefield = $_POST['janee'];
    $reactiefield = $_POST['reactie'];

    $body = <<<EOD
    <br><hr><br>
    naam: $naamfield <br>
    Email: $emailfield <br>
    welke: $sitesfield0, $sitesfield1, $sitesfield2, $sitesfield3 <br>
    ja,nee: $janeefield <br>
    reactie: $reactiefield <br>
    EOD;

    $headers = "From: $email
    ";
    $headers .= "content-type: text/html
    ";
    $succes = mail($Webmaster, $emailSubject, $body, $headers);

    /* resultaten opstellen en weergeven */

    $theresults = <<<EOD
    <html>
    <head>
    <title>Succes</title>
    </head>
    <body>
    <p align="center">Uw formulier is verstuurt! U krijgt zo spoedig mogelijk een antwoord.</p>
    </body>
    </html>
    EOD;

    echo "$theresults";
    }

    else
    {echo "vul uw naam, e-mail, ja-nee en reactie in!";}



    ?>[/code:1:d5efd7c152]
    ik heb nu dit gedaan, maar nu wil hij hem helamaal niet meer versturen, ik krijg steeds de melding vul a.u.b uw naam in!. snapt iemand dit?

    het probleem kan u bekijken op http://www.mooienieuwewebsite.nl (ohja de site werkt niet met explorer, moet ik nog fixen)
  • Ten eerste kan je in $_POST[] niet zomaar een variabele zetten.
    $_POST['[b:79488aacd6]$naamfield[/b:79488aacd6]'];

    Ten tweede heb je die variabele nog niet eens aangemaakt.

    Ten derde wil ik zeggen dat als je dit goed zou doen en deze code zou maken:

    [code:1:79488aacd6]
    <?php
    /* onderwerp en e-mail variabelen */

    $emailSubject = 'Answer-on-PHP-script!';
    $Webmaster = 'v.weinans@gmail.com';


    /* checken of alle velden zijn ingevult */
    /* hier dus het nieuwe deel */
    if (isset($_POST['naam']))
    {
    /* data verzamelen */

    $naamfield = $_POST['naam'];
    $emailfield = $_POST['email'];
    $sitesfield0 = $_POST['sites0'];
    $sitesfield1 = $_POST['sites1'];
    $sitesfield2 = $_POST['sites2'];
    $sitesfield3 = $_POST['sites3'];
    $janeefield = $_POST['janee'];
    $reactiefield = $_POST['reactie'];

    $body = <<<EOD
    <br><hr><br>
    naam: $naamfield <br>
    Email: $emailfield <br>
    welke: $sitesfield0, $sitesfield1, $sitesfield2, $sitesfield3 <br>
    ja,nee: $janeefield <br>
    reactie: $reactiefield <br>
    EOD;

    $headers = "From: $email
    ";
    $headers .= "content-type: text/html
    ";
    $succes = mail($Webmaster, $emailSubject, $body, $headers);

    /* resultaten opstellen en weergeven */

    $theresults = <<<EOD
    <html>
    <head>
    <title>Succes</title>
    </head>
    <body>
    <p align="center">Uw formulier is verstuurt! U krijgt zo spoedig mogelijk een antwoord.</p>
    </body>
    </html>
    EOD;

    echo "$theresults";
    }

    else
    {echo "vul uw naam, e-mail, ja-nee en reactie in!";}
    ?>
    [/code:1:79488aacd6]

    je moet dus checken of het veld naam is ingevuld, dus doe je dit op die manier, nl. if(isset($_POST['naam']))

    en niet: if(isset($_POST['$naamfield']))

    maar je moet checken of alle velden ingevuld zijn, dus :

    if(isset($_POST['naam']) && isset($_POST['email']))


    Je moet dus telkens een nieuwe isset($_POST['']) met tussen de quotes telkens de naam van een andere variabele maken, gescheiden door de and operator (&&).

    Je moet alle velden checken: naam, email, sites0, sites1, sites2, sites3, janee en reactie.

    Ik hoop dat je het nu begrijpt.
  • dit had ik eerder al gedaan, maar toen gebeurde er helemaal niks. toen bleef hij hem gewoon versturen.
    ik ga het nog een keer proberen.
  • jes,


    zo werkt hij
    bedankt voor alle hulp.
    heeft iemand een goede site waar ik nog wat standaard dingen kan vinden over php?
    zoals die isset functie, gewoon iets dat je moet leren dus?

    nog een vraag:
    hoe kan ik een vakje maken, met een standaard ww?
    dus dat je een woord moet invullen en dat het dan verstuurt, een soort spam filter.

    zoiets als:
    welke kleur heeft gras:


    en dat ze eerst "groen" moeten in vullen voor dat de e-mail verstuurt?
    is dit mogelijk in php?


    nogmaals bedankt:)
    gr!
  • Zeer uitgebreid: php.net.

    Tutorial in stappen: w3schools.

    En eventueel kan je ook nog een cheatsheet gebruiken: hier staan alle belangrijke functies op. Als deze sheet je niet bevalt, er zijn er zeer veel te vinden op google
  • Antwoord op je tweede vraag: dit is zeker mogelijk!

    Je kan het doen zoals jij zegt, dit wordt dan de code:

    [code:1:5738e018bb]
    <!– HTML –>
    <span>Welke kleur heeft gras?</span><br />
    <input type="text" name="kleur" />
    [/code:1:5738e018bb]

    [code:1:5738e018bb]
    <?php
    if($_POST['kleur'] == "groen"){
    // hier plak je dus de hele code in om de e-mail te verwerken, ook de if statement om te kijken of alle velden ingevuld zijn.


    }
    else{
    // zeg tegen de bezoeker dat de kleur niet juist is…
    }
    ?>
    [/code:1:5738e018bb]

    Maar natuurlijk bestaan hier ook kant en klare oplossingen voor:
    men noemt dat captcha. Voorbeeld: securimage PHP Captcha.
  • Oh trouwens, ik wil niet onnozel gaan doen, maar als je formulier verzonden is, krijg je dit te zien:

    [quote:c633e33f06]
    Uw formulier is verstuurt! U krijgt zo spoedig mogelijk een antwoord.
    [/quote:c633e33f06]

    verstuurt moet met een d –> verstuurd
  • oh oh,

    heel erg :( :oops:

    ga gelijk veranderen. EDIT: is gedaan!
  • easy spamfilter is nu ook gelukt :)

    wilde het even laten weten!
    en ga er nu verder wel uit komen.

    mike & gooly
    SUPER BEDANKT!!
  • zeer graag gedaan!
  • [quote:c5679471d9="v.weinans"]heeft iemand een goede site waar ik nog wat standaard dingen kan vinden over php?[/quote:c5679471d9]
    Ik ben nog steeds een groot fan van Practical PHP Programming.

    - Bas

Beantwoord deze vraag

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