[PHP/mySQL] automatische entry in db :(

Pagina: 1
Acties:
  • 27 views sinds 30-01-2008

  • eXtReMeBiE
  • Registratie: Februari 2002
  • Laatst online: 26-08 10:42
Ok om te beginnen, ik ben een newbie @ php :) dit is mn eerste eigen scriptje, heel simpel, en nog gaat ie fout |:(
de bedoeling van het script is dat ie bovenaan de page laat zien wie er (willen) joinen (het is voor een counter-strike clan :9), en onderaan een form om je in te schrijven... Tuurlijk, t is een beetje onnodig scriptje maar ik had wel eens zin om mn eigen scriptje te schrijven :) Scripts van anderen aanpassen is zo saai :(
K heb dus ook ff snel mySQL een beetje moeten leren, oftewel alles is zelfgemaakt :) Vandaar dat ie t niet doet zoals ik wil dus :)

Ok: hier is de sourcecode:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<html><head><title>Join zeroFrags</title>
</head><body>
<?php
/*
De database die moet worden gecreërd:
CREATE TABLE trialees 
(
name varchar(20),
nick varchar(20),
age int(2),
country varchar(20),
conn varchar(20),
exp varchar(20)
)
*/
$dbhost = ""; //adress van de host 
$dbuser = ""; // username van de server 
$dbpassword = ""; // het password 
$dbname = ""; // naam van de database 

@mysql_connect($dbhost, $dbuser, $dbpassword, $dbname) or die("Could not connect to database");
// connecten met database, niet veranderen

echo "<LINK href=\"style.css\" type=text/css rel=stylesheet>";
echo "<p align=center class=text1><br><br>";
echo "To join zeroFrags, scroll down...<br><br>
<TABLE cellSpacing=0 cellPadding=0 width=500 border=0><TBODY><TR border=0>
<TD width=71><IMG src=\"images/table_left.gif\" width=71 height=14 border=0></TD>
<TD class=\"title\" width=325 background=\"images/table_middle.gif\"> Waitinglist</TD>
<TD width=104><IMG src=\"images/table_right.gif\" width=104 border=0></TD></TR>

<TR border=0><TD width=\"500\" bgColor=#ffffff colSpan=3>
<TABLE border=0 width=\"500\" cellSpacing=1 cellPadding=3 class=text1>
<TBODY>
<tr><TD bgColor=#000000 colSpan=2>Name</td><TD bgColor=#000000 colSpan=2>Nick</td>
<TD bgColor=#000000 colSpan=2>Age</td><TD bgColor=#000000 colSpan=2>Country</td>
<TD bgColor=#000000 colSpan=2>Connection</td>
<TD bgColor=#000000 colSpan=2>Experience:</td></tr>";

$select="SELECT * FROM trialees ORDER BY age"; 
$query = mysql_query($select); 

while ($list = mysql_fetch_object($query)) {
echo "
<tr><TD bgColor=#000000 colSpan=2>$list->name</td><TD bgColor=#000000 colSpan=2>$list->nick</td>
<TD bgColor=#000000 colSpan=2>$list->age</td><TD bgColor=#000000 colSpan=2>$list->country</td>
<TD bgColor=#000000 colSpan=2>$list->conn</td><TD bgColor=#000000 colSpan=2>$list->exp</td></tr>
";
}
echo "</tbody></table></TD></TR></TBODY></TABLE><br><br></td></tr></table>";

$insert = "INSERT INTO $dbname (name,nick,age,country,conn,exp) VALUES ('$name','$nick','$age','$country','$conn','$exp')"; 
$query = mysql_query($insert)or die(mysql_error()); 
echo "<table class=text1 cellspacing=0 border=0>"; 
echo "
<TABLE cellSpacing=0 cellPadding=0 width=500 border=0><TBODY><TR border=0>
<TD width=71><IMG src=\"images/table_left.gif\" width=71 height=14 border=0></TD>
<TD class=\"title\" width=325 background=\"images/table_middle.gif\"> Join zeroFrags</TD>
<TD width=104><IMG src=\"images/table_right.gif\" width=104 border=0></TD></TR>
<TR><TD bgColor=#000000 colSpan=3 width=300><TABLE bgcolor=#000000 border=0 width=500 cellSpacing=0 cellPadding=1><TBODY>
<TR><TD width=500 height=179 bgcolor=#ffffff>
<TABLE WIDTH=500 height=179 BORDER=0 cellPadding=0 cellSpacing=0 bgcolor=#000000 class=text1>
<FORM METHOD=\"POST\">
<tr><td>Real Name: </td><td><input name=\"name\" maxlength=\"20\"></td></tr>
<tr><td>Nickname: </td><td><input name=\"nick\" maxlength=\"20\"></td></tr>
<tr><td>Age: </td><td><input name=\"age\" maxlength=\"2\"></td></tr>
<tr><td>Country: </td><td><input name=\"country\" maxlength=\"20\"></td></tr>
<tr><td>Connection: </td><td><input name=\"conn\" maxlength=\"20\"></td></tr>
<tr><td>CS-experience:</td><td><input name=\"exp\" maxlength=\"20\" value=\"** Months & * Years\"></td></tr>
<tr><td colspan=2 align=center><input type=submit value=\" Submit Your Request \" name=submit style='BORDER-RIGHT: #ffffff 1px solid; BORDER-TOP: #ffffff 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #ffffff 1px solid; COLOR: #ffffff; BORDER-BOTTOM: #ffffff 1px solid; FONT-FAMILY: verdana; BACKGROUND-COLOR: #000000;'></td></tr>
";
echo "</form></table></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></p>"; 
?>
</body></html>



Het probleem is als volgt: als je naar de pagina (join.php) gaat, schrijft ie automatisch een (lege) entry in de database... Oftewel hij verstuurt het formulier zonder dat er iets instaat... In PHPmyadmin geeft ie dan als entry aan:

name nick age country conn exp
Wijzigen Verwijderen 0

Die 0 hoort bij age te staan :9
Anyway, het lukt me maar niet om de fout op te speuren dus ik doe het hier maar :| Iemand een antwoord? Alvast bedankt :*)
Oh enne, sorry dat de source zo'n rommeltje is, in DreamWeaver ziet ie er wat beter uit :x

[ Voor 0% gewijzigd door D2k op 21-08-2002 10:43 . Reden: D2k edit: pass gegevens verwijderd ]


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 30-08 17:59

Gerco

Professional Newbie

Zet de source in [php] tags, dat scheelt al een hoop.

Hij insert in ieder geval al gelijk in de database omdat je je insert code gewoon onder de 'laat zien' code hebt staan. Zonder scheiding of if(), dus die wordt gewoon altijd uitgevoerd.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

tip: gebruik [php] tags
en om je probleem op te lossen :)
zet voor je query stukje het volgende
PHP:
1
2
3
4
if($REQUEST_METHOD=="POST")
{
//query
}

verder zou ik je aan raden een php boek aan te schaffen om het beter onder de knie te krijgen

Doet iets met Cloud (MS/IBM)


  • eXtReMeBiE
  • Registratie: Februari 2002
  • Laatst online: 26-08 10:42
k heb nog wel ergens een php boek liggen, maar die is zo dik ;) hehehe
maar ok ik zal m wel een goed bekijken... eerst die [php] tags fixen :x

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

eXtReMeBiE schreef op 21 augustus 2002 @ 10:41:
k heb nog wel ergens een php boek liggen, maar die is zo dik ;) hehehe
maar ok ik zal m wel een goed bekijken... eerst die [php] tags fixen :x

de volgende keer ook niet meer je password enzo posten ;) (heb het al weggehaald)

Doet iets met Cloud (MS/IBM)


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 09:31

Crazy D

I think we should take a look.

Zo te zien voer je altijd een insert query uit, en dat kan niet helemaal de bedoeling zijn lijkt me ;) Ik neem aan dat je pas een insert wilt doen als ze het formulier hebben ingevuld, dus zet er een check om heen a la
PHP:
1
2
3
4
if( strtoupper($_SERVER["REQUEST_METHOD"]) == "POST" ) {
    // ingevoerde gegevens controleren
    // en als alles goed is, insert query hier
}


crap ben weer te laat :P

Exact expert nodig?


  • eXtReMeBiE
  • Registratie: Februari 2002
  • Laatst online: 26-08 10:42
o ja pw helemaal vergeten weg te halen :) oops :) thx
hee kijk nou :) hij werkt :)
woei nu snel naar school k heb nog 30 minuten om wakker te worden+klaar te maken :)
grmbl was het maar weer juli :(

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

goed de volgende keer toch ff beter in dat mooie php boek kijken :)
of de online tutorials/manuals

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.