webForumDet fria alternativet

Få tillbaka inmatade värden i ett formulär..

PHP

3 svar · 215 visningar · startad av Proton

Medlem sedan okt. 2000242 inlägg
Frågan#1

Hej,

Inne i en funktion har jag ett formulär, där man lägger till en ny användare. Jag har gjort så att man inte kan regga sig med ett användarnamn som redan finns. Skulle man försöka göra det får man upp en alert som säger att man ska ta ett annat användarnamn. Men då vill jag att alla andra uppgifter ska vara kvar så att man slipper skriva in allt på nytt. Hur gör man det?

Bifogar lite av koden...


<body bgcolor="#ffffff" background="images/main_bg.gif" leftmargin="0" topmargin="0">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" background="images/left.png">
  <tr> 
    <td align="left" valign="top"> 	
	   <?php 	
		if($_POST['action']=='Skicka') {
	     kolla_inloggning();
        }
		if ($_POST['ny_kund'] =='Skicka') {
		 post_kund();
		}
		if ($_POST['uppdatera_kund'] =='Uppdatera') {
		 update_kund();
		}
		if($registrera=='' && $_SESSION['inloggning'][$id]["inloggad"]=='') {
         logga_in();
        }
 		if ($_SESSION['inloggning'][$id]["inloggad"]=='ja') {
		 kund_meny(); 
		}
		if($registrera=='nykund') {
		 nykund();
		}
		if($registrera=="back") {  //Om nykunds användarnamn redan finns kommer man att gå ett steg tillbaka för att slippa skriva om allt.
		   echo "<SCRIPT language=\"JavaScript\">\n";
	       echo "history.go(-1)";
		   echo "</SCRIPT>\n";
		}
	   ?>  
    </td>
  </tr>
</table>
</body></html>

<?php
function nykund() {
  echo "<form action=\"login.php\" method=\"POST\" name=\"nykund\" onSubmit=\"MM_validateForm('Förnamn','','R','Efternamn','','R','Adress','','R','Postnummer','','RisNum','Ort','','R','Land','','R','Telefon','','RisNum','E-post','','RisEmail','Användarnamn','','R','Lösenord','','R');return document.MM_returnValue\">";
  echo "<table width=\"98%\" align=\"right\">\n";
  echo "<p><span class=\"rubrik\">Ny kund</span></p>";

  echo (
	"<TR>". 
      "<TD COLSPAN=4>Fält markerat med <SPAN STYLE='color: red'>*</SPAN> 
        är obligatoriskt.</TD>".
    "</TR>".
    "<TR>". 
      "<TD>Förnamn: <SPAN STYLE='color: red'>*</SPAN></TD>".
      "<TD COLSPAN=3><input type=text name=F&ouml;rnamn SIZE=25 MAXLENGTH=50></TD>".
    "</TR>".
    "<TR>". 
      "<TD>Efternamn: <SPAN STYLE='color: red'>*</SPAN></TD>".
      "<TD COLSPAN=3><INPUT TYPE=TEXT NAME=Efternamn SIZE=25 MAXLENGTH=50></TD>".
    "</TR>".
    "<TR>". 
      "<TD>Gatuadress: <SPAN STYLE='color: red'>*</SPAN></TD>".
      "<TD COLSPAN=3><INPUT TYPE=TEXT NAME=Adress SIZE=25 MAXLENGTH=50></TD>".
    "</TR>".
    "<TR>". 
      "<TD>Postnr:<SPAN STYLE='color: red'>*</SPAN></TD>".
      "<TD><INPUT TYPE=TEXT NAME=Postnummer SIZE=6 MAXLENGTH=6></TD>".
      "<TD>Ort:<SPAN STYLE='color: red'>*</SPAN></TD>".
      "<TD><INPUT TYPE=TEXT NAME=Ort SIZE=15 MAXLENGTH=50></TD>".
    "</TR>".
    "<TR>".
      "<TD>E-post:<SPAN STYLE='color: red'>*</SPAN></TD>".
      "<TD><INPUT TYPE=TEXT NAME=E-post SIZE=15 MAXLENGTH=50></TD>".
      "<TD>Telefon:<SPAN STYLE='color: red'>*</SPAN></TD>".
      "<TD><input type=TEXT name=Telefon size=15 maxlength=50></TD>".
    "</TR>".
    "<TR>". 
      "<TD>Land:</TD>".
      "<TD COLSPAN=3><SELECT SIZE=1 NAME=Land>
          <OPTION SELECTED VALUE=Sverige>Sverige</OPTION>
        </SELECT></TD>".
    "</TR>".
    "<TR>". 
      "<TD>Anv&auml;ndarnamn:<SPAN STYLE='color: red'>*</SPAN></TD>".
      "<TD><INPUT TYPE=TEXT NAME=Anv&auml;ndarnamn SIZE=15 MAXLENGTH=20></TD>".
      "<TD>L&ouml;senord:<SPAN STYLE='color: red'>*</SPAN></TD>".
      "<TD><input type=password name=L&ouml;senord size=13 maxlength=20></TD>".
    "</TR>".
	"<TR>". 
      "<TD COLSPAN=4>&nbsp;</TD>".
    "</TR>".
	"<TR>".
	  "<TD COLSPAN=3>&nbsp;</TD>".
      "<TD align=\"center\"><input class=\"buttons\" type=\"submit\" name=\"ny_kund\" value=\"Skicka\"></TD>".
    "</TR>\n");
  
  echo "</table>";
 echo "</form>"; 

}
?>

<?php
function post_kund() {
	
      $link=openDB();
	
	     $query="SELECT * FROM customer WHERE Username='".$_POST['Användarnamn']."' AND Password='".$_POST['Användarnamn']."'";
	     $result = queryDB($query, $link);
		 
	       if(!($rad=mysql_fetch_array($result))) {
            $query = "INSERT INTO customer (Firstname, Lastname, Address, ZipCode, City, Country, Phone, Email, Username, Password, RegDate) 
                            VALUES ('".$_POST['Förnamn']."', '".$_POST['Efternamn']."', 
                            '".$_POST['Adress']."', ".$_POST['Postnummer'].", '".$_POST['Ort']."', '".$_POST['Land']."', ".$_POST['Telefon'].",
							'".$_POST['E-post']."', '".$_POST['Användarnamn']."', '".$_POST['Lösenord']."', NOW())";
               
			   $result= queryDB($query, $link);
			    echo "<SCRIPT language=\"JavaScript\">\n";
	            echo "alert (\"Välkommen som kund till oss, om du loggar in kan du ändra dina uppgifter och förenklar ett köp.\")";
				echo "</SCRIPT>\n";
		    
			}else {  //Om Username redan finns...
               	$registrera="back";
			   	echo "<SCRIPT language=\"JavaScript\">\n";
	            echo "alert (\"Tyvärr, ditt användarnamn var upptaget. Prova ett annat.\")";
				echo "</SCRIPT>\n";
			   }
		closeDB($link);

}
?>

Som ni ser så har jag försökt lösa det med ett javascript history.go(-1)... Men det lyckades inte.

Några idéer?

Hälsningar
Johnny

Medlem sedan juni 20006 031 inlägg
#2

Du får nog ha formuläret där också och sätta variablarna som value.
t.ex: ".$_POST['Användarnamn']."

Medlem sedan maj 2003103 inlägg
#3

onclick="history.back()"
använder jag

Medlem sedan okt. 2000242 inlägg
#4

Tack Pedda, ditt tips gjorde susen!

Hälsningar
Johnny

258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)