'unexpected end of file' melding

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Mike Visser

Mike Visser

17/08/2017 02:39:23
Quote Anchor link
Hallo iedereen,

Ik ben bezig met een scriptje maar ik ben vast gelopen en krijg een wit scherm ik zie de fout even niet misschien dat jullie mij kunnen helpen

Error in log : PHP Parse error: syntax error, unexpected end of file in geven.php on line 136\n'


Scriptje heb ik even op www.koffiebar-osdorp.nl/php.txt gezet als ik hem hier zet knipt hij hem in delen..

hoop dat er iemand is die mij kunt helpen en verbeteren..
- Ariën -:
Titel aangepast naar iets wat duidelijker is./modedit]
Gewijzigd op 17/08/2017 13:59:01 door - Ariën -
 
PHP hulp

PHP hulp

30/11/2024 03:56:00
 
- SanThe -

- SanThe -

17/08/2017 03:50:56
Quote Anchor link
Not Found

The requested URL /php.txt was not found on this server.
Apache/2.4.7 (Ubuntu) Server at www.koffiebar-osdorp.nl Port 80
 
Mike Visser

Mike Visser

17/08/2017 04:09:03
Quote Anchor link
Heb hem via een Pm naar je gestuurd hoop dat je hem kunt zien alvast bedankt
 
Jan R

Jan R

17/08/2017 06:54:44
Quote Anchor link
Mike Visser op 17/08/2017 04:09:03:
Heb hem via een Pm naar je gestuurd hoop dat je hem kunt zien alvast bedankt


Daar zijn de ander forumleden mee geholpen
 
Peter K

Peter K

17/08/2017 07:22:33
Quote Anchor link
Hier de code..
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?
{
    header('Location:./');exit;
}

define('ON_PAGE', __FILE__);
if ( !USER_SESSION )
{

    redirect('./');
}

$land = Array(1 => 'belgie','duitsland','engeland','frankrijk','griekenland','italie','nederland','oostenrijk','zwitserland','usa','japan','colombia','rusland','turkije','marokko');
$tableName = Array(1 => 'black','casino','getallen','keno','kogelfabriek','landowner','redlightdistrict','reizen','slot');

$msg = '';
$speler = '';
$access = false;
if ( $data['level'] == 255 )
{

    $access = true;
    if ( isset($_POST['speler']) )
    {

        $newland = ( isset($_POST['newland']) ) ? $_POST['newland'] : 0 ;
        if ( $newland > 0 && $newland < 16 )
        {

            $optie = ( isset($_POST['optie']) ) ? $_POST['optie'] : 0 ;
                    if ( $optie > 0 && $optie < 11 )
                    {

                        $speler = trim($_POST['speler']);
                        if ( preg_match('/^[a-zA-Z0-9_-]{3,16}$/',$speler) )
                        {

                            if ( isset($_POST['submit1']) )
                            {

                                $result = mysql_query('SELECT id FROM users WHERE login=\''.$speler.'\'');
                                if ( $info = mysql_fetch_assoc($result) )
                                {

                                    mysql_query('UPDATE '.$tableName.' SET user_id=' . $info['id'] . ',  WHERE land_id=' . $newland);
                                    sms(1,$info['id'],'Eigenaaroptie','Je hebt de eigenaaroptie gekregen waar je voor hebt gebelt');
                                    $msg = 'U heeft ' . $speler . ' een '.$tableName.' eigenaaroptie gegeven.';
                                }

                                else
                                {
                                    $msg = 'Deze Speler bestaat niet.';
                                }
                            }

                            else
                            {
                                $msg = 'Je moet wel een optie kiezen.';
                            }
        }

        else
        {
            $msg = 'Je moet wel een land kiezen.';
        }
    }

?>

<div id="content">
   <div class="post">
       <div class="post-title">
          <h2>Scriptje</h2>
       </div>
<?
if ( $access )
{

?>

<form method="post">
<table width="100%">
 <tr><th>geven</th></tr>
<?
    if ( $msg != '' )
    {

?>

 <tr><td><?=$msg?></td></tr>
<?
    }
?>

 <tr>
  <td align="center">
    Speler:
    <input type="text" name="speler" value="<?=$speler?>"><br /><br />
    <label for="type1">Welk land</label>
    <select name="newland">
    <option value="1">Belgie</option>
    <option value="2">Duitsland</option>
    <option value="3">Engeland</option>
    <option value="4">Frankrijk</option>
    <option value="5">Griekenland</option>
    <option value="6">Italie</option>
    <option value="7">Nederland</option>
    <option value="8">Oostenrijk</option>
    <option value="9">Zwitserland</option>
    <option value="10">Usa</option>
    <option value="11">Japan</option>
    <option value="12">Colombia</option>
    <option value="13">Rusland</option>
    <option value="14">Turkije</option>
    <option value="15">Marokko</option>
    </select><br />
    <label for="type2">Welke Eigenaaroptie</label>
    <select name="optie">
    <option value="1">Blackjack</option>
    <option value="2">Roulette</option>
    <option value="3">Getallenspel</option>
    <option value="4">Keno</option>
    <option value="5">Kogelfabriek</option>
    <option value="6">Landowner</option>
    <option value="7">Redlightdistrict</option>
    <option value="8">Vliegveld</option>
    <option value="9">Gokkast</option>
    <option value="10">Ziekenhuis</option>
    </select><br />
  </td>
 </tr>
</table>
</form>
<?
}
else
{
?>

<table width="100%">
 <tr><th>Admin</th></tr>
 <tr><td>Dit is alleen toegankelijk voor ADMINS.</td></tr>
</table>
<?
}
mysql_close($MySQL);
?>

</div>
</div>


Alleen is dit niet de volledige code waarschijnlijk? Regel 136 is hier namelijk niet in aanwezig.
 
Ben van Velzen

Ben van Velzen

17/08/2017 10:33:48
Quote Anchor link
Als dit volledig zou zijn zou het een redirect loop opleveren. Om nog maar te zwijgen van het feit dat Location headers *absolute* URL's vragen.
 
- SanThe -

- SanThe -

17/08/2017 11:11:56
Quote Anchor link
Kijk of je alle if()'s na het openen met { ook weer afsluit met een }.
Hierboven missen er nog een paar.
 
Mike Visser

Mike Visser

17/08/2017 15:00:02
Quote Anchor link
ik heb alles nagekeken en heb de fout gevonden , location klopte idd ook niet misschien met knippen plakken fout gegaan , maar nu krijg ik de volgende fout en die zie ik totaal niet hij geeft aan je moet wel een optie kiezen , hieronder het code stukje

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
<?
if ( !defined('ON_INDEX') )
{

    header('Location:./');exit;
}

define('ON_PAGE', __FILE__);
if ( !USER_SESSION )
{

    redirect('./');
}

$land = Array(1 => 'belgie','duitsland','engeland','frankrijk','griekenland','italie','nederland','oostenrijk','zwitserland','usa','japan','colombia','rusland','turkije','marokko');
$tableName = Array(1 => 'black','casino','getallen','keno','kogelfabriek','landowner','redlightdistrict','reizen','slot');

$msg = '';
$speler = '';
    if ( isset($_POST['speler']) )
    {

        $newland = ( isset($_POST['newland']) ) ? $_POST['newland'] : 0 ;
        if ( $newland > 0 && $newland < 16 )
        {

            $optie = ( isset($_POST['optie']) ) ? $_POST['optie'] : 0 ;
                    if ( $optie > 0 && $optie < 11 )
                    {

                        $speler = trim($_POST['speler']);
                        if ( preg_match('/^[a-zA-Z0-9_-]{3,16}$/',$speler) )
                        {

                            $type = ( isset($_POST['type']) ) ? intval($_POST['type']) : 0 ;
                            if ( isset($_POST['submit']) )
                            {

                                $result = mysql_query('SELECT id FROM users WHERE login=\''.$speler.'\'');
                                if ( $info = mysql_fetch_assoc($result) )
                                {

                                    mysql_query('UPDATE '.$tableName.' SET user_id=' . $info['id'] . ',  WHERE land_id=' . $newland);
                                    sms(1,$info['id'],'Eigenaaroptie','Je hebt de eigenaaroptie gekregen waar je voor hebt gebelt');
                                    $msg = 'U heeft ' . $speler . ' een '.$tableName.' eigenaaroptie gegeven.';
                                }

                                else
                                {
                                    $msg = 'Deze Speler bestaat niet.';
                                }
                            }

                            else
                            {
                                $msg = 'Je moet wel een optie kiezen.';
                            }
                        }

                        else
                        {
                            $msg = 'Je moet wel een land kiezen.';
                        }
                    }

                    else
                    {
                        $msg = 'Deze Speler bestaat niet.';
                        $speler = '';
                    }
        }
    }


?>

- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 17/08/2017 15:01:48 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

17/08/2017 15:06:52
Quote Anchor link
Ik zie in je formulier ook geen submit-knop met de naam: submit.

Ook wil ik je attenderen op het feit dat de mysql-functies in PHP 7 ter ziele zijn. Dus als je hosting op deze versie op zal stappen zal je script meteen niet meer werken. Ik raad je aan om MySQLi te gebruiken of PDO.
 
Mike Visser

Mike Visser

17/08/2017 15:17:31
Quote Anchor link
submit zit onderin het script niet in de code zoals hierboven anders kon ik natuurlijk geen error krijgen als (je moet wel een optie kiezen ) , het gaat om de error die ik niet weg krijg , hosting zal niet updaten ik heb een dedicated server , maar wel goeie tip , dit kan later altijd nog hopenlijk ziet iemand de fout.
 
- Ariën  -
Beheerder

- Ariën -

17/08/2017 15:22:24
Quote Anchor link
$_POST['submit'] bestaat niet, dus ergens is die 'verborgen' submit-knop niet goed.
 
Mike Visser

Mike Visser

17/08/2017 15:28:42
Quote Anchor link
Regel 28 lijkt me ? if ( isset($_POST['submit']) ) zit er gewoon in
 
- SanThe -

- SanThe -

17/08/2017 15:31:23
Quote Anchor link
Ja, maar je hebt geen formulierveld met name="submit".
 
- Ariën  -
Beheerder

- Ariën -

17/08/2017 15:32:06
Quote Anchor link
Ja, daar is je controle, maar nu is de vraag waar $_POST['submit'] aangemaakt wordt.
Aannemelijk lijkt mij dit de waarde van een submit. Je zegt zelf dat je een melding krijgt met: 'Je moet wel een optie kiezen.'

Die melding krijg je niet zomaar, je formulier moet immers wel verstuurd zijn.

Toevoeging op 17/08/2017 15:34:21:

- SanThe - op 17/08/2017 15:31:23:
Ja, maar je hebt geen formulierveld met name="submit".

Klopt, maar de TS zij net dit:
Quote:
submit zit onderin het script niet in de code zoals hierboven anders kon ik natuurlijk geen error krijgen als (je moet wel een optie kiezen )

Dus dan ben ik benieuwd hoe hij de boel verstuurd heeft. :P
Ikzelf prefereer altijd dit als controle:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if($_SERVER['REQUEST_METHOD'] == "POST") {

Dan kijk je immers niet naar de submitknop. Maar het is wel de eerste stap die je doet in de verwerking van je formulier.
Gewijzigd op 17/08/2017 15:34:51 door - Ariën -
 
Mike Visser

Mike Visser

17/08/2017 15:38:24
Quote Anchor link
onderin het script staat <input type="submit" value="Geven">
 
- SanThe -

- SanThe -

17/08/2017 15:39:51
Quote Anchor link
Dat heeft geen name="..." en het staat niet tussen <form> en </form>.
 
- Ariën  -
Beheerder

- Ariën -

17/08/2017 15:40:13
Quote Anchor link
Maar die heeft geen name-attribuut ;-)
 
Mike Visser

Mike Visser

17/08/2017 15:53:18
Quote Anchor link
Haha zo slecht ook goeiemorgen sorry haha

Toevoeging op 17/08/2017 15:57:16:

ziet iemand toevallig deze fout ?

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE land_id=15' at line 1
 
- Ariën  -
Beheerder

- Ariën -

17/08/2017 16:03:04
Quote Anchor link
Die komma hoort niet in je query voor je WHERE. Ik zie geen opsomming.
verder raad ik wel aan om $newland te escapen met mysql(i)_real_escape_string(). Nu ben je behoorlijk vatbaar voor SQL-injection.
 
Mike Visser

Mike Visser

17/08/2017 16:04:55
Quote Anchor link
jup dat was de fout, ja ik maak het altijd eerst werkend en dan bouw ik pas de dingen in thanks voor de tip :)
 
Peter K

Peter K

18/08/2017 07:34:36
Quote Anchor link
Er zit ook nog een grammaticafout in je sms:
sms(1,$info['id'],'Eigenaaroptie','Je hebt de eigenaaroptie gekregen waar je voor hebt gebeld');

Misschien kun je heel de zin iets duidelijker formuleren voor de speler/gebruiker?
 

Pagina: 1 2 volgende »



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.