Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

PHP Registrera - vad är fel?

Skapad av Gurrewe, 2009-12-04 16:38 i Webbutveckling & Programmering

2 362
44 inlägg
2 poäng
Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
2
Hej kära HP människor!
Jag har gjort ett PHP script som ska registrera informationen som anges i databasen... först fungerade det perfekt, men inte nu längre :(
Dessutom så vill jag att det där meddelandet som visas när man registrerar sig ska vara felfritt (alltså att man kan använda php där också)..

Hjälp? Varför fungerar det inte?

Jag hoppas att ni förstår vad jag menar med scriptet och så...

Ett stycke php-kod:
<?php
// DB CONNECTION
mysql_connect("localhost", "root", "ascent") or die(mysql_error());
mysql_select_db("users") or die(mysql_error());

//SUBMIT
if (isset($_POST['submit'])) {

//NO BLANK FIELDS
if (!$_POST['username'] | !$_POST['pass'] | !$_POST['pass2'] | !$_POST['email'] | !$_POST['domain'] ) {
die('You did not complete all of the required fields');
}

// NAME ALREADY USED
if (!get_magic_quotes_gpc()) {
$_POST['username'] = addslashes($_POST['username']);
}
$usercheck = $_POST['username'];
$check = mysql_query("SELECT username FROM users WHERE username = '$usercheck'")
or die(mysql_error());
$check2 = mysql_num_rows($check);

// NAME ERROR
if ($check2 != 0) {
die('Sorry, the username '.$_POST['username'].' is already in use.');
}

// PASSWORD CHECK
if ($_POST['pass'] != $_POST['pass2']) {
die('Your passwords did not match. ');
}


// DB INSERT
$insert = "INSERT INTO users (username, password, email, domain)
VALUES ('".$_POST['username']."', '".$_POST['pass']."', '".$_POST['email']."', '".$_POST['domain']."')";
$add_member = mysql_query($insert);
?>


<h1>Complete!</h1>
<p>Thank you, we will send you a email with information as soon as we have accepted your recuest! <br/>
Save this information:</a>.</p><br />

Date:
// Prints something like: Monday 8th of August 2005 03:12:46 PM
echo date('l jS of F Y h:i:s A');

Name:
//NAME OF USER
echo ($_POST['username']);



<?php
}
else
{
?>


<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border="0">
<tr><td>Name:</td><td>
<input type="text" name="username" maxlength="60">
</td></tr>
<tr><td>Password:</td><td>
<input type="password" name="pass" maxlength="10">
</td></tr>
<tr><td>Confirm Password:</td><td>
<input type="password" name="pass2" maxlength="10">
</td></tr>
<tr><td>Domain:</td><td>
<input type="text" name="domain" maxlength="50">
</td></tr>
<tr><td>Email</td><td>
<input type="text" name="email" maxlength="30">
</td></tr>
<tr><th colspan=2><input type="submit" name="submit" value="Register"></th></tr> </table>
</form>

<?php
}
?>


Tillägg av Gurrewe 2009-12-04 16:50

Här används scriptet:

http://justice.no-ip.org/a/login2/register.php



Tillägg av Gurrewe 2009-12-06 20:12

Nu har jag uppdaterat scriptet lite, och det ser ut såhär:

Ett stycke php-kod:
<?php
// DB CONNECTION
mysql_connect("localhost", "root", "ascent") or die(mysql_error());
mysql_select_db("users") or die(mysql_error());

//SUBMIT
if (isset($_POST['submit'])) {

//NO BLANK FIELDS
if (!$_POST['username'] | !$_POST['pass'] | !$_POST['pass2'] | !$_POST['email'] | !$_POST['domain'] | !$_POST['phone'] | !$_POST['address'] | !$_POST['city'] | !$_POST['state'] | !$_POST['state'] | !$_POST['zipcode'] | !$_POST['country'] | !$_POST['paypal'] ) {
die('You did not complete all of the required fields');
}

// NAME ALREADY USED
if (!get_magic_quotes_gpc()) {
$_POST['username'] = addslashes($_POST['username']);
}
$usercheck = $_POST['username'];
$check = mysql_query("SELECT username FROM users WHERE username = '$usercheck'")
or die(mysql_error());
$check2 = mysql_num_rows($check);

// NAME ERROR
if ($check2 != 0) {
die('Sorry, the username '.$_POST['username'].' is already in use.');
}

// PASSWORD CHECK
if ($_POST['pass'] != $_POST['pass2']) {
die('Your passwords did not match. ');
}


// DB INSERT
$insert = "INSERT INTO users (username, firstname, lastname, password, email, domain, phone, address, city, state, zipcode, contry, paypal)
VALUES ('".$_POST['username']."', '".$_POST['firstname']."', '".$_POST['pass']."', '".$_POST['email']."', '".$_POST['domain']."' '".$_POST['phone']."', '".$_POST['address']."', '".$_POST['city']."', '".$_POST['state']."', '".$_POST['zupcode']."', '".$_POST['country']."', '".$_POST['paypal']."',)";
$add_member = mysql_query($insert);
?>


<h1>Complete!</h1>
<p>Thank you, we will send you a email with information as soon as we have accepted your recuest! <br/>
Save this information:</a>.</p><br /><br /><br /><br />

Date:<br />
<?php echo date('l jS \of F Y h:i:s A'); ?>
<br /><br />
Name:<br />
<?php echo ($_POST['username']); ?>
<br /><br />
Email:<br />
<?php echo ($_POST['email']); ?>
<br /><br />
Domain:<br />
<?php echo ($_POST['domain']); ?>
<br /><br />



<?php
}
else
{
?>


<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border="0">
<tr><td>First Name:</td><td>
<input type="text" name="firstname" maxlength="60">
</td></tr>
<tr><td>Last Name:</td><td>
<input type="text" name="lastname" maxlength="60">
</td></tr>
<tr><td>Alias:</td><td>
<input type="text" name="username" maxlength="60">
</td></tr>
<tr><td>Phone:</td><td>
<input type="text" name="phone" maxlength="60">
</td></tr>
<tr><td>Address:</td><td>
<input type="text" name="address" maxlength="60">
</td></tr>
<tr><td>City:</td><td>
<input type="text" name="city" maxlength="60">
</td></tr>
<tr><td>State / Prov:</td><td>
<input type="text" name="state" maxlength="60">
</td></tr>
<tr><td>ZipCode:</td><td>
<input type="text" name="zipcode" maxlength="60">
</td></tr>
<tr><td>Country:</td><td>
<input type="text" name="country" maxlength="60">
</td></tr>
<tr><td>PayPal Email Adress:</td><td>
<input type="text" name="paypal" maxlength="60">
</td></tr>
<tr><td>Password:</td><td>
<input type="password" name="pass" maxlength="10">
</td></tr>
<tr><td>Confirm Password:</td><td>
<input type="password" name="pass2" maxlength="10">
</td></tr>
<tr><td>Domain:</td><td>
<input type="text" name="domain" maxlength="50">
</td></tr>
<tr><td>Email</td><td>
<input type="text" name="email" maxlength="30">
</td></tr>
<tr><th colspan=2><input type="submit" name="submit" value="Order"></th></tr> </table>
</form>

<?php
}
?>


Men, det fungerar inte... HJÄLP!



/party

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

ENord
Visningsbild
Hjälte 2 348 inlägg
0
Svar till Gurrewe [Gå till post]:
Vad händer? Får du något felmeddelande?
Tillägg av Erik 2009-12-04 16:44
Hittade ett fel, vet inte om det är det. Men efter texten om att man registreras försöker du kalla på funktionen date(), utan att du har startat php dock.

Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0
Svar till Erik [Gå till post]:
Inget meddelande i överhuvudtaget :(


Allt som skrivs ut är;

Complete!

Thank you, we will send you a email with information as soon as we have accepted your recuest!
Save this information:.

Date: // Prints something like: Monday 8th of August 2005 03:12:46 PM echo date('l jS \of F Y h:i:s A'); Name: echo ($_POST['username']);

/party

ENord
Visningsbild
Hjälte 2 348 inlägg
0
Svar till Gurrewe [Gå till post]:
Som jag skrev i det tidigare inlägget så glömmer du att starta php med starttaggen.
Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0

Svar till Erik [Gå till post]:
Jag vet, när jag skrev det så händer absolut ingenting... inte äns någon text i överhuvudtaget.

/party

ENord
Visningsbild
Hjälte 2 348 inlägg
0
Svar till Gurrewe [Gå till post]:
Jag tycker dock att du ska pröva med koden på http://pastie.org/727552 .
Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0

Svar till Erik [Gå till post]:



Svar till pr0n [Gå till post]:


Nu börjar det bli lite liv i det!
Och MySQL saken fungerar också! Perfekt!

Tack så mycket grabbar :D


/party

Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0

Svar till Nattefrost [Gå till post]:
:( Kan du hjälpa mig med att göra en säker version? Och så att den blir enklare? Snälla?

/party

Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0

Svar till Nattefrost [Gå till post]:
Det är faktiskt till en web hosting sak...

/party

Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0

Svar till Nattefrost [Gå till post]:


Okej tack!

/party

Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0

Svar till wento [Gå till post]:
Nu har jag det, och <html> taggarna behövs faktiskt inte.

/party

Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0
Svar till Erik [Gå till post]:
Uppdatering



Svar till wento [Gå till post]:
Uppdaterat.



Svar till moon_werewolf [Gå till post]:
Hjälp.



Svar till Nattefrost [Gå till post]:
Hjälp!


All kod finns i det första inlägget..




Tillägg av Gurrewe 2009-12-06 20:16

http://textsnip.com/aa0cea

/party

ENord
Visningsbild
Hjälte 2 348 inlägg
0
Svar till Gurrewe [Gå till post]:
Vad händer nu då?
Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0
Svar till Erik [Gå till post]:
Inget error, men det skickas inte till databasen.



Tillägg av Gurrewe 2009-12-06 20:22

http://justice.no-ip.org/a/order.php

/party

ENord
Visningsbild
Hjälte 2 348 inlägg
0
Svar till Gurrewe [Gå till post]:
Jag kollade på din query. Där kör du " ,) ". Ta bort " , " så borde det fungera. :)
Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0

Svar till Erik [Gå till post]:
Okej

/party

Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0
Svar till Erik [Gå till post]:
Var det du som spammade över med gg?



Tillägg av Gurrewe 2009-12-06 20:36

Det vill inte fungera när jag registrerar mig.

/party

ENord
Visningsbild
Hjälte 2 348 inlägg
0
Svar till Gurrewe [Gå till post]:
Jag vet inte vad du menar med "spammade över med gg", så det var inte jag i alla fall. Varför trodde du det? :) Aja, ändra mysql_query($insert) till mysql_query($insert) or die(mysql_error()) och se vad du får för felmeddelande.
Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0

Svar till Erik [Gå till post]:
Column count doesn't match value count at row 1

/party

ENord
Visningsbild
Hjälte 2 348 inlägg
0
Svar till Gurrewe [Gå till post]:
Du vill lägga till data i 13 kolumner, men sätter bara i 12 kolumner.
Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0

Svar till Erik [Gå till post]:
ok, jag ska kolla på det...

/party

Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0
Ett stycke php-kod:
// DB INSERT
$insert = "INSERT INTO users (username, firstname, lastname, password, email, domain, phone, address, city, state, zipcode, contry, paypal)
VALUES ('".$_POST['username']."', '".$_POST['firstname']."', '".$_POST['lastname']."', '".$_POST['pass']."', '".$_POST['email']."', '".$_POST['domain']."' '".$_POST['phone']."', '".$_POST['address']."', '".$_POST['city']."', '".$_POST['state']."', '".$_POST['zipcode']."', '".$_POST['country']."', '".$_POST['paypal']."')";
$add_member = mysql_query($insert) or die(mysql_error());

/party

Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0

Svar till Erik [Gå till post]:
Borde det inte vara rätt?

/party

ENord
Visningsbild
Hjälte 2 348 inlägg
0
Svar till Gurrewe [Gå till post]:
Nej. Du har missat ett kommatecken mellan '".$_POST['domain']."' och '".$_POST['phone']."'.
Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0

Svar till Erik [Gå till post]:
YES! Tack så mycket, du är min ängel...

/party

Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0

Svar till Erik [Gå till post]:
Finns det något sätt så att tiden då man klickade på "ORDER" sparas i databasen?

/party

ENord
Visningsbild
Hjälte 2 348 inlägg
0
Svar till Gurrewe [Gå till post]:
Lägg till en kolumn som heter exempelvis timestamp. Som värde kör du UNIX_TIMESTAMP().
Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0

Svar till Erik [Gå till post]:
Tack!

/party

ENord
Visningsbild
Hjälte 2 348 inlägg
0
Svar till Gurrewe [Gå till post]:
Annars kan man skapa en kolumn som automatiskt sätter UNIX_TIMESTAMP() när man skapar en ny rad i tabellen. Detta görs enklast i phpmyadmin. Bedöm själv vilket du gillar bäst.
Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
Trådskapare
0
Svar till Erik [Gå till post]:
Hur då, jag får inte till det.. :(

Du tycker säkert att jag är kass och jättejobbig... men jag lär mig eller hur?

/party


Forum » Datorer & IT » Webbutveckling & Programmering » PHP Registrera - vad är fel?

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons