Avatar billede nbj1 Praktikant
07. maj 2004 - 07:11 Der er 23 kommentarer og
1 løsning

oprettelse form

hej
hvor finder jeg et simpel php form for oprettelse af bruger til mysql connect til local host med insert bla bla bla...
Avatar billede sqren Nybegynder
07. maj 2004 - 08:03 #1
opret.php
----------
<?php
$submit = $_POST['submit'];
if(isset($submit)) {

$nick = trim(mysql_escape_string(htmlspecialchars(stripslashes($_POST['nick']))));
$email = trim($_POST['email']);
$pass = $_POST['pass'];
$pass2 = $_POST['pass2'];

$status = 0;

if (!$nick) { $fejl1="Dit brugernavn mangler<br>"; $status++;}
elseif (strlen($nick)<2) { $fejl1="Dit brugernavn skal være min. 2 tegn<br>"; $status++; }
elseif (!eregi("^[ a-zæøå0-9_@/,.!?=#%&()-]+$",$nick)) { $fejl1="Ugyldig(e) tegn i brugernavnet<br>"; $status++; }

if (empty($pass) || empty($pass2)) {
$fejl2 = "Udfyld venligst begge felter for kodeord<br>"; $status++; }
elseif (strlen($pass)<4) { $fejl2="Dit kodeord skal være min. 4 tegn<br>"; $status++; }
elseif ($pass!=$pass2) {
$fejl2 = "Kodeordet er ikke gentaget korrekt<br>"; $status++; }

if ($status==0) {
$checknick = @mysql_query("SELECT nick FROM users WHERE nick='$nick'");
if (@mysql_num_rows($checknick)>0) {
$fejl1 = "Brugernavnet er taget<br>"; $status++; }

$checkemail = @mysql_query("SELECT email FROM users WHERE email='$email'");
if (@mysql_num_rows($checkemail)>0) {
$fejl2 = "Email-adressen er allerede i brug!<br>"; $status++; }

if ($status==0) {
mysql_query("INSERT INTO users (nick, email, pass)
VALUES ('$nick', '$email', md5('$pass'))") or die(mysql_error());
    header("Location: finish.php&nick=$nick");
}
}
if ($status!=0) { $fejlliste='<br><br><font color="red">Fejl:<br>
'.$fejl1.$fejl2.$fejl3.'</font><br>'; }
}
?>
<form method="post" action="opret.php">
<table border="0">
  <tr>
    <td width="50%">Brugernavn: </td>
    <td width="50%"><input type="text" size="30" name="nick" value="<?php echo stripslashes($nick); ?>" maxlength="30"></td>
  </tr>
  <tr>
    <td width="50%">Adgangskode: </td>
    <td width="50%"><input type="password" size="30" name="pass" maxlength="30"></td>
  </tr>
  <tr>
    <td width="50%">Adgangskode igen: </td>
    <td width="50%"><input type="password" size="30" name="pass2" maxlength="30"></td>
  </tr>
  <tr>
    <td width="50%">Email: </td>
    <td width="50%"><input type="text" size="30" name="email" value="<?php echo stripslashes($email); ?>" maxlength="30"></td>
  </tr>
  <tr>
    <td width="50%">Hvorfor skal du have adgang? (Hvem er du? Hvem kender du "herfra"/Hvilke(n) fest(er) har du været med til): </td>
    <td width="50%"><textarea rows="5" name="argumenter" cols="25"><?php echo stripslashes($argumenter); ?></textarea></td>
  </tr>
  <tr>
    <td width="50%">&nbsp;</td>
    <td width="50%"><input type="submit" value="Opret" name="submit">
  </tr>
</table>
</form>
<?php if ($fejlliste) { echo $fejlliste; }?>


finish.php
----------
<html>
<head>
<title>Opret</title>
</head>
<body>
Du er blevet oprettet som <?=$nick2 ?><br>
</body>
</html>
Avatar billede sqren Nybegynder
07. maj 2004 - 08:08 #2
Ups...

opret.php
--------
<?php
$submit = $_POST['submit'];
if(isset($submit)) {

$nick = trim(mysql_escape_string(htmlspecialchars(stripslashes($_POST['nick']))));
$email = trim($_POST['email']);
$pass = $_POST['pass'];
$pass2 = $_POST['pass2'];

$status = 0;

if (!$nick) { $fejl1="Dit brugernavn mangler<br>"; $status++;}
elseif (strlen($nick)<2) { $fejl1="Dit brugernavn skal være min. 2 tegn<br>"; $status++; }
elseif (!eregi("^[ a-zæøå0-9_@/,.!?=#%&()-]+$",$nick)) { $fejl1="Ugyldig(e) tegn i brugernavnet<br>"; $status++; }

if (empty($pass) || empty($pass2)) {
$fejl2 = "Udfyld venligst begge felter for kodeord<br>"; $status++; }
elseif (strlen($pass)<4) { $fejl2="Dit kodeord skal være min. 4 tegn<br>"; $status++; }
elseif ($pass!=$pass2) {
$fejl2 = "Kodeordet er ikke gentaget korrekt<br>"; $status++; }

if ($status==0) {
$checknick = @mysql_query("SELECT nick FROM users WHERE nick='$nick'");
if (@mysql_num_rows($checknick)>0) {
$fejl1 = "Brugernavnet er taget<br>"; $status++; }

$checkemail = @mysql_query("SELECT email FROM users WHERE email='$email'");
if (@mysql_num_rows($checkemail)>0) {
$fejl2 = "Email-adressen er allerede i brug!<br>"; $status++; }

if ($status==0) {
mysql_query("INSERT INTO users (nick, email, pass)
VALUES ('$nick', '$email', md5('$pass'))") or die(mysql_error());
    header("Location: finish.php&nick=$nick");
}
}
if ($status!=0) { $fejlliste='<br><br><font color="red">Fejl:<br>
'.$fejl1.$fejl2.$fejl3.'</font><br>'; }
}
?>
<form method="post" action="opret.php">
<table border="0">
  <tr>
    <td width="50%">Brugernavn: </td>
    <td width="50%"><input type="text" size="30" name="nick" value="<?php echo stripslashes($nick); ?>" maxlength="30"></td>
  </tr>
  <tr>
    <td width="50%">Adgangskode: </td>
    <td width="50%"><input type="password" size="30" name="pass" maxlength="30"></td>
  </tr>
  <tr>
    <td width="50%">Adgangskode igen: </td>
    <td width="50%"><input type="password" size="30" name="pass2" maxlength="30"></td>
  </tr>
  <tr>
    <td width="50%">Email: </td>
    <td width="50%"><input type="text" size="30" name="email" value="<?php echo stripslashes($email); ?>" maxlength="30"></td>
  </tr>
  <tr>
    <td width="50%">&nbsp;</td>
    <td width="50%"><input type="submit" value="Opret" name="submit">
  </tr>
</table>
</form>
<?php if ($fejlliste) { echo $fejlliste; }?>


CREATE TABLE users (
  id int(11) unsigned NOT NULL auto_increment,
  nick varchar(20) NOT NULL default '',
  pass varchar(32) NOT NULL default '',
  email varchar(30) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
Avatar billede nbj1 Praktikant
07. maj 2004 - 08:11 #3
huu alt for avangseret der skal vare connect til local host database navn og så indtast i en php side navn adresse bare der er connect og insert til mysql ingen password og det der fine
Avatar billede sqren Nybegynder
07. maj 2004 - 08:36 #4
Hmm... Okay... Mere simpelt...  Her er noget mere simpelt, men forstår ikke helt hvad du mener


connect.php:
------------
$server = "localhost";
$username = "brugernavn";
$password = "password";
$database = "database";
$connection = mysql_pconnect($server,$username,$password);
mysql_select_db($database);


opret.php:
-------------
<?php
include("connect.php");
if($Submit){
mysql_query("INSERT INTO users (nick, password, email) VALUES ('$nick', '$adresse', '$email')");
echo"Du er blevet oprettet som: $nick";
}

echo"
<form method=\"post\" action=\"opret.php\">
Brugernavn: <input type=\"text\" name=\"nick\"><br>
Adresse:<input type=\"password\" name=\"adresse\"><br>
Email:<input type=\"text\" name=\"email\"><br>
<input type="submit" value="Opret" name="Submit">
</form>";
?>
Avatar billede nbj1 Praktikant
07. maj 2004 - 08:53 #5
he efter du ikke forstod det helt er det meget godt gået men i en fil som her
<html>

<body>

<?php

<form method="post" action="<?php echo $PHP_SELF?>">

$server = "localhost";
$username = "admin";
$password = "";
$database = "pizza";
$connection = mysql_pconnect($server,$username,$password);
mysql_select_db($database);


if($Submit){
mysql_query("INSERT INTO pizza (RegistrastionNr, PhoneNr, Name, LastName, Address, Zip) VALUES ('$RegistrationNr', '$PhoneNr', '$Name', 'LastName', 'Address', 'Zip')");
echo"Du er blevet oprettet som: $PhoneNr";
}

echo"
<form method=\"post\" action=\"opret.php\">
Brugernavn: <input type=\"text\" name=\"nick\"><br>
Adresse:<input type=\"password\" name=\"adresse\"><br>
Email:<input type=\"text\" name=\"email\"><br>
<input type="submit" value="Opret" name="Submit">
</form>";
?>
Avatar billede nbj1 Praktikant
07. maj 2004 - 08:54 #6
men jeg for en fejl i linie 7 det forstår jeg ikke
Avatar billede nbj1 Praktikant
07. maj 2004 - 09:37 #7
hvad er der galdt med line 25
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in c:\apache\www\index.php on line 25

<?php

$server = "localhost";
$username = "admin";
$password = "";
$database = "pizza";
$connection = mysql_pconnect($server,$username,$password);
mysql_select_db($database);


if($Submit){
mysql_query("INSERT INTO pizza (RegistrastionNr, PhoneNr, Name, LastName, Address, Zip) VALUES ('$RegistrationNr', '$PhoneNr', '$Name', 'LastName', 'Address', 'Zip')");
echo"Du er blevet oprettet som: $PhoneNr";
}

echo"
<form method=\"post\" action=\"opret.php\">

RegistrationNr: <input type=\"text\" name=\"RegistrationNr\"><br>
PhoneNr:<input type=\"number\" number=\"PhoneNr\"><<br>
Name:<input type=\"text\" name=\"Name\"><br>
LastName: <input type=\"text\" name=\"LastName\"><br>
Adresse:<input type=\"password\" name=\"adresse\"><br>
Zip:<input type=\"text\" name=\"Zip\"><br>
<input type="submit" value="Opret" name="Submit">
</form>";
?>
Avatar billede nbj1 Praktikant
07. maj 2004 - 10:05 #8
denne linie brokker den sig over ligemeget hvad jeg gør
<input type="submit" value="Opret" name="Submit">
Avatar billede jammerlab Nybegynder
07. maj 2004 - 10:28 #9
<input type=\"submit\" value=\"Opret\" name=\"Submit\">
Avatar billede nbj1 Praktikant
07. maj 2004 - 11:00 #10
Notice: Undefined variable: submit in c:\apache\www\opret.php on line 5
hvad så i denne her linie ? det skulle være det samme som i databasen
if($submit){
mysql_query("INSERT INTO pizza (PhoneNr, Name, LastName, Address, Zip) VALUES ('$PhoneNr', '$Name', '$LastName', '$Address', '$Zip')");
echo"Du er blevet oprettet som: $PhoneNr";
}
Avatar billede nbj1 Praktikant
07. maj 2004 - 11:04 #11
hvis jeg samtidigt vil have det til at stå pænt under henanden skal jeg bruge table men da jeg bruger notepad skal man så gætte sig til hvor det skal stå ?
eks det der står her under er der noget udover address der skal passe med mysql ? 
Adresse:<input type=\"text\" name=\"adresse\"><br>
Avatar billede jammerlab Nybegynder
07. maj 2004 - 11:14 #12
Notice: Undefined variable: submit in c:\apache\www\opret.php on line 5

Betyder nok at du prøver at sætte noget ind i mysqlen som ikke er sat altså VALUES ('$PhoneNr', '$Name', '$LastName', '$Address', '$Zip') en af disse er tomme...
Avatar billede nbj1 Praktikant
07. maj 2004 - 11:18 #13
INSERT INTO pizza
navnet pizza er databasen og det skal det ikke være så men derimod customer som er tabelen tror jeg
Avatar billede nbj1 Praktikant
07. maj 2004 - 11:22 #14
så dan ser tabelen ud
CREATE TABLE `customer` (
  `RegistrationNr` int(6) NOT NULL auto_increment,
  `PhoneNr` int(9) NOT NULL default '0',
  `Name` char(20) NOT NULL default '',
  `LastName` char(25) NOT NULL default '',
  `Address` char(30) NOT NULL default '',
  `Zip` int(5) NOT NULL default '0',
  PRIMARY KEY  (`RegistrationNr`,`PhoneNr`),
  UNIQUE KEY `RegistrationNr` (`RegistrationNr`)
) TYPE=MyISAM AUTO_INCREMENT=121213 ;
Avatar billede jammerlab Nybegynder
07. maj 2004 - 11:28 #15
mysql_query("INSERT INTO customer (PhoneNr, Name, LastName, Address, Zip) VALUES ('$PhoneNr', '$Name', '$LastName', '$Address', '$Zip')");

jep :)
Avatar billede nbj1 Praktikant
07. maj 2004 - 11:34 #16
det skulle være rigtigt nok ik
Avatar billede nbj1 Praktikant
07. maj 2004 - 11:59 #17
ok tror jeg har en ide hvorfor den brokker sig RegistrationNr er en sammensat nøgle med phoneNr godt nok er RegistrationNr auto_increment så den skulle give sig et nummer selv mens PhoneNr er en nøgle i en anden tabel såe den tabelen order skal have det samme nr som i costumer hmm hvis det passer er det noget skidt.
Avatar billede nbj1 Praktikant
07. maj 2004 - 12:02 #18
eller oxo er det i dette typen er text skal det ikke være det samme som i mysql int char osv....
PhoneNr:        <input type=\"text\" name=\"PhoneNr\"><br>
Name:          <input type=\"text\" name=\"Name\"><br>
LastName:      <input type=\"text\" name=\"LastName\"><br>
Address:        <input type=\"text\" name=\"address\"><br>
Zip:            <input type=\"text\" name=\"Zip\"><br>
<input type=\"submit\" value=\"Opret\" name=\"Submit\">

</form>";
Avatar billede sqren Nybegynder
07. maj 2004 - 12:33 #19
Denne linie:
Address:        <input type=\"text\" name=\"address\"><br>

Skal ændres til dette:
Address:        <input type=\"text\" name=\"Address\"><br>

Address skal være med stort A...!
Avatar billede nbj1 Praktikant
07. maj 2004 - 13:03 #20
ja det er rigtigt nok hvad med det der står tekst alle steder betyder det noget ?
og der er stadig en fejl i linie 5 kan ikke se hvad det er kan du ?
if($Submit){
mysql_query("INSERT INTO pizza (RegistrastionNr, PhoneNr, Name, LastName, Address, Zip) VALUES ('$RegistrationNr', '$PhoneNr', '$Name', 'LastName', 'Address', 'Zip')");
echo"Du er blevet oprettet som: $PhoneNr";
Avatar billede sqren Nybegynder
08. maj 2004 - 01:14 #21
Dette:
'$PhoneNr', '$Name', 'LastName', 'Address', 'Zip')");

skal ændres til dette:

'$PhoneNr', '$Name', '$LastName', '$Address', '$Zip')");
Avatar billede sqren Nybegynder
27. maj 2004 - 12:28 #22
Virker det stadig ikke? Ellers er det vist på tide at lukke.
Avatar billede nbj1 Praktikant
31. maj 2004 - 02:28 #23
jo det virker fint TAK er bare lidt svært at komme online fra Malaysia
Avatar billede sqren Nybegynder
31. maj 2004 - 10:04 #24
Så skal du acceptere svaret/svarene.
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