Gebruikers kunnen groep maken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niek  Ehnr

Niek Ehnr

28/06/2011 14:41:32
Quote Anchor link
Ik wil dat mensen een groep kunnen maken via mijn .php script en mensen kunnen inviten en dat mensen daar kunnen applyen.

nou heb ik zoiets gemaakt:
amar ik ben echt een beginner en krijg insta errors :D


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>";
}

?>
Gewijzigd op 28/06/2011 14:56:50 door Niek Ehnr
 
PHP hulp

PHP hulp

20/01/2020 02:09:34
 
Php knipper

php knipper

28/06/2011 14:45:27
Quote Anchor link
wat is de error?
 
Niek  Ehnr

Niek Ehnr

28/06/2011 14:48:28
Quote Anchor link
Volgens mij is dat niet van belang omdat heel het script fout is volgens mij :D maar hier 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
 
Php knipper

php knipper

28/06/2011 14:52:52
Quote Anchor link
ik zie enkel "{" en nergens "}"

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 )-
 
Niek  Ehnr

Niek Ehnr

28/06/2011 14:56:14
Quote Anchor link
klopt daarmee print ik de error, of niet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
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>";
}
 
Joakim Broden

Joakim Broden

28/06/2011 15:14:11
Quote Anchor link
Je opent op regel 4 en 7 een { maar sluit hem maar 1 keer af op regel 34. Zet op regel 35 eens een }.
 
Niek  Ehnr

Niek Ehnr

28/06/2011 15:22:49
Quote Anchor link
dat heb ik gedaan nou krijg ik gewoon een witte pagina :D (at least iets anders)
 
Bram Boos

Bram Boos

28/06/2011 16:05:30
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>


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
 
Chris -

Chris -

28/06/2011 16:06:44
Quote Anchor link
Hallo SQL Injectie..
 
- Ariën -
Beheerder

- Ariën -

28/06/2011 16:09:46
Quote Anchor link
Even wat tips:

- Een POST-controle voor je formulier doe je met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if($_SERVER['REQUEST_METHOD']=="POST") {

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
error_reporting(E_ALL);
ini_set('display_errors',1);


Dus: Zet het mes maar in de code.........
 
Niek  Ehnr

Niek Ehnr

28/06/2011 16:43:48
Quote Anchor link
Bedankt allemaal zou dit dalijk even goed doornemen kwa SQL injectie zou ik maar is goed kijken want da moet ik niet hebben :P
 
- Ariën -
Beheerder

- Ariën -

28/06/2011 17:02:19
Quote Anchor link
En de rest is ook zeer handig om door te nemen ;-)
 
Niek  Ehnr

Niek Ehnr

28/06/2011 17:22:30
Quote Anchor link
- 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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
// jou code
[/code]
[
b]
Neem deze code niet zomaar over maar ga eens kijken wat ik anders heb gedaan...[/b]
[
/quote]
Gewijzigd op 29/06/2011 00:52:50 door Niek Ehnr
 
Bram Boos

Bram Boos

29/06/2011 13:57:37
Quote Anchor link
Ik heb het even aangepast, het haakje op regel 8 werdt niet afgesloten
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.