Gebruikers kunnen groep maken
nou heb ik zoiets gemaakt:
amar ik ben echt een beginner en krijg insta errors :D
Code (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
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
<?php
include("config.php");
if (isset($_POST['Submit'])){
$_POST['groupname'] = substr($_POST['groupname'],0,16);
if(preg_match('/^[A-Za-z0-9_\-]+$/',$_POST['groupname'])) {
$name= $_POST['groupname'];
$leader = "huskyhond";
mysql_query("INSERT INTO `[groups]`(name,leader) values('$name','$leader')");
mysql_query("UPDATE `[users]` SET `clan`='{$name}',`leader`='1' WHERE `login`='{$leader}'");
print <<<ENDHTML
<form name="form1" method="post">
<table width="50%" border="0" align="center">
<tr>
<td>Group Name:</td>
<td><input name="groupname" type="text" id="groupname" maxlength="20"></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Create Clan">
</div></td>
</tr>
</form>
</table>
ENDHTML;
print "De Crew is aangemaakt!\n<script language=\"javascript\">\nsetTimeout(\"parent.window.location.reload()\",1000)\n</script>\n";
}
else {
print "<font color=red>Error!</font>";
}
?>
include("config.php");
if (isset($_POST['Submit'])){
$_POST['groupname'] = substr($_POST['groupname'],0,16);
if(preg_match('/^[A-Za-z0-9_\-]+$/',$_POST['groupname'])) {
$name= $_POST['groupname'];
$leader = "huskyhond";
mysql_query("INSERT INTO `[groups]`(name,leader) values('$name','$leader')");
mysql_query("UPDATE `[users]` SET `clan`='{$name}',`leader`='1' WHERE `login`='{$leader}'");
print <<<ENDHTML
<form name="form1" method="post">
<table width="50%" border="0" align="center">
<tr>
<td>Group Name:</td>
<td><input name="groupname" type="text" id="groupname" maxlength="20"></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Create Clan">
</div></td>
</tr>
</form>
</table>
ENDHTML;
print "De Crew is aangemaakt!\n<script language=\"javascript\">\nsetTimeout(\"parent.window.location.reload()\",1000)\n</script>\n";
}
else {
print "<font color=red>Error!</font>";
}
?>
Gewijzigd op 28/06/2011 14:56:50 door Niek Ehnr
wat is de error?
Parse error: syntax error, unexpected $end in /home/qupnehsv/domains/leagueteam.net/public_html/groups.php on line 35
Gewijzigd op 28/06/2011 14:58:27 door Niek Ehnr
Toevoeging op 28/06/2011 14:53:49:
je opent iets en sluit het niet af ( of is dit niet de volledige code)
-( ben ook maar een beginner )-
Je opent op regel 4 en 7 een { maar sluit hem maar 1 keer af op regel 34. Zet op regel 35 eens een }.
dat heb ik gedaan nou krijg ik gewoon een witte pagina :D (at least iets anders)
Code (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
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
<?php
include("config.php");
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$_POST['groupname'] = substr($_POST['groupname'],0,16);
if(preg_match('/^[A-Za-z0-9_\-]+$/',$_POST['groupname']))
{
$name= htmlentities($_POST['groupname']);
$leader = "huskyhond";
$sql = "
INSERT INTO groups
(
name,
leader
)
VALUES
(
'".mysql_real_escape_string($name)."',
'".$leader."'
)
";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error());
}
else
{
$sql = "
UPDATE
users
SET
clan = '".mysql_real_escape_string($name)."',
leader = 1
WHERE
login = '".$leader."'
";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error());
}
elseif(mysql_affected_rows() > 0)
{
$melding = "De Crew is aangemaakt!";
}
}
}
}
if(isset($melding)){echo $melding;}
?>
<form name="form1" method="post">
<table width="50%" border="0" align="center">
<tr>
<td>Group Name:</td>
<td><input name="groupname" type="text" id="groupname" maxlength="20"></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Create Clan">
</div></td>
</tr>
</table>
</form>
include("config.php");
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$_POST['groupname'] = substr($_POST['groupname'],0,16);
if(preg_match('/^[A-Za-z0-9_\-]+$/',$_POST['groupname']))
{
$name= htmlentities($_POST['groupname']);
$leader = "huskyhond";
$sql = "
INSERT INTO groups
(
name,
leader
)
VALUES
(
'".mysql_real_escape_string($name)."',
'".$leader."'
)
";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error());
}
else
{
$sql = "
UPDATE
users
SET
clan = '".mysql_real_escape_string($name)."',
leader = 1
WHERE
login = '".$leader."'
";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error());
}
elseif(mysql_affected_rows() > 0)
{
$melding = "De Crew is aangemaakt!";
}
}
}
}
if(isset($melding)){echo $melding;}
?>
<form name="form1" method="post">
<table width="50%" border="0" align="center">
<tr>
<td>Group Name:</td>
<td><input name="groupname" type="text" id="groupname" maxlength="20"></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Create Clan">
</div></td>
</tr>
</table>
</form>
Neem deze code niet zomaar over maar ga eens kijken wat ik anders heb gedaan...
Gewijzigd op 29/06/2011 13:57:04 door Bram Boos
- Een POST-controle voor je formulier doe je met:
En niet met een isset (zie lijn 4)
- Variabelen overnemen is onnodig (lijn 9), je kan prima $_POST['groupname'] overal gebruiken
- Waar is je foutafhandeling op je query? Zie ook dit artikel.
- Backtics (````) horen niet in queries thuis, ook brackets zoals [ en ] zijn overbodig en hebben geen meerwaarde (waarom gebruik je ze?)
- Vermijd gewoon construties als: <<<ENDHTML. Je kan prima je HTML in de print of echo gooien. Eventuele variabelen horen daar dan uiteraard buiten quotes. Dit mis ik op lijn 12.
- {$bla}-contructies zijn onnodig, gebruik gewoon zoals ik al zei: variabelen buiten quotes. Veel netter.
- Je bent hackbaar met SQL-injection. Iedereen kan je querie zomaar even aanpassen met eventuele gevolgen van dien.
- Ik mis de fouten-afhandeling met deze code bovenaan je PHP-script:
Dus: Zet het mes maar in de code.........
Bedankt allemaal zou dit dalijk even goed doornemen kwa SQL injectie zou ik maar is goed kijken want da moet ik niet hebben :P
En de rest is ook zeer handig om door te nemen ;-)
- Aar - op 28/06/2011 17:02:19:
En de rest is ook zeer handig om door te nemen ;-)
:D ja
Toevoeging op 29/06/2011 00:50:24:
ik heb mijn script hier op aangepast daar kreeg ik ook die $end error uit toen heb ik jou volledige script even geknipt en geplakt daarbij bleek het zelfde uit te komen. En ik heb nog geprobeerd met een internal MySQL connectie te werken
Bram Boos op 28/06/2011 16:05:30:
Gewijzigd op 29/06/2011 00:52:50 door Niek Ehnr
Ik heb het even aangepast, het haakje op regel 8 werdt niet afgesloten