Avatar billede shjdsi Nybegynder
31. august 2005 - 10:47 Der er 8 kommentarer og
1 løsning

hjælp til syntax/løsning af lille problem med html form og php

hej jeg følgende lille phph script
<?php
her står der selvfølgelig headder og andet html inden nedenstående har bare ikke taget det med.
if ($submit) {
    if (!isset($txtOldPasswd)) {
        print "gammelt passwd er ikke sat";
    exit;
    }
    if($txtNewPasswd==$txtNewPasswd1) {
        skiftPassword($txtOldPasswd, $txtNewPasswd );
    }else {
        print "password er ikke identiske";
    exit;
    }
}
print "<form  action=\"$php_self\" method=\"post\">";
print "<table>";
print "<td>Gammelt Password</td><td><input type= \"text\" name =\"txtOldPasswd\"></td><tr>";
print "<td>Nyt Password</td><td><input type= \"text\" name =\"txtNewPasswd\"></td><tr>";
print "<td>Gentag nyt Password</td><td><input type= \"text\" name =\"txtNewPasswd1\"></td>";
print "</table>";
print "<td colspan=\"2\"><input type=\"submit\" name =\"submit\" value =\"skift password\"></td>";
print " </form>";
require($_SERVER["DOCUMENT_ROOT"] . "/test/footer.php");

?>

mit spørgsmål er
hvad skal der til for at jeg kan chekke på om submit er trykket og derefter køre validering og kald af funktion til skift af password ved at anvende $php_self
jeg ville gerne kunne udføre det på 1 side altså ved at formen har action til sig selv.
Avatar billede nielle Nybegynder
31. august 2005 - 10:59 #1
if (isset($txtOldPasswd) && isset($txtNewPasswd) && isset($txtNewPasswd1))
{
    if (!isset($txtOldPasswd))
    {
        print "gammelt passwd er ikke sat";
        exit;
    }

    if ($txtNewPasswd==$txtNewPasswd1)
    {
        skiftPassword($txtOldPasswd, $txtNewPasswd);
    }
    else
    {
        print "password er ikke identiske";
        exit;
    }
}
Avatar billede shjdsi Nybegynder
31. august 2005 - 11:06 #2
ja det ser rigtigt nok ud, men det der sker ingenting nå jeg aktivere formen andet en indholdet af textboks bliver resat. Er det mon noget med selve htmlformen
Avatar billede nielle Nybegynder
31. august 2005 - 11:19 #3
Så prøv med denne variation i stedet:

if (isset($_POST["txtNewPasswd"]) && isset($_POST["txtNewPasswd1"]))
{
    if (!isset($_POST["txtOldPasswd"]))
    {
        print "gammelt passwd er ikke sat";
        exit;
    }

    if ($_POST["txtNewPasswd == $_POST["txtNewPasswd1"])
    {
        skiftPassword($_POST["txtOldPasswd"], $_POST["txtNewPasswd"]);
    }
    else
    {
        print "password er ikke identiske";
        exit;
    }
}
Avatar billede nielle Nybegynder
31. august 2005 - 11:20 #4
Der manglede lige lidt:

if (isset($_POST["txtNewPasswd"]) && isset($_POST["txtNewPasswd1"]))
{
    if (!isset($_POST["txtOldPasswd"]))
    {
        print "gammelt passwd er ikke sat";
        exit;
    }

    if ($_POST["txtNewPasswd"] == $_POST["txtNewPasswd1"])
    {
        skiftPassword($_POST["txtOldPasswd"], $_POST["txtNewPasswd"]);
    }
    else
    {
        print "password er ikke identiske";
        exit;
    }
}
Avatar billede shjdsi Nybegynder
31. august 2005 - 12:23 #5
forsøgt med
if (isset($_POST["submit"])) {
udfør validering og kald af funktionen skiftPassword
}
Avatar billede shjdsi Nybegynder
31. august 2005 - 12:24 #6
Sorry prøver lige igen, ok men problemet er stadig at det blir udført med det samme siden loades, jeg vil have det til kun at blive udført hvis der er trykket på submit.
Avatar billede nielle Nybegynder
31. august 2005 - 12:32 #7
Mit kode eksempel burde virke, men du kan da sagten gøre det igennem submitknappen - det gør bare ingen som helst foreskel.

For det første: Du bør aldrig kalde din submit-knap for "submit":

print "<td colspan=\"2\"><input type=\"submit\" name =\"nytPassword\" value =\"skift password\"></td>";

- og derefter er det:

if (isset($_POST["nytPassword"]))
{
    // ...
}
Avatar billede shjdsi Nybegynder
31. august 2005 - 13:18 #8
Nu virker det 1000 tak for hjælpen.. læg lige et svar så jeg kan lukke spg.
Avatar billede nielle Nybegynder
31. august 2005 - 13:26 #9
Svare :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Specialister til Netværksoperations til Forsvarets nye Digitale Backbone

Forsvarets Efterretningstjeneste

Linux Infrastructure Specialist

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer