Hulp bij script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wouter

Wouter

31/12/2005 02:07:00
Quote Anchor link
Hallo mensen,
Ik had hier een warscript gevonden wat ik is ben gaan bestuderen het enige wat me opvalt is de bewerkpagina.

De bewerkpagina geeft een error en ik ben zelf nog niet ervaren met php dus hoopte ik dat een van jullie eruit zou kunnen komen :)

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
<?php  
error_reporting(0);
include("includes/config.php");  

if (IsSet($_POST['wijzig'])) {  
   $insert = "UPDATE war SET opponent='".$_POST['opponent']."'
                             date='"
.$_POST['date']."'   //regel 10
                             map1='"
.$_POST['map1']."'
                             map2='"
.$_POST['map2']."'
                             ourscore='"
.$_POST['ourscore']."'
                             opponentscore='"
.$_POST['opponentscore']."'
                             lineup='"
.$_POST['lineup']."'
                             opponentlineup='"
.$_POST['opponentlineup']."'
                             report='"
.$_POST['report']."'
                             WHERE id='"
.$_POST['id']."'";  
   $query = mysql_query($insert) or die(mysql_error());
   }
  
elseif($_GET['verwijder']){  
mysql_query("DELETE FROM war WHERE id='".$_GET['verwijder']."'");  
header("location: wars.php");  
}
  

if($_GET['bewerk']){  
    {
  
   $list->opponent = $_POST['opponent'];  
   $list->date = $_POST['date'];  
   $list->map1 = $_POST['map1'];  
   $list->map2 = $_POST['map2'];  
   $list->ourscore = $_POST['ourscore'];  
   $list->opponentscore = $_POST['opponentscore'];  
   $list->lineup = $_POST['xpilineup'];  
   $list->opponentlineup = $_POST['opponentlineup'];  
   $list->extrainfo = $_POST['extrainfo'];  
   }
  
else{  
   $select = "SELECT * FROM war WHERE id='".$_GET['bewerk']."'";  
   $query = mysql_query($select) or die(mysql_error());  
   $list = mysql_fetch_object($query) or die(mysql_error());  
   }
  
echo "<h2>Wars Bewerken</h2>
<form method='post' action=''>
  <table border='1'>
    <tr>
      <td>tegenstander:</td>
      <td><input type='text' name='opponent' value='"
.$list->opponent."'></td>
    </tr>
    <tr>
      <td>datum:</td>
      <td><input type='text' name='date' value='"
.$list->date."'></td>
    </tr>
    <tr>
      <td>map1:</td>
      <td><input type='text' name='map1' value='"
.$list->map1."'></td>
    </tr>
    <tr>
      <td>map2:</td>
      <td><input type='text' name='map2' value='"
.$list->map2."'></td>
    </tr>
    <tr>
      <td>eigen score:</td>
      <td><input type='text' name='ourscore' value='"
.$list->ourscore."'></td>
    </tr>
    <tr>
      <td>score tegenstander:</td>
      <td><input type='text' name='opponentscore' value='"
.$list->opponentscore."'></td>
    </tr>
    <tr>
      <td>lineup:</td>
      <td><input type='text' name='lineup' value='"
.$list->lineup."'></td>
    </tr>
    <tr>
      <td>lineup tegenstander:</td>
      <td><input type='text' name='opponentlineup' value='"
.$list->opponentlineup."'></td>
    </tr>
    <tr>
      <td>extra info:</td>
      <td><input type='text' name='report' value='"
.$list->report."'></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type='submit' name='wijzig' value='Wijzigen'></td>
    </tr>
  </table>
</form>"
;  
}
  
else{  
header("location: wars.php");  
}
  

?>


Error:
Parse error: parse error, unexpected T_ELSE in /home/wvtilburg/domains/fsight.net/public_html/wars/bewerk.php on line 39
Gewijzigd op 31/12/2005 02:08:00 door Wouter
 
PHP hulp

PHP hulp

06/11/2024 00:44:46
 
Winston Smith

Winston Smith

31/12/2005 02:40:00
Quote Anchor link
De error zegt het eigenlijk al, ergens is iets niet goed afgesloten waardoor PHP onverwachts tegen een else statement liep.
Meestal ben je dan een afsluitende } vergeten ergens (of 1 teveel/te weinig).

Zo te zien staat er bij jou 1 teveel (ik zie in de gauwigheid niet waar die 2e { voor nodig is?) in
if($_GET['bewerk']){
{
$list->opponent = $_POST['opponent'];
$list->date = $_POST['date'];

Edit: Met dat er 1 bij jou teveel staat bedoel ik dan niet de afsluitende accolade, maar een openende (de dikgedrukte hierboven).
Gewijzigd op 31/12/2005 02:41:00 door Winston Smith
 
Wouter

Wouter

31/12/2005 03:00:00
Quote Anchor link
Mwah, het wil nie echt had die 2de weggehaald maar dan geeft die weer een andere error!

Is er nergens een tutorial hoe je een bewerk.php page kan maken? Dan snap ik het ook wat meer :)
Gewijzigd op 31/12/2005 03:01:00 door Wouter
 
Winston Smith

Winston Smith

31/12/2005 04:30:00
Quote Anchor link
Nee, waarschijnlijk niet. Er zijn echter wel algemene tutorials die je leren hoe PHP werkt, of koop een boekje over PHP als je het overzichtelijk wilt houden.

De code die jij postte zou je binnen relatief korte tijd (1 dag) moeten kunnen wijzigen.

Probeer voor de grap nog eens je originele code (dus met die 2 {), en voeg voor je else nog een afsluitende accolade toe. Dan krijg je:
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
<?php
if($_GET['bewerk']){  
    {
  
   $list->opponent = $_POST['opponent'];  
   $list->date = $_POST['date'];  
   $list->map1 = $_POST['map1'];  
   $list->map2 = $_POST['map2'];  
   $list->ourscore = $_POST['ourscore'];  
   $list->opponentscore = $_POST['opponentscore'];  
   $list->lineup = $_POST['xpilineup'];  
   $list->opponentlineup = $_POST['opponentlineup'];  
   $list->extrainfo = $_POST['extrainfo'];  
   }  
}
else { # in deze regel is dus een } toegevoegd
   $select = #enzovoorts
?>


Ow ja, post je 2e error anders ook even, daar kunnen we meer mee dan simpelweg melden dat je een andere error krijgt ;)
Gewijzigd op 31/12/2005 04:31:00 door Winston Smith
 
Jan Koehoorn

Jan Koehoorn

31/12/2005 09:14:00
Quote Anchor link
Paar dingetjes die je kunt proberen:

Je accolades zijn in balans, 6 keer { en 6 keer }, dus als je daarmee aan de gang met je er niet eentje weghalen, maar eerder gaan schuiven.

Je header functies het volledige pad meegeven (incl http) en afsluiten met exit()

De enkele en dubbele quotes in het onderste gedeelte van je code omdraaien. De syntax die je gebruikt mag op zich wel, maar HTML wordt niet vrolijk van enkele quotes om de attributen. Zonder quotes werkt, dubbele quotes ook.
<input type='text' name='report'
zou dus
<input type="text" name="report"
moeten worden.
 



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.