Avatar billede blach Nybegynder
28. oktober 2003 - 11:12 Der er 12 kommentarer og
1 løsning

Opret profil

Jeg har et script hvor man opretter en profil, men hvis de glemmer at indtaste noget i en af formene, skriver den at de mangler at udfylde en af formene. Men så bliver alle deres informationer slettet...
Hvordan får jeg deres indformationer til at blive stående?

          <?
      open();
          if ($submit) {
              if ($username > '' && $password > '' && $password2 > '') {
                echo "<B><FONT COLOR='RED'><CENTER>Din bruger vil blive oprettet.</CENTER></FONT></B>";
              } else {
                echo "<B><FONT COLOR='RED'><CENTER>Du har ikke udfyldt alle felter!<BR></CENTER></FONT></B>";
              }
          }
          close();
          ?>

                      <FORM method="POST" action=<? echo $php_self; ?>>
            <TABLE BORDER="0" CELLPADDING="2" CELLSPACING="0"><TR>
            <TD VALIGN="TOP"><DIV CLASS="normal">Brugernavn:</DIV></TD><TD><INPUT TYPE="text" NAME="username" CLASS="but" SIZE="20" MAXLENGTH="100"></TD>
            </TR><TR>
            <TD VALIGN="TOP"><DIV CLASS="normal">Kodeord:</DIV></TD><TD><INPUT TYPE="text" NAME="password" CLASS="but" SIZE="20" MAXLENGTH="100"></TD>
            </TR><TR>
            <TD VALIGN="TOP"><DIV CLASS="normal">Bekræft kodeord:</DIV></TD><TD><INPUT TYPE="text" NAME="password2" CLASS="but" SIZE="20" MAXLENGTH="100"></TD>
            </TR>
            <BUTTON NAME="submit" TYPE="submit" CLASS="button">Opret profil</BUTTON></TD>
            </TR></TABLE>
Avatar billede repox Seniormester
28. oktober 2003 - 11:38 #1
Normalt lader man ikke passwordfeltet blive udfyldt, men nedenstående skulle gerne fungere så den viser brugernavnet igen!

<?
      open();
          if ($submit) {
              if ($username > '' && $password > '' && $password2 > '') {
                echo "<B><FONT COLOR='RED'><CENTER>Din bruger vil blive oprettet.</CENTER></FONT></B>";
              } else {
                echo "<B><FONT COLOR='RED'><CENTER>Du har ikke udfyldt alle felter!<BR></CENTER></FONT></B>";
              }
          }
          close();
          ?>

                      <FORM method="POST" action=<? echo $php_self; ?>>
            <TABLE BORDER="0" CELLPADDING="2" CELLSPACING="0"><TR>
            <TD VALIGN="TOP"><DIV CLASS="normal">Brugernavn:</DIV></TD><TD><INPUT TYPE="text" NAME="username" CLASS="but" SIZE="20" MAXLENGTH="100" value="<?php echo $username; ?>"></TD>
            </TR><TR>
            <TD VALIGN="TOP"><DIV CLASS="normal">Kodeord:</DIV></TD><TD><INPUT TYPE="text" NAME="password" CLASS="but" SIZE="20" MAXLENGTH="100"></TD>
            </TR><TR>
            <TD VALIGN="TOP"><DIV CLASS="normal">Bekræft kodeord:</DIV></TD><TD><INPUT TYPE="text" NAME="password2" CLASS="but" SIZE="20" MAXLENGTH="100"></TD>
            </TR>
            <BUTTON NAME="submit" TYPE="submit" CLASS="button">Opret profil</BUTTON></TD>
            </TR></TABLE>
Avatar billede blach Nybegynder
28. oktober 2003 - 11:46 #2
Det ser rigtig godt ud, tak for hjælpen...
Avatar billede blach Nybegynder
28. oktober 2003 - 18:18 #3
Måske du vil ligge et svar og samtidigt fortælle hvad man gør, når alle informationer er rigtigt indtastet og brugeren er gemt, og jeg gerne vil sende brugeren til en "Din profil er oprettet side"?
Jeg har prøvet at indsætte nedenstående hvor der står "Din bruger vil blive oprettet." i min kode...
header("location: index.php?side=profil_oprettet");
men den giver en fejlmeddelse...
Avatar billede repox Seniormester
29. oktober 2003 - 08:13 #4
Hvis du istedet for at skrive 'Din bruger vil blive oprettet' på den side du skriver felterne, så skriv alle de informationer et andet sted, som f.eks. på den side du vil sende videre til!

Hvis din open() og close() funktion åbner og lukker for en database og ikke udskriver HTML eller anden tekst (output) så kan du gøre således:

<?
      open();
          if ($submit) {
              if ($username > '' && $password > '' && $password2 > '') {
              header("location: index.php?side=profil_oprettet");
              } else {
                echo "<B><FONT COLOR='RED'><CENTER>Du har ikke udfyldt alle felter!<BR></CENTER></FONT></B>";
              }
          }
          close();
          ?>
Avatar billede blach Nybegynder
29. oktober 2003 - 09:38 #5
Den udskriver denne fejl:
Warning: Cannot add header information - headers already sent by (output started at /var/www/html/index.php:16) in /var/www/html/opretprofil.php on line 23
Avatar billede repox Seniormester
29. oktober 2003 - 13:58 #6
Smider din open() funktion noget tekst ud på nogen måde ?? Eller noget html kode ?

Ellers prøv:

<?
      open();
              if ($submit && $username > '' && $password > '' && $password2 > '') {
          header("location: index.php?side=profil_oprettet");
              } else {
        echo '
        <FORM method="POST" action="'.$php_self.'">
            <TABLE BORDER="0" CELLPADDING="2" CELLSPACING="0"><TR>
            <TD VALIGN="TOP"><DIV CLASS="normal">Brugernavn:</DIV></TD><TD><INPUT TYPE="text" NAME="username" CLASS="but" SIZE="20" MAXLENGTH="100" value="<?php echo $username; ?>"></TD>
            </TR><TR>
            <TD VALIGN="TOP"><DIV CLASS="normal">Kodeord:</DIV></TD><TD><INPUT TYPE="text" NAME="password" CLASS="but" SIZE="20" MAXLENGTH="100"></TD>
            </TR><TR>
            <TD VALIGN="TOP"><DIV CLASS="normal">Bekræft kodeord:</DIV></TD><TD><INPUT TYPE="text" NAME="password2" CLASS="but" SIZE="20" MAXLENGTH="100"></TD>
            </TR>
            <BUTTON NAME="submit" TYPE="submit" CLASS="button">Opret profil</BUTTON></TD>
            </TR></TABLE>';

                  if ($submit && $username == '' || $password == '' || $password2 == '') {
                echo "<B><FONT COLOR='RED'><CENTER>Du har ikke udfyldt alle felter!<BR></CENTER></FONT></B>";
              }
          }
          close();
          ?>
Avatar billede repox Seniormester
29. oktober 2003 - 13:58 #7
Den her virker nok bedre, lavede lige lidt syntax fejl:


<?
      open();
              if ($submit && $username > '' && $password > '' && $password2 > '') {
          header("location: index.php?side=profil_oprettet");
              } else {
        echo '
        <FORM method="POST" action="'.$php_self.'">
            <TABLE BORDER="0" CELLPADDING="2" CELLSPACING="0"><TR>
            <TD VALIGN="TOP"><DIV CLASS="normal">Brugernavn:</DIV></TD><TD><INPUT TYPE="text" NAME="username" CLASS="but" SIZE="20" MAXLENGTH="100" value="'.$username.'"></TD>
            </TR><TR>
            <TD VALIGN="TOP"><DIV CLASS="normal">Kodeord:</DIV></TD><TD><INPUT TYPE="text" NAME="password" CLASS="but" SIZE="20" MAXLENGTH="100"></TD>
            </TR><TR>
            <TD VALIGN="TOP"><DIV CLASS="normal">Bekræft kodeord:</DIV></TD><TD><INPUT TYPE="text" NAME="password2" CLASS="but" SIZE="20" MAXLENGTH="100"></TD>
            </TR>
            <BUTTON NAME="submit" TYPE="submit" CLASS="button">Opret profil</BUTTON></TD>
            </TR></TABLE>';

                  if ($submit && $username == '' || $password == '' || $password2 == '') {
                echo "<B><FONT COLOR='RED'><CENTER>Du har ikke udfyldt alle felter!<BR></CENTER></FONT></B>";
              }
          }
          close();
          ?>
Avatar billede blach Nybegynder
29. oktober 2003 - 14:11 #8
Hmm, ja open() og close() er kommandoer til databasen...

Må jeg ikke sende dig filen, den er blevet langt mere kompleks nu??
Og jeg vil gerne have de evt. mejlmeddelser oven over min <FORM>...
Avatar billede blach Nybegynder
29. oktober 2003 - 22:05 #9
Hmm, fandt ud af det :]
Gælder bare lige om at vende det lidt om...
Avatar billede blach Nybegynder
29. oktober 2003 - 22:07 #10
Men i stedet for det "og"
if ($username > '' && $password > '' && $password2 > '')
Kan man så sige "eller"?
if ($username > '' or $password > '' or $password2 > '')
Avatar billede repox Seniormester
30. oktober 2003 - 11:57 #11
Ja, så skriver du bare || eller or som du selv foreslog... :)
Avatar billede blach Nybegynder
30. oktober 2003 - 12:04 #12
Cool nok, tak... Du kan bare ligge et svar...
Avatar billede blach Nybegynder
09. december 2003 - 18:08 #13
Så gør jeg det sgu selv...
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