Rapportera resultat i bowlingmatch för en klubb.

PHPportalen Forum Index » Databaser
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
poj



Medlem i: 5160 dagar
Från: Bor. Småland
Status: Offline



#741872
Inlägg Skrivet: 2017-09-27 19:49      Ämne: Rapportera resultat i bowlingmatch för en klubb. Citera

Hej.
Jag har en sida (Joomla) för bowlingklubben som där vi har 5 st tabeller för laguttagning och resultat mm.
Resultat rapporteringen har fungerat i över två år men i helgen blev det fel, resultatet lästes in två gånger och jag vet inte varför. Verkar som om skriptet körs 2 ggr.
Jag testade med en annan dator med samma resultat.
Jag provade på min wampserver för att se om det var något med den nya Joomla uppdateringen men där får jag ett annat fel, där läses bara dom 5 högsta resultaten in.

Här är rapporteringssidan:
KOD:
1:
 
2:
<?php require_once('../../Connections/teamet_i.php'); ?>
3:
<?php require_once('../../webassist/mysqli/rsobj.php'); ?>
4:
<?php
5:
$Recordset1 = new WA_MySQLi_RS("Recordset1",$teamet_i,1);
6:
$Recordset1->setQuery("SELECT team_match.id, match_id, m1.namn AS spelare_1, m2.namn AS spelare_2, m3.namn AS spelare_3, m4.namn AS spelare_4,  m5.namn AS spelare_5, m6.namn AS spelare_6, m7.namn AS spelare_7, m8.namn AS spelare_8, m9.namn AS reserv,  team_match.s1,team_match.s2,team_match.s3,team_match.s4,team_match.s5,team_match.s6,team_match.s7,team_match.s8,team_match.s9 FROM team_match  LEFT JOIN team_medlem AS m1 ON team_match.s1 = m1.medlem_id  LEFT JOIN team_medlem AS m2 ON team_match.s2 = m2.medlem_id   LEFT JOIN team_medlem AS m3 ON team_match.s3 = m3.medlem_id  LEFT JOIN team_medlem AS m4 ON team_match.s4 = m4.medlem_id  LEFT JOIN team_medlem AS m5 ON team_match.s5 = m5.medlem_id   LEFT JOIN team_medlem AS m6 ON team_match.s6 = m6.medlem_id   LEFT JOIN team_medlem AS m7 ON team_match.s7 = m7.medlem_id  LEFT JOIN team_medlem AS m8 ON team_match.s8 = m8.medlem_id   LEFT JOIN team_medlem AS m9 ON team_match.s9 = m9.medlem_id  WHERE team_match.match_id = ?");
7:
$Recordset1->bindParam("i", "".(isset($_GET['recordID'])?$_GET['recordID']:"")  ."", "-1"); //colname
8:
$Recordset1->execute();?>
9:
<?php
10:
$Recordset2 = new WA_MySQLi_RS("Recordset2",$teamet_i,1);
11:
$Recordset2->setQuery("SELECT * FROM team_samling    JOIN team_lag ON team_samling.lag_id = team_lag.lag_id WHERE team_samling.match_id =?");
12:
$Recordset2->bindParam("i", "".(isset($_GET['recordID'])?$_GET['recordID']:"")  ."", "-1"); //colname
13:
$Recordset2->execute();
14:
?>
15:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
16:
<html xmlns="http://www.w3.org/1999/xhtml">
17:
<head>
18:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
19:
<meta http-equiv="cache-control" content="no-cache" />
20:
<meta http-equiv="pragma"content="no-cache" />
21:
<meta http-equiv="expires" content="0" />
22:
<title></title>
23:
<link href="../../teamet.css" rel="stylesheet" type="text/css" />
24:
</head>
25:
 
26:
<body>
27:
  <div id="sidebar1">
28:
<p>Dagens datum: <?php echo(date("Y-m-d"));?> <br />
29:
klockan &auml;r <?php echo (date("G:i")); ?> </p>
30:
     <h3>Information</h3>
31:
     <p>Fyll i resultatet i formul&auml;ret, tryck sedan p&aring; 'Skicka' f&ouml;r att l&auml;gga till i databasen.<br />
32:
     </p>
33:
    <hr />
34:
</div><!-- end #sidebar1 -->
35:
  <div id="mainContent">
36:
      <h1> Mata in resultat.</h1>
37:
     <p>Mata in resultatet. <br />
38:
     </p>
39:
    <table width="545" border="0">
40:
       <tr>
41:
         <td align="right"><strong>Datum:</strong></td>
42:
         <td><?php echo($Recordset2->getColumnVal("datum")); ?></td>
43:
         <td align="right"><strong>Tid:</strong></td>
44:
         <td><?php echo($Recordset2->getColumnVal("tid")); ?></td>
45:
       </tr>
46:
       <tr>
47:
         <td align="right"><strong>Lag:</strong></td>
48:
         <td><?php echo($Recordset2->getColumnVal("lag")); ?></td>
49:
         <td align="right"><strong>Division:</strong></td>
50:
         <td><?php echo($Recordset2->getColumnVal("division")); ?></td>
51:
       </tr>
52:
       <tr>
53:
         <td align="right">&nbsp;</td>
54:
         <td><?php echo($Recordset2->getColumnVal("borta")); ?></td>
55:
         <td align="right">&nbsp;</td>
56:
         <td>&nbsp;</td>
57:
       </tr>
58:
       <tr>
59:
         <td align="right"><strong>Motståndare:</strong></td>
60:
         <td><?php echo($Recordset2->getColumnVal("motstandare")); ?></td>
61:
         <td align="right"><strong>Match_id:</strong></td>
62:
         <td><?php echo($Recordset2->getColumnVal("match_id")); ?></td>
63:
       </tr>
64:
     </table>
65:
    <p>Match_id: <?php echo($Recordset1->getColumnVal("match_id")); ?></p>
66:
     <form id="form1" name="form1" method="post" action="mata_in_resultat_ac_i.php">
67:
       <table width="545" border="0">
68:
         <tr>
69:
           <td>&nbsp;</td>
70:
           <td>&nbsp;</td>
71:
           <td align="center"><strong>Namn</strong></td>
72:
           <td align="center"><strong>Serie<br />
73:
1</strong></td>
74:
           <td align="center"><strong>Serie<br />
75:
2</strong></td>
76:
           <td align="center"><strong>Serie<br />
77:
3</strong></td>
78:
           <td align="center"><strong>Serie<br />
79:
4</strong></td>
80:
           <td align="center"><strong>Antal<br />
81:
serier</strong></td>
82:
           <td align="center"><strong>Ban<br />
83:
poäng</strong></td>
84:
         </tr>
85:
         <tr>
86:
           <td><input name="matchid1" type="hidden" id="matchid1" value="<?php echo($Recordset1->getColumnVal("match_id")); ?>" /></td>
87:
           <td><input name="spelid1" type="hidden" id="spelid1" value="<?php echo($Recordset1->getColumnVal("s1")); ?>" /></td>
88:
           <td><?php echo($Recordset1->getColumnVal("spelare_1")); ?></td>
89:
           <td><label for="serieA1"></label>
90:
           <input name="serieA1" type="text" id="serieA1" size="3" maxlength="3" /></td>
91:
           <td><label for="serieB1"></label>
92:
           <input name="serieB1" type="text" id="serieB1" size="3" maxlength="3" /></td>
93:
           <td><label for="serieC1"></label>
94:
           <input name="serieC1" type="text" id="serieC1" size="3" maxlength="3" /></td>
95:
           <td><label for="serieD1"></label>
96:
           <input name="serieD1" type="text" id="serieD1" size="3" maxlength="3" /></td>
97:
           <td><label for="serier1"></label>
98:
             <input name="serier1" type="text" id="serier1" size="2" maxlength="1" /></td>
99:
           <td><label for="banp1"></label>
100:
             <input name="banp1" type="text" id="banp1" size="2" maxlength="1" />
101:
             <input type="hidden" name="resultat1" id="resultat1" /></td>
102:
         </tr>
103:
         <tr>
104:
           <td><input name="matchid2" type="hidden" id="matchid2" value="<?php echo($Recordset1->getColumnVal("match_id")); ?>" /></td>
105:
           <td><input name="spelid2" type="hidden" id="spelid2" value="<?php echo($Recordset1->getColumnVal("s2")); ?>" /></td>
106:
           <td><?php echo($Recordset1->getColumnVal("spelare_2")); ?></td>
107:
           <td><label for="serieA2"></label>
108:
           <input name="serieA2" type="text" id="serieA2" size="3" maxlength="3" /></td>
109:
           <td><label for="serieB2"></label>
110:
           <input name="serieB2" type="text" id="serieB2" size="3" maxlength="3" /></td>
111:
           <td><label for="serieC2"></label>
112:
           <input name="serieC2" type="text" id="serieC2" size="3" maxlength="3" /></td>
113:
           <td><label for="serieD2"></label>
114:
           <input name="serieD2" type="text" id="serieD2" size="3" maxlength="3" /></td>
115:
           <td><input name="serier2" type="text" id="serier2" size="2" maxlength="1" /></td>
116:
           <td><input name="banp2" type="text" id="banp2" size="2" maxlength="1" />
117:
           <input type="hidden" name="resultat2" id="resultat2" /></td>
118:
         </tr>
119:
         <tr>
120:
           <td><input name="matchid3" type="hidden" id="matchid3" value="<?php echo($Recordset1->getColumnVal("match_id")); ?>" /></td>
121:
           <td><input name="spelid3" type="hidden" id="spelid3" value="<?php echo($Recordset1->getColumnVal("s3")); ?>" /></td>
122:
           <td><?php echo($Recordset1->getColumnVal("spelare_3")); ?></td>
123:
           <td><label for="serieA3"></label>
124:
           <input name="serieA3" type="text" id="serieA3" size="3" maxlength="3" /></td>
125:
           <td><label for="serieB3"></label>
126:
           <input name="serieB3" type="text" id="serieB3" size="3" maxlength="3" /></td>
127:
           <td><label for="serieC3"></label>
128:
           <input name="serieC3" type="text" id="serieC3" size="3" maxlength="3" /></td>
129:
           <td><label for="serieD3"></label>
130:
           <input name="serieD3" type="text" id="serieD3" size="3" maxlength="3" /></td>
131:
           <td><input name="serier3" type="text" id="serier3" size="2" maxlength="1" /></td>
132:
           <td><input name="banp3" type="text" id="banp3" size="2" maxlength="1" />
133:
           <input type="hidden" name="resultat3" id="resultat3" /></td>
134:
         </tr>
135:
         <tr>
136:
           <td><input name="matchid4" type="hidden" id="matchid4" value="<?php echo($Recordset1->getColumnVal("match_id")); ?>" /></td>
137:
           <td><input name="spelid4" type="hidden" id="spelid4" value="<?php echo($Recordset1->getColumnVal("s4")); ?>" /></td>
138:
           <td><?php echo($Recordset1->getColumnVal("spelare_4")); ?></td>
139:
           <td><label for="serieA4"></label>
140:
           <input name="serieA4" type="text" id="serieA4" size="3" maxlength="3" /></td>
141:
           <td><label for="serieB4"></label>
142:
           <input name="serieB4" type="text" id="serieB4" size="3" maxlength="3" /></td>
143:
           <td><label for="serieC4"></label>
144:
           <input name="serieC4" type="text" id="serieC4" size="3" maxlength="3" /></td>
145:
           <td><label for="serieD4"></label>
146:
           <input name="serieD4" type="text" id="serieD4" size="3" maxlength="3" /></td>
147:
           <td><input name="serier4" type="text" id="serier4" size="2" maxlength="1" /></td>
148:
           <td><input name="banp4" type="text" id="banp4" size="2" maxlength="1" />
149:
           <input type="hidden" name="resultat4" id="resultat4" /></td>
150:
         </tr>
151:
         <tr>
152:
           <td><input name="matchid5" type="hidden" id="matchid5" value="<?php echo($Recordset1->getColumnVal("match_id")); ?>" /></td>
153:
           <td><input name="spelid5" type="hidden" id="spelid5" value="<?php echo($Recordset1->getColumnVal("s5")); ?>" /></td>
154:
           <td><?php echo($Recordset1->getColumnVal("spelare_5")); ?></td>
155:
           <td><label for="serieA5"></label>
156:
           <input name="serieA5" type="text" id="serieA5" size="3" maxlength="3" /></td>
157:
           <td><label for="serieB5"></label>
158:
           <input name="serieB5" type="text" id="serieB5" size="3" maxlength="3" /></td>
159:
           <td><label for="serieC5"></label>
160:
           <input name="serieC5" type="text" id="serieC5" size="3" maxlength="3" /></td>
161:
           <td><label for="serieD5"></label>
162:
           <input name="serieD5" type="text" id="serieD5" size="3" maxlength="3" /></td>
163:
           <td><input name="serier5" type="text" id="serier5" size="2" maxlength="1" /></td>
164:
           <td><input name="banp5" type="text" id="banp5" size="2" maxlength="1" />
165:
           <input type="hidden" name="resultat5" id="resultat5" /></td>
166:
         </tr>
167:
         <tr>
168:
           <td><input name="matchid6" type="hidden" id="matchid6" value="<?php echo($Recordset1->getColumnVal("match_id")); ?>" /></td>
169:
           <td><input name="spelid6" type="hidden" id="spelid6" value="<?php echo($Recordset1->getColumnVal("s6")); ?>" /></td>
170:
           <td><?php echo($Recordset1->getColumnVal("spelare_6")); ?></td>
171:
           <td><label for="serieA6"></label>
172:
           <input name="serieA6" type="text" id="serieA6" size="3" maxlength="3" /></td>
173:
           <td><label for="serieB6"></label>
174:
           <input name="serieB6" type="text" id="serieB6" size="3" maxlength="3" /></td>
175:
           <td><label for="serieC6"></label>
176:
           <input name="serieC6" type="text" id="serieC6" size="3" maxlength="3" /></td>
177:
           <td><label for="serieD6"></label>
178:
           <input name="serieD6" type="text" id="serieD6" size="3" maxlength="3" /></td>
179:
           <td><input name="serier6" type="text" id="serier6" size="2" maxlength="1" /></td>
180:
           <td><input name="banp6" type="text" id="banp6" size="2" maxlength="1" />
181:
           <input type="hidden" name="resultat6" id="resultat6" /></td>
182:
         </tr>
183:
         <tr>
184:
           <td><input name="matchid7" type="hidden" id="matchid7" value="<?php echo($Recordset1->getColumnVal("match_id")); ?>" /></td>
185:
           <td><input name="spelid7" type="hidden" id="spelid7" value="<?php echo($Recordset1->getColumnVal("s7")); ?>" /></td>
186:
           <td><?php echo($Recordset1->getColumnVal("spelare_7")); ?></td>
187:
           <td><label for="serieA7"></label>
188:
           <input name="serieA7" type="text" id="serieA7" size="3" maxlength="3" /></td>
189:
           <td><label for="serieB7"></label>
190:
           <input name="serieB7" type="text" id="serieB7" size="3" maxlength="3" /></td>
191:
           <td><label for="serieC7"></label>
192:
           <input name="serieC7" type="text" id="serieC7" size="3" maxlength="3" /></td>
193:
           <td><label for="serieD7"></label>
194:
           <input name="serieD7" type="text" id="serieD7" size="3" maxlength="3" /></td>
195:
           <td><input name="serier7" type="text" id="serier7" size="2" maxlength="1" /></td>
196:
           <td><input name="banp7" type="text" id="banp7" size="2" maxlength="1" />
197:
           <input type="hidden" name="resultat7" id="resultat7" /></td>
198:
         </tr>
199:
         <tr>
200:
           <td><input name="matchid8" type="hidden" id="matchid8" value="<?php echo($Recordset1->getColumnVal("match_id")); ?>" /></td>
201:
           <td><input name="spelid8" type="hidden" id="spelid8" value="<?php echo($Recordset1->getColumnVal("s8")); ?>" /></td>
202:
           <td><?php echo($Recordset1->getColumnVal("spelare_8")); ?></td>
203:
           <td><label for="serieA8"></label>
204:
           <input name="serieA8" type="text" id="serieA8" size="3" maxlength="3" /></td>
205:
           <td><label for="serieB8"></label>
206:
           <input name="serieB8" type="text" id="serieB8" size="3" maxlength="3" /></td>
207:
           <td><label for="serieC8"></label>
208:
           <input name="serieC8" type="text" id="serieC8" size="3" maxlength="3" /></td>
209:
           <td><label for="serieD8"></label>
210:
           <input name="serieD8" type="text" id="serieD8" size="3" maxlength="3" /></td>
211:
           <td><input name="serier8" type="text" id="serier8" size="2" maxlength="1" /></td>
212:
           <td><input name="banp8" type="text" id="banp8" size="2" maxlength="1" />
213:
           <input type="hidden" name="resultat8" id="resultat8" /></td>
214:
         </tr>
215:
         <tr>
216:
           <td><input name="matchid9" type="hidden" id="matchid9" value="<?php echo($Recordset1->getColumnVal("match_id")); ?>" /></td>
217:
           <td><input name="spelid9" type="hidden" id="spelid9" value="<?php echo($Recordset1->getColumnVal("s9")); ?>" /></td>
218:
           <td><?php echo($Recordset1->getColumnVal("reserv")); ?></td>
219:
           <td><label for="serieA9"></label>
220:
           <input name="serieA9" type="text" id="serieA9" size="3" maxlength="3" /></td>
221:
           <td><label for="serieB9"></label>
222:
           <input name="serieB9" type="text" id="serieB9" size="3" maxlength="3" /></td>
223:
           <td><label for="serieC9"></label>
224:
           <input name="serieC9" type="text" id="serieC9" size="3" maxlength="3" /></td>
225:
           <td><label for="serieD9"></label>
226:
           <input name="serieD9" type="text" id="serieD9" size="3" maxlength="3" /></td>
227:
           <td><input name="serier9" type="text" id="serier9" size="2" maxlength="1" /></td>
228:
           <td><input name="banp9" type="text" id="banp9" size="2" maxlength="1" />
229:
           <input type="hidden" name="resultat9" id="resultat9" /></td>
230:
         </tr>
231:
         <tr>
232:
           <td>&nbsp;</td>
233:
           <td>&nbsp;</td>
234:
           <td><input type="submit" name="skicka" id="skicka" value="Skicka" /></td>
235:
           <td>&nbsp;</td>
236:
           <td>&nbsp;</td>
237:
           <td>&nbsp;</td>
238:
           <td>&nbsp;</td>
239:
           <td>&nbsp;</td>
240:
           <td>&nbsp;</td>
241:
         </tr>
242:
       </table>
243:
     </form>
244:
 


Jag får här fram spelarens namn och 6 st textfält för att skriva in resultatet i varje serie (upp till 4 serier) antal serier och ban poäng.

Och här är själva skriptet som jag har fått hjälp med på detta forumet:mata_in_resultat_ac_i.php
KOD:
1:
 
2:
<?php require_once('../../Connections/teamet_i.php'); ?>
3:
<?php
4:
/*  Räkna ihop resultat innan lagring i databasen */
5:
$_POST['resultat1']=$_POST['serieA1']+$_POST['serieB1']+$_POST['serieC1']+$_POST['serieD1'];
6:
$_POST['resultat2']=$_POST['serieA2']+$_POST['serieB2']+$_POST['serieC2']+$_POST['serieD2'];
7:
$_POST['resultat3']=$_POST['serieA3']+$_POST['serieB3']+$_POST['serieC3']+$_POST['serieD3'];
8:
$_POST['resultat4']=$_POST['serieA4']+$_POST['serieB4']+$_POST['serieC4']+$_POST['serieD4'];
9:
$_POST['resultat5']=$_POST['serieA5']+$_POST['serieB5']+$_POST['serieC5']+$_POST['serieD5'];
10:
$_POST['resultat6']=$_POST['serieA6']+$_POST['serieB6']+$_POST['serieC6']+$_POST['serieD6'];
11:
$_POST['resultat7']=$_POST['serieA7']+$_POST['serieB7']+$_POST['serieC7']+$_POST['serieD7'];
12:
$_POST['resultat8']=$_POST['serieA8']+$_POST['serieB8']+$_POST['serieC8']+$_POST['serieD8'];
13:
$_POST['resultat9']=$_POST['serieA9']+$_POST['serieB9']+$_POST['serieC9']+$_POST['serieD9'];
14:
?>
15:
<?php 
16:
for($i=1; $i<=9; $i++) {
17:
   if ($_POST["spelid$i"]>"0") { /* kontrollerar att spelid är större än 0 */
18:
   mysqli_query( $teamet_i, sprintf(
19:
      "INSERT INTO team_resultat (medlem_id,serie1,serie2,serie3,serie4,resultat,serier,banp,match_id) VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s')",
20:
      mysqli_real_escape_string($teamet_i,$_POST["spelid$i"]),
21:
      mysqli_real_escape_string($teamet_i,$_POST["serieA$i"]),
22:
      mysqli_real_escape_string($teamet_i,$_POST["serieB$i"]),
23:
      mysqli_real_escape_string($teamet_i,$_POST["serieC$i"]),
24:
     mysqli_real_escape_string($teamet_i,$_POST["serieD$i"]),    
25:
     mysqli_real_escape_string($teamet_i,$_POST["resultat$i"]),
26:
      mysqli_real_escape_string($teamet_i,$_POST["serier$i"]),
27:
      mysqli_real_escape_string($teamet_i,$_POST["banp$i"]),
28:
      mysqli_real_escape_string($teamet_i,$_POST["matchid$i"])
29:
   ));
30:
} }
31:
 
32:
/*  mysqli_query("DELETE FROM team_resultat WHERE spelid=0 "); */
33:
//header("location:rapportera_match_i.php");
34:
header("location: kontroll_i.php?match_id=".rawurlencode($_POST["matchid1"]));
35:
?>
36:
 


kontroll_i.php är en sida för att kontrollera att jag skrivit in siffrorna rätt.

Webhotellet (Binero) kör jag PHP version 5,6,27 och Mysql 5,5,37

Varför körs skriptet 2 gånger och hur ändrar jag det?
Varför läses bar dom 5 högsta resultaten in på min egna webbserver?

Vi är mitt inne i bowlingsäsongen så jag måste få igång detta snabbt.

Senast ändrad av poj den 2017-09-28 20:19, ändrad totalt 1 gång
 

_________________
/ Poj
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4852 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#741875
Inlägg Skrivet: 2017-09-28 08:20      Ämne: Citera

Det kan bero på olika orsaker.

Några förslag:
- Har du testat om det är samma beteende i olika webbläsare?
- Felsök med Firebug/motsvarande om det går flera http request när du postar formuläret.
- Har du någon header/motsvarande som gör en loop i din kod?
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
poj



Medlem i: 5160 dagar
Från: Bor. Småland
Status: Offline



#741877
Inlägg Skrivet: 2017-09-28 20:26      Ämne: Citera

Ja jag har provat med olika webbläsare och 2 olika datorer för att utesluta någon windows uppdatering.
Det fungerade för två veckor sedan men inte i helgen.
Och varför får jag ett annat resultat på min webbserver?

Edit:
Det återstår väl inget annat än att logga in i phpmyadmin och mata in det manuellt.
Jag måste få igång detta snabbt och jag orkar och hinner inte sätta mig in i allt just nu när jag håller på att rensa ett dödsbo.

Jag har gjort en test på min webbserver och det är att jag la in
KOD:
1:
<?php echo($i); ?>
så jag kunde se vad $i hade för värde, det var 10 men bara 5 högsta resultaten var lagrade i databasen.
 

_________________
/ Poj
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4852 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#741879
Inlägg Skrivet: 2017-10-04 10:12      Ämne: Citera

Det du kan göra är att använda "spårutskrifter" i din kod.
Om du exempelvis misstänker att vissa operationer inte utförs korrekt i en loop så skriver du ut något liknande:

PHP:
1:
 LOOP {
2:
// SQL operationer, körs alla varv?
3:
echo "Varv".$i ;
4:
// Samtidigt kan du skriva ut den genererade SQL koden för att se vad den innehåller
5:
echo $SQLkod ;
6:
 
7:
}ENDLOOP 


Jag skulle kolla med webbhotellet om någon uppdatering har skett nyligen, både phpversion och Mysql version.
Det kan vara någon ny funktion eller intställning som gör din kod inkompatibel där.

Det är en traditionell felsökning som gäller för att hitta orsaken, så se till att du har aktiverat att visa felmeddelanden från php och även titta på om du kan fånga upp felmeddelanden som mysql returnerar.
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
poj



Medlem i: 5160 dagar
Från: Bor. Småland
Status: Offline



#741883
Inlägg Skrivet: 2017-10-06 18:47      Ämne: Citera

På vår skarpa sida var det en bugg i Joomlas uppdatering som triggade sidan 2 gånger, det har kommit en ny uppdatering som rättade det så där fungerar det nu.

Hemma har jag installerat om wampservern vilket resulterat i att bara 2 resultat läses in i databasen.
Jag har testat med en annan php version och jag har stängt av antivirus programmet men ingen skillnad.

I scriptfilen har jag lagt in echo på $i där får jag resultatet 10, jag har också lagt in på echo $_POST['resultat1'] till 9 och jag får med alla resultat men det läses inte in i databasen!
den koden du visar här ovan vet jag inte var den ska ligga, jag får scriptfel i dreamweaver när jag försöker.

Det är bara detta skriptet där jag loopar som blir fel vanliga inserts blir rätt.

Vad kan vara fel?
 

_________________
/ Poj
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4593 dagar
Från: Tavesta
Status: Offline



#741884
Inlägg Skrivet: 2017-10-07 12:52      Ämne: Citera

I mata_in_resultat_ac_i.php kan du ändra så här så får du mer information om hur det går när du skickar data till databasen:

PHP:
1:
 $returvärde mysqli_query$teamet_i$sql sprintf(
2:
...
3:
));
4:
 
5:
var_dump($sql$returvärde);
6:
if(!$returvärde) echo mysqli_error $teamet_i );
7:
 
8:
 
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
poj



Medlem i: 5160 dagar
Från: Bor. Småland
Status: Offline



#741885
Inlägg Skrivet: 2017-10-07 15:51      Ämne: Citera

Jag får detta felmeddelande när jag försöker
Citat:
Parse error: syntax error, unexpected '$teamet_i' (T_VARIABLE) in C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php on line 18


Jag sätter säkert in det på fel ställe, kan du lägga in det i mitt exempel så det blir rätt?
 

_________________
/ Poj
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4593 dagar
Från: Tavesta
Status: Offline



#741886
Inlägg Skrivet: 2017-10-07 18:28      Ämne: Citera

PHP:
1:
 
2:
<?php require_once('../../Connections/teamet_i.php'); ?>
3:
<?php
4:
/*  Räkna ihop resultat innan lagring i databasen */
5:
$_POST['resultat1']=$_POST['serieA1']+$_POST['serieB1']+$_POST['serieC1']+$_POST['serieD1'];
6:
$_POST['resultat2']=$_POST['serieA2']+$_POST['serieB2']+$_POST['serieC2']+$_POST['serieD2'];
7:
$_POST['resultat3']=$_POST['serieA3']+$_POST['serieB3']+$_POST['serieC3']+$_POST['serieD3'];
8:
$_POST['resultat4']=$_POST['serieA4']+$_POST['serieB4']+$_POST['serieC4']+$_POST['serieD4'];
9:
$_POST['resultat5']=$_POST['serieA5']+$_POST['serieB5']+$_POST['serieC5']+$_POST['serieD5'];
10:
$_POST['resultat6']=$_POST['serieA6']+$_POST['serieB6']+$_POST['serieC6']+$_POST['serieD6'];
11:
$_POST['resultat7']=$_POST['serieA7']+$_POST['serieB7']+$_POST['serieC7']+$_POST['serieD7'];
12:
$_POST['resultat8']=$_POST['serieA8']+$_POST['serieB8']+$_POST['serieC8']+$_POST['serieD8'];
13:
$_POST['resultat9']=$_POST['serieA9']+$_POST['serieB9']+$_POST['serieC9']+$_POST['serieD9'];
14:
?>
15:
<?php 
16:
for($i=1$i<=9$i++) {
17:
   if ($_POST["spelid$i"]>"0") { /* kontrollerar att spelid är större än 0 */
18:
    $returvärde mysqli_query$teamet_i$sql sprintf(
19:
      "INSERT INTO team_resultat (medlem_id,serie1,serie2,serie3,serie4,resultat,serier,banp,match_id) VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s')",
20:
      mysqli_real_escape_string($teamet_i,$_POST["spelid$i"]),
21:
      mysqli_real_escape_string($teamet_i,$_POST["serieA$i"]),
22:
      mysqli_real_escape_string($teamet_i,$_POST["serieB$i"]),
23:
      mysqli_real_escape_string($teamet_i,$_POST["serieC$i"]),
24:
     mysqli_real_escape_string($teamet_i,$_POST["serieD$i"]),    
25:
     mysqli_real_escape_string($teamet_i,$_POST["resultat$i"]),
26:
      mysqli_real_escape_string($teamet_i,$_POST["serier$i"]),
27:
      mysqli_real_escape_string($teamet_i,$_POST["banp$i"]),
28:
      mysqli_real_escape_string($teamet_i,$_POST["matchid$i"])
29:
   ));
30:
   var_dump($sql$returvärde);
31:
   if(!$returvärde) echo mysqli_error $teamet_i );
32:
} }
33:
 
34:
/*  mysqli_query("DELETE FROM team_resultat WHERE spelid=0 "); */
35:
//header("location:rapportera_match_i.php");
36:
header("location: kontroll_i.php?match_id=".rawurlencode($_POST["matchid1"]));
37:
?>
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
poj



Medlem i: 5160 dagar
Från: Bor. Småland
Status: Offline



#741887
Inlägg Skrivet: 2017-10-07 19:37      Ämne: Citera

Jag får fortfarande detta
Citat:
Parse error: syntax error, unexpected '$teamet_i' (T_VARIABLE) in C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php on line 18
 

_________________
/ Poj
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4593 dagar
Från: Tavesta
Status: Offline



#741888
Inlägg Skrivet: 2017-10-07 20:27      Ämne: Citera

Är du helt säker på att koden är 100% identisk med den jag visade?
Du får gärna posta en kopia på din kod på rad 18 och ett par rader bakåt.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
poj



Medlem i: 5160 dagar
Från: Bor. Småland
Status: Offline



#741889
Inlägg Skrivet: 2017-10-08 10:08      Ämne: Citera

När jag kopierade från dreamweaver till Word och tillbaka försvann syntax error!!.

Detta felmeddelandet kom när jag körde scriptet
KOD:
1:
 
2:
C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:string 'INSERT INTO team_resultat (medlem_id,serie1,serie2,serie3,serie4,resultat,serier,banp,match_id) VALUES ('10','147','164','152','140','603','4','1','274')' (length=153)
3:
 
4:
C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:boolean true
5:
 
6:
C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:string 'INSERT INTO team_resultat (medlem_id,serie1,serie2,serie3,serie4,resultat,serier,banp,match_id) VALUES ('46','144','136','171','86','537','4','1','274')' (length=152)
7:
 
8:
C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:boolean true
9:
 
10:
C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:string 'INSERT INTO team_resultat (medlem_id,serie1,serie2,serie3,serie4,resultat,serier,banp,match_id) VALUES ('44','94','84','87','','265','3','','274')' (length=146)
11:
 
12:
C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:boolean false
13:
 
14:
Incorrect integer value: '' for column 'serie4' at row 1C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:string 'INSERT INTO team_resultat (medlem_id,serie1,serie2,serie3,serie4,resultat,serier,banp,match_id) VALUES ('26','151','153','171','175','650','4','','274')' (length=152)
15:
 
16:
C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:boolean false
17:
 
18:
Incorrect integer value: '' for column 'banp' at row 1C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:string 'INSERT INTO team_resultat (medlem_id,serie1,serie2,serie3,serie4,resultat,serier,banp,match_id) VALUES ('41','34','100','','','134','2','','274')' (length=145)
19:
 
20:
C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:boolean false
21:
 
22:
Incorrect integer value: '' for column 'serie3' at row 1C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:string 'INSERT INTO team_resultat (medlem_id,serie1,serie2,serie3,serie4,resultat,serier,banp,match_id) VALUES ('18','175','114','134','126','549','4','','274')' (length=152)
23:
 
24:
C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:boolean false
25:
 
26:
Incorrect integer value: '' for column 'banp' at row 1C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:string 'INSERT INTO team_resultat (medlem_id,serie1,serie2,serie3,serie4,resultat,serier,banp,match_id) VALUES ('36','152','163','147','145','607','4','','274')' (length=152)
27:
 
28:
C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:boolean false
29:
 
30:
Incorrect integer value: '' for column 'banp' at row 1C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:string 'INSERT INTO team_resultat (medlem_id,serie1,serie2,serie3,serie4,resultat,serier,banp,match_id) VALUES ('27','146','152','190','150','638','4','','274')' (length=152)
31:
 
32:
C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:boolean false
33:
 
34:
Incorrect integer value: '' for column 'banp' at row 1C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:string 'INSERT INTO team_resultat (medlem_id,serie1,serie2,serie3,serie4,resultat,serier,banp,match_id) VALUES ('47','124','100','143','','367','3','','274')' (length=149)
35:
 
36:
C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php:30:boolean false
37:
 
38:
Incorrect integer value: '' for column 'serie4' at row 1
39:
 


Felet är tydligen att om man inte sätter ett värde i inmatningsrutan så blir det tomt och inte 0.
KOD:
1:
   banp   int(1)      UNSIGNED   Ja   NULL

Det blir 0 i tabellen på webbhotellet men inte i min webbserver, ser ingen skillnad på strukturen och tabellen är exporterad och importerad till min server.

Vad kan det vara?
 

_________________
/ Poj
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4593 dagar
Från: Tavesta
Status: Offline



#741890
Inlägg Skrivet: 2017-10-08 10:58      Ämne: Citera

Det verkar vara en del fält från formuläret som har fel typ av data för databasen. I exemplet handlar det om tom sträng i stället för heltal i $_POST["serieD$i"] och $_POST["banp$i"], men felet kan säkert dyka upp i andra varianter också.

Om datat skall in i databasen, trots att det inte förefaller vara helt korrekt så kan du använda funktionen intval() istället för mysqli_real_escape_string() på de fält som skall vara numeriska.

I annat fall kan du testa om datat innehåller numeriskt värde innan du infogar i databasen.
Du kan t.ex använda preg_match('/^\d+$/', $testvärde) för att testa.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
poj



Medlem i: 5160 dagar
Från: Bor. Småland
Status: Offline



#741891
Inlägg Skrivet: 2017-10-08 11:50      Ämne: Citera

Skriver jag 0 i inmatningsrutan där det ska vara 0 så fungerar det.
på webhotellet behöver jag inte skriva 0 jag hoppar över dom fälten utan resultat och det blir 0 automatiskt.
Men det får ju var NULL i tabellen.
Så här ser en av inmatnings rutorna ut i formuläret.
KOD:
1:
<input name="serieA1" type="text" id="serieA1" size="3" maxlength="3" />


Jag testade med intval() och då fick jag nya felmeddelande och bara 2 poster lästes in, dom där alla fält var ifyllda.
Men alla rader med intval() blev 1 i tabellen.
KOD:
1:
 
2:
 
3:
Notice: Object of class mysqli could not be converted to int in C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php on line 22
4:
Call Stack
5:
#   Time    Memory  Function       Location
6:
1   0.0006 171400   {main}( )    ...\mata_in_resultat_ac_i.php:0
7:
2   0.0141 186488    intval ( )     ...\mata_in_resultat_ac_i.php:22
8:
 
9:
 
10:
( ! ) Notice: Object of class mysqli could not be converted to int in C:\wamp\www\Test-teamet\webmaster\lag\mata_in_resultat_ac_i.php on line 23
11:
Call Stack
12:
#   Time    Memory  Function       Location
13:
1   0.0006 171400   {main}( )   ...\mata_in_resultat_ac_i.php:0
14:
2   0.0150 186640    intval ( )    ...\mata_in_resultat_ac_i.php:23
15:
 
osv.
 

_________________
/ Poj
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4593 dagar
Från: Tavesta
Status: Offline



#741892
Inlägg Skrivet: 2017-10-08 14:55      Ämne: Citera

Du skall inte skicka med $teamet_i när du använder intval().
Jag skulle inte tro att tom sträng och NULL räknas som samma värde i det här fallet.

Vill du använda NULL vid tom sträng kan du använda något i stil med:
PHP:
1:
 $värde preg_match('/^\d+$/'$ursprungligtvärde)? $ursprungligtvärde'NULL'

Då skall du varken använda mysqli_real_escape_string() eller apostrofer runt värdet i sql-koden.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
poj



Medlem i: 5160 dagar
Från: Bor. Småland
Status: Offline



#741893
Inlägget är accepterad som det rätta svaret Skrivet: 2017-10-08 18:15      Ämne: Citera

Citat:
Du skall inte skicka med $teamet_i när du använder intval().

Nu fungerar det igen.

Tack så mycket för hjälpen.
 

_________________
/ Poj
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Databaser
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic