webhostingtalk.nl
advertentie
advertentie

Evenementen voor de komende 60 Dag(en)

Resultaten 1 tot 4 van de 4
          

  1.  
    #1
    matthijsdezwart@gmail.com
    Gast
    n/a Berichten
    Berichten zijn liked




    probleem met formulier afhandeling vanuit andere pagina (PHP)

    Hoi,

    Ik heb een vreemd probleem met een formulier afhandeling.
    Het formulier dat ik wil maken / gebruiken is een inlog formulier, dat
    qua opmaak in een .inc file zit. Deze ziet er zo uit:

    <div id="rightcolumn">
    <table border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td>
    <form action="/traderspit/tests/login.php" method="post">
    <input name="active" type="hidden" value="in">
    <fieldset>
    <legend>Members login</legend>
    <table border="0" cellspacing="0" cellpadding="3">
    <tr>
    <td><font color="orange">Emailadres</font></td>
    <td>
    <input type="text" size="15" name="emailadres">
    </td>
    <td></td>
    </tr>
    <tr>
    <td><font color="orange">wachtwoord &nbsp;</font></td>
    <td>
    <input type="password" size="15" name="invoerwachtwoord">
    </td>
    <td>
    <input type="submit" value="Verzenden" name="Submit">
    </td>
    </tr>
    </table>
    </fieldset>
    </form></td>
    </tr>
    </table>
    </div>


    Deze .inc file (loginform.inc) include ik in een php pagina ergens op
    de site en voor als er verkeerd wordt ingelogd binnen de file
    login.php, die er als volgt uitziet.

    <?php
    session_start();
    ?>
    <head>
    <title>Log in</title>
    </head>
    <?php

    if(isset($_POST['active']) && $_POST['active']=='in')
    {
    $_SESSION["active"]=$_POST['active'];
    unset($HTTP_GET_VARS['active']);
    }

    if(isset($HTTP_GET_VARS['active']) && $HTTP_GET_VARS['active']!='in')
    {
    $_SESSION["active"]='out';
    unset($HTTP_GET_VARS['active']);
    }

    if(isset($_POST['invoerwachtwoord'])) { $_SESSION["invoerwachtwoord"]=
    $_POST['invoerwachtwoord'];}
    if(isset($_POST['emailadres'])) { $_SESSION["emailadres"]=
    $_POST['emailadres'];}


    if (($_SESSION["active"]<>'in' && $_SESSION["active"]=='out') ||
    $_SESSION["emailadres"] == "")
    {
    $_SESSION["validated"] = false;
    include('loginform.inc');

    }
    if(isset($_SESSION["emailadres"]) && $_SESSION["emailadres"] <> "" &&
    isset($_SESSION["invoerwachtwoord"]) && $_SESSION["active"]=='in')
    {
    mysql_connect("localhost","iemand","daarginder") or die ("kon geen
    verbindig maken met de DB");
    mysql_select_db("dedatabase") or die ("kan de database niet
    selecteren");
    $query = "select `wachtwoord` from pta where `emailadres`='".
    $_SESSION['emailadres']. "' limit 1";
    $result = mysql_query($query) or die(mysql_error());
    $countResultRow = mysql_num_rows($result);
    if ($countResultRow == 0)
    {
    session_destroy();
    echo "Onbekend emailadres<br><a href=\"".$_SERVER["PHP_SELF"]."?
    active=out\">ga terug</a>";
    die;
    }

    $row = mysql_fetch_assoc($result);

    $wachtwoord = $row['wachtwoord'];

    $_SESSION["validated"] = ($_SESSION["invoerwachtwoord"]==
    $wachtwoord);

    if (!$_SESSION["validated"]) {
    session_destroy();
    die ("Het wachtwoord dat u heeft opgegeven, komt niet overeen met
    de gegevens in de database.<br> <a href=\"".$_SERVER["PHP_SELF"]."?
    active=out\">Ga terug</a>");
    }

    echo "<a href=\"".$_SERVER["PHP_SELF"]."?active=out\">log out</
    a><br>";
    }
    if (!$_SESSION["validated"]) {
    session_destroy();
    die();
    }

    echo "de rest van de pagina, die dan te zien is als je correct bent
    ingelogd<br>";

    ?>


    Het vreemde is nu, dat als ik login.php direct aanroep, alles prima
    werkt. Als ik niet invul en op verzenden druk, krijg ik gewoon weer
    het formulier, als ik een onbekend emailadres invul, krijg ik daar een
    melding over en kan ik op terug drukken om nogmaals aan te melden.
    Wanneer mijn wachtwoord niet overeenkomt met het wachtwoord dat
    gekoppeld is aan het emailadres, dan krijg ik daar ook een melding
    van. En als ik de juiste combinatie van email en wachtwoord heb
    opgegeven, dan krijg ik “de rest van de pagina, die dan te zien is als
    je correct bent ingelogd“ te zien. Dus alles werkt….

    Totdat ik het formulier niet invul vanaf login.php, maar vanaf een
    andere pagina. Dan krijg ik na het versturen, een string achter de URL
    van de pagina die het formulier verstuurd heeft:

    test.php?
    active=in&emailadres=mijn@emailadres.hier&invoerwa chtwoord=hetwachtwoord&Submit=Verzenden

    test.php ziet er zo uit:

    <?php
    include(‘loginform.inc’);
    ?>

    Het vreemde is dus dat ik weer op dezelfde pagina kom en het verzenden
    en de afhandeling niet goed gaat.

    Als ik een copy van login.php in een andere directory zet en in
    loginform.inc è action de directory aanpas naar de copy, dan kan ik
    wel vanuit het origineel het formulier verzenden naar de kopie, waar
    het ook correct wordt afgehandeld.

    Maar ik krijg het dus niet voor elkaar om het vanuit een andere pagina
    te verzenden en af te handelen.

    Iemand een idee waar het aan ligt?
    Groeten,

    Matthijs


  2.  
    #2
    Rik Wasmus
    Gast
    n/a Berichten
    Berichten zijn liked




    Re: probleem met formulier afhandeling vanuit andere pagina (PHP)

    On Thu, 28 Aug 2008 13:54:30 +0200, <matthijsdezwart@gmail.com> wrote:

    > Hoi,
    >
    > Ik heb een vreemd probleem met een formulier afhandeling.
    > Het formulier dat ik wil maken / gebruiken is een inlog formulier, dat
    > qua opmaak in een .inc file zit. Deze ziet er zo uit:
    >
    > <div id="rightcolumn">
    > <table border="0" cellspacing="0" cellpadding="0">
    > <tr>
    > <td>
    > <form action="/traderspit/tests/login.php" method="post">




    > Totdat ik het formulier niet invul vanaf login.php, maar vanaf een
    > andere pagina. Dan krijg ik na het versturen, een string achter de URL
    > van de pagina die het formulier verstuurd heeft:
    > test.php?
    > active=in&emailadres=mijn@emailadres.hier&invoerwa chtwoord=hetwachtwoord&Submit=Verzenden


    Ofwel een GET ipv een POST.

    > test.php ziet er zo uit:
    >
    > <?php
    > include(‘loginform.inc’);
    > ?>
    >
    > Het vreemde is dus dat ik weer op dezelfde pagina kom en het verzenden
    > en de afhandeling niet goed gaat.
    >
    > Als ik een copy van login.php in een andere directory zet en in
    > loginform.inc è action de directory aanpas naar de copy, dan kan ik
    > wel vanuit het origineel het formulier verzenden naar de kopie, waar
    > het ook correct wordt afgehandeld.
    >
    > Maar ik krijg het dus niet voor elkaar om het vanuit een andere pagina
    > te verzenden en af te handelen.
    >
    > Iemand een idee waar het aan ligt?


    1) Valideer je HTML.
    2) Waarschijnlijk sluit je abusievelijk een <form method="get"> niet af,
    en formulieren kunnen in HTML niet nest worden. In welk formulier je
    browser interpreteerd dat je velden staan is dan niet te voorspellen, en
    wordt overgelaten aan diens foutafhandeling.
    --
    Rik Wasmus
    ....spamrun finished

  3. advertentie



  4.  
    #3
    matthijsdezwart@gmail.com
    Gast
    n/a Berichten
    Berichten zijn liked




    Re: probleem met formulier afhandeling vanuit andere pagina (PHP)

    On 28 aug, 14:10, "Rik Wasmus" <luiheidsgoe...@hotmail.com> wrote:
    > On Thu, 28 Aug 2008 13:54:30 +0200, <matthijsdezw...@gmail.com> wrote:
    > > Hoi,

    >
    > > Ik heb een vreemd probleem met een formulier afhandeling.
    > > Het formulier dat ik wil maken / gebruiken is een inlog formulier, dat
    > > qua opmaak in een .inc file zit. Deze ziet er zo uit:

    >
    > > * * * * * *<div id="rightcolumn">
    > > * * * * * * * * * *<table border="0" cellspacing="0" cellpadding="0">
    > > * * * * * * * * * * *<tr>
    > > * * * * * * * * * * * *<td>
    > > * * * * * * * * * * * *<form action="/traderspit/tests/login.php" method="post">
    > > Totdat ik het formulier niet invul vanaf login.php, maar vanaf een
    > > andere pagina. Dan krijg ik na het versturen, een string achter de URL
    > > van de pagina die het formulier verstuurd heeft:
    > > test.php?
    > > active=in&emailadres=m...@emailadres.hier&invoerwa chtwoord=hetwachtwoord&Submit=Verzenden

    >
    > Ofwel een GET ipv een POST.
    >
    >
    >
    >
    >
    > > test.php ziet er zo uit:

    >
    > > <?php
    > > include(‘loginform.inc’);
    > > ?>

    >
    > > Het vreemde is dus dat ik weer op dezelfde pagina kom en het verzenden
    > > en de afhandeling niet goed gaat.

    >
    > > Als ik een copy van login.php in een andere directory zet en in
    > > loginform.inc è action de directory aanpas naar de copy, dan kan ik
    > > wel vanuit het origineel het formulier verzenden naar de kopie, waar
    > > het ook correct wordt afgehandeld.

    >
    > > Maar ik krijg het dus niet voor elkaar om het vanuit een andere pagina
    > > te verzenden en af te handelen.

    >
    > > Iemand een idee waar het aan ligt?

    >
    > 1) Valideer je HTML.
    > 2) Waarschijnlijk sluit je abusievelijk een <form method="get"> niet af, *
    > en formulieren kunnen in HTML niet nest worden. In welk formulier je *
    > browser interpreteerd dat je velden staan is dan niet te voorspellen, en *
    > wordt overgelaten aan diens foutafhandeling.
    > --
    > Rik Wasmus
    > ...spamrun finished- Tekst uit oorspronkelijk bericht niet weergeven -
    >
    > - Tekst uit oorspronkelijk bericht weergeven -- Tekst uit oorspronkelijk bericht niet weergeven -
    >
    > - Tekst uit oorspronkelijk bericht weergeven -


    Het bleek idd aan de opmaak te liggen. Want als ik de opmaak weg laat
    en het formulier "grof" in een html pagina zet, werkt het idd wel.
    Typisch....
    Ik ga eens even kijken hoe ik dat ga oplossen. Ligt het aan de table
    opmaak? Of ergens anders aan? Zou ik wel CSS kunnen gebruiken met
    div's?
    In ieder geval bedankt voor de tip, want het pribleem is in ieder
    geval bekend nu.
    Mazzel,

    Matthijs


  5.  
    #4
    matthijsdezwart@gmail.com
    Gast
    n/a Berichten
    Berichten zijn liked




    Re: probleem met formulier afhandeling vanuit andere pagina (PHP)

    > > Iemand een idee waar het aan ligt?
    >
    > 1) Valideer je HTML.
    > 2) Waarschijnlijk sluit je abusievelijk een <form method="get"> niet af, *
    > en formulieren kunnen in HTML niet nest worden. In welk formulier je *
    > browser interpreteerd dat je velden staan is dan niet te voorspellen, en *
    > wordt overgelaten aan diens foutafhandeling.
    > --
    > Rik Wasmus
    > ...spamrun finished- Tekst uit oorspronkelijk bericht niet weergeven -
    >
    > - Tekst uit oorspronkelijk bericht weergeven -- Tekst uit oorspronkelijk bericht niet weergeven -
    >
    > - Tekst uit oorspronkelijk bericht weergeven -


    Na je verhaal over opmaak en het verkeerd afsluiten van het form, liep
    ik nog even goed door de code heen en heb ik de boosdoener gevonden.
    Het was een verdwaalde <form>....


Forum Rechten

  • Je mag geen nieuwe onderwerpen plaatsen
  • Je mag geen reacties plaatsen
  • Je mag geen bijlagen toevoegen
  • Je mag jouw berichten niet wijzigen
  •  



webhostingtalk.nl
Webhostingtalk.nl © copyright 2001-2013 Alle Rechten Gereserveerd.

Content Relevant URLs by vBSEO 3.6.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75