site VS database
Ik heb recent dit probleem:
Mijn database komt niet overeen met wat er op m'n site staat.
even meer duidelijkheid:
Ik stuur bv een tekstje in als: 'dit is een test'. Dit zou dan naar mijn database gestuurd moeten worden. Maar op m'n database wordt dit niet ontvangen. Hetzelfde geldt als ik mijn tekst verander en/of bijwerk bv: 'dit is een test voor de duidelijkheid'.
Het rare er van is dat ik op een andere pagina, die de database aanroept om alle tekstjes die ingestuurd werden onder elkaar te zetten, wel de aangepaste versie zie. Op database zie ik alleen de oude.
Nu is het ook zo dat nieuwe teksten die ingestuurd worden niet getoond worden in de database en ook niet op die pagina.
Weet iemand hoe dit komt?
Onderaan m'n database (phpmyadmin) is dit te lezen:
Quote:
Een recentere versie van phpMyAdmin is beschikbaar, u zou een upgrade kunnen overwegen. De nieuwe versie is 3.4.4, uitgebracht op 2011-08-24.
De phpMyAdmin configuratie opslag is niet volledig ingesteld, sommige uitgebreide mogelijkheden zijn uitgeschakeld. Om te weten te komen waarom klik hier.[/QUOTE]
Hoe ik m'n database moet updaten weet ik niet en ook dat ondere snap ik niet helemaal.
Toch alvast bedankt!
mvg,
Jeroen
ps: wegens een drukke week kan het even duren voor ik terug antwoord.
De phpMyAdmin configuratie opslag is niet volledig ingesteld, sommige uitgebreide mogelijkheden zijn uitgeschakeld. Om te weten te komen waarom klik hier.[/QUOTE]
Hoe ik m'n database moet updaten weet ik niet en ook dat ondere snap ik niet helemaal.
Toch alvast bedankt!
mvg,
Jeroen
ps: wegens een drukke week kan het even duren voor ik terug antwoord.
Post je code even van de verschillende pagina's.
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
68
69
70
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
<?
session_start();
$dbhost = 'localhost'; //De server waar je database gehost word. Meestal 'localhost'.
$dbuser = 'XXXXX'; //Je gebruikersnaam van je database.
$dbpass = 'XXXXX'; //Het wachtwoord van je database.
$dbname = 'raadselm_joom1'; //De naam van je database.
mysql_select_db($dbname,mysql_connect($dbhost,$dbuser,$dbpass));
$user =& JFactory::getUser();
$gebruiker = $user->get('username');
$result=mysql_query("SELECT * FROM Teller WHERE wat = 'welkevraag'");
$row = mysql_fetch_array($result);
$vraag = $row['aantal'];
$result2=mysql_query("SELECT * From raadsel WHERE id = '$vraag'");
$row2 = mysql_fetch_array($result2);
$vraag2= $row2['vraag'];
$result3=mysql_query("SELECT * From raadsell WHERE id = '$vraag'");
$row3 = mysql_fetch_array($result3);
$vraag3= $row3['vraag'];
$user1= mysql_query("SELECT * FROM antwoorden WHERE vraag = '$vraag' AND user = '$gebruiker'");
$user2= mysql_num_rows($user1);
$row9 = mysql_fetch_array($user1);
$antw = $row9['antwoord'];
echo "<b>We zitten aan week " .$vraag;
echo "</b><br></br><p><b>Wiskunde:</b><br />";
if($user2==0) {
?>
<form name="input" method="POST">
Klikken op de 'ik doe mee!' knop heeft als gevolgt dat er geregistreerd wordt dat je meezoekt voor deze week (de 2 vragen). Ook als je niets instuurd zal je goed/fout ratio benvloed worden. <br>
<input type="submit" value="Ik doe mee!" />
</form>
<?
if($_SERVER['REQUEST_METHOD'] == 'POST') {
mysql_query("INSERT INTO `antwoorden` (vraag,antwoord,datum,user) VALUES ( '".$vraag."', 'Schrijf hier je antwoord.' ,'".date("d/m/Y")."', '".$gebruiker."') ") OR DIE(mysql_error());
mysql_query("UPDATE `Teller` SET `aantal`=`aantal`+1 WHERE Wat = 'antwoorden'");mysql_query("UPDATE `joom_users` SET `meedoen`=`meedoen`+1 WHERE username = '$gebruiker'");
mysql_query("INSERT INTO `antwoordenl` (vraag,antwoord,datum,user) VALUES ( '".$vraag."', 'Schrijf hier je antwoord.' ,'".date("d/m/Y")."', '".$gebruiker."') ") OR DIE(mysql_error());
header( 'refresh: 1; URL=http://www.raadselman.be/index.php/vragen-vd-week' );
}
}
else{
echo "<br />De vraag is: <br></br>" .$vraag2;
?>
<form name="input" method="POST">
antwoord: <br /><textarea name="antwoord" rows=5 cols=100><? echo "" .$antw. " "; ?> </textarea>
<input type="submit" value="insturen" />
</form>
<?
$punt = $row2['punten'];
echo "Deze vraag is " .$punt. " punten waard.<br />";
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$antw =mysql_real_escape_string($_POST['antwoord']);
if (!empty($antw)){
mysql_query("UPDATE `antwoorden` SET antwoord ='$antw' WHERE vraag = '$vraag' AND user = '$gebruiker' ") ;
header( 'refresh: 1; URL=http://www.raadselman.be/index.php/vragen-vd-week' );
}}
}
?>
session_start();
$dbhost = 'localhost'; //De server waar je database gehost word. Meestal 'localhost'.
$dbuser = 'XXXXX'; //Je gebruikersnaam van je database.
$dbpass = 'XXXXX'; //Het wachtwoord van je database.
$dbname = 'raadselm_joom1'; //De naam van je database.
mysql_select_db($dbname,mysql_connect($dbhost,$dbuser,$dbpass));
$user =& JFactory::getUser();
$gebruiker = $user->get('username');
$result=mysql_query("SELECT * FROM Teller WHERE wat = 'welkevraag'");
$row = mysql_fetch_array($result);
$vraag = $row['aantal'];
$result2=mysql_query("SELECT * From raadsel WHERE id = '$vraag'");
$row2 = mysql_fetch_array($result2);
$vraag2= $row2['vraag'];
$result3=mysql_query("SELECT * From raadsell WHERE id = '$vraag'");
$row3 = mysql_fetch_array($result3);
$vraag3= $row3['vraag'];
$user1= mysql_query("SELECT * FROM antwoorden WHERE vraag = '$vraag' AND user = '$gebruiker'");
$user2= mysql_num_rows($user1);
$row9 = mysql_fetch_array($user1);
$antw = $row9['antwoord'];
echo "<b>We zitten aan week " .$vraag;
echo "</b><br></br><p><b>Wiskunde:</b><br />";
if($user2==0) {
?>
<form name="input" method="POST">
Klikken op de 'ik doe mee!' knop heeft als gevolgt dat er geregistreerd wordt dat je meezoekt voor deze week (de 2 vragen). Ook als je niets instuurd zal je goed/fout ratio benvloed worden. <br>
<input type="submit" value="Ik doe mee!" />
</form>
<?
if($_SERVER['REQUEST_METHOD'] == 'POST') {
mysql_query("INSERT INTO `antwoorden` (vraag,antwoord,datum,user) VALUES ( '".$vraag."', 'Schrijf hier je antwoord.' ,'".date("d/m/Y")."', '".$gebruiker."') ") OR DIE(mysql_error());
mysql_query("UPDATE `Teller` SET `aantal`=`aantal`+1 WHERE Wat = 'antwoorden'");mysql_query("UPDATE `joom_users` SET `meedoen`=`meedoen`+1 WHERE username = '$gebruiker'");
mysql_query("INSERT INTO `antwoordenl` (vraag,antwoord,datum,user) VALUES ( '".$vraag."', 'Schrijf hier je antwoord.' ,'".date("d/m/Y")."', '".$gebruiker."') ") OR DIE(mysql_error());
header( 'refresh: 1; URL=http://www.raadselman.be/index.php/vragen-vd-week' );
}
}
else{
echo "<br />De vraag is: <br></br>" .$vraag2;
?>
<form name="input" method="POST">
antwoord: <br /><textarea name="antwoord" rows=5 cols=100><? echo "" .$antw. " "; ?> </textarea>
<input type="submit" value="insturen" />
</form>
<?
$punt = $row2['punten'];
echo "Deze vraag is " .$punt. " punten waard.<br />";
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$antw =mysql_real_escape_string($_POST['antwoord']);
if (!empty($antw)){
mysql_query("UPDATE `antwoorden` SET antwoord ='$antw' WHERE vraag = '$vraag' AND user = '$gebruiker' ") ;
header( 'refresh: 1; URL=http://www.raadselman.be/index.php/vragen-vd-week' );
}}
}
?>
Hierboven het invoeren van een antwoord.
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
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
<?
session_start();
$dbhost = 'localhost'; //De server waar je database gehost word. Meestal 'localhost'.
$dbuser = 'XXXXX'; //Je gebruikersnaam van je database.
$dbpass = 'XXXXX'; //Het wachtwoord van je database.
$dbname = 'raadselm_joom1'; //De naam van je database.
$user =& JFactory::getUser();
$gebruiker = $user->get('username');
mysql_select_db($dbname,mysql_connect($dbhost,$dbuser,$dbpass));
$result=mysql_query("SELECT * FROM Teller WHERE wat = 'welkevraag'");
$row = mysql_fetch_array($result);
$vraag = $row['aantal']; //vraag nummer
?>
<b>Wiskunde:</b>
<table width="100%">
<tr><td>nr</td><? if ($gebruiker == raadselman){ ?><td>User</td><? } ?><td>Antwoord</td></tr>
<?
$top2 = "SELECT * FROM `antwoorden` ORDER BY id ASC";
$top1 = mysql_query($top2);
$i=0;
while($top = mysql_fetch_assoc($top1)){
if ($top['user']==admin){}
else{
if ($top['user']==raadselman){}
else{
if($top['gecontroleerd'] == 0){
if($top['vraag'] == $vraag){
$i=$i+1;
echo '<tr><td>'.$i.'</td>'; if ($gebruiker == raadselman){ echo '<td>'.$top['user'].'</td>'; } echo '<td>'.$top['antwoord'].'</td></tr>';
}}}}}
?>
</table>
<br /><br />
<b>Logica:</b><p></p>
<table width="100%">
<tr><td>nr</td><? if ($gebruiker == raadselman){ ?><td>User</td><? }?><td>Antwoord</td></tr>
<?
$top2l = "SELECT * FROM `antwoordenl` ORDER BY id ASC";
$top1l = mysql_query($top2l);
$il=0;
while($topl=mysql_fetch_assoc($top1l)){
if ($topl['user']==admin){}
else{
if ($topl['user']==raadselman){}
else{
if($topl['vraag'] == $vraag){
$il=$il+1;
echo '<tr><td>'.$il.'</td>'; if ($gebruiker == raadselman){ echo '<td>'.$topl['user'].'</td>'; } echo '<td>'.$topl['antwoord'].'</td></tr>';
}}}}
?>
</table>
session_start();
$dbhost = 'localhost'; //De server waar je database gehost word. Meestal 'localhost'.
$dbuser = 'XXXXX'; //Je gebruikersnaam van je database.
$dbpass = 'XXXXX'; //Het wachtwoord van je database.
$dbname = 'raadselm_joom1'; //De naam van je database.
$user =& JFactory::getUser();
$gebruiker = $user->get('username');
mysql_select_db($dbname,mysql_connect($dbhost,$dbuser,$dbpass));
$result=mysql_query("SELECT * FROM Teller WHERE wat = 'welkevraag'");
$row = mysql_fetch_array($result);
$vraag = $row['aantal']; //vraag nummer
?>
<b>Wiskunde:</b>
<table width="100%">
<tr><td>nr</td><? if ($gebruiker == raadselman){ ?><td>User</td><? } ?><td>Antwoord</td></tr>
<?
$top2 = "SELECT * FROM `antwoorden` ORDER BY id ASC";
$top1 = mysql_query($top2);
$i=0;
while($top = mysql_fetch_assoc($top1)){
if ($top['user']==admin){}
else{
if ($top['user']==raadselman){}
else{
if($top['gecontroleerd'] == 0){
if($top['vraag'] == $vraag){
$i=$i+1;
echo '<tr><td>'.$i.'</td>'; if ($gebruiker == raadselman){ echo '<td>'.$top['user'].'</td>'; } echo '<td>'.$top['antwoord'].'</td></tr>';
}}}}}
?>
</table>
<br /><br />
<b>Logica:</b><p></p>
<table width="100%">
<tr><td>nr</td><? if ($gebruiker == raadselman){ ?><td>User</td><? }?><td>Antwoord</td></tr>
<?
$top2l = "SELECT * FROM `antwoordenl` ORDER BY id ASC";
$top1l = mysql_query($top2l);
$il=0;
while($topl=mysql_fetch_assoc($top1l)){
if ($topl['user']==admin){}
else{
if ($topl['user']==raadselman){}
else{
if($topl['vraag'] == $vraag){
$il=$il+1;
echo '<tr><td>'.$il.'</td>'; if ($gebruiker == raadselman){ echo '<td>'.$topl['user'].'</td>'; } echo '<td>'.$topl['antwoord'].'</td></tr>';
}}}}
?>
</table>
Het opvragen van alle antwoorden.
Gewijzigd op 11/09/2011 23:50:42 door Jeroen Verstraete
Kan je de code even tussen code-tags plaatsen?
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
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
<?php
# errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
session_start();
$dbhost = 'localhost'; //De server waar je database gehost word. Meestal 'localhost'.
$dbuser = 'XXXXX'; //Je gebruikersnaam van je database.
$dbpass = 'XXXXX'; //Het wachtwoord van je database.
$dbname = 'raadselm_joom1'; //De naam van je database.
$user =& JFactory::getUser();
$gebruiker = $user->get('username');
if(($verbind = mysql_connect($dbhost,$dbuser,$dbpass)) === false)
{
echo 'Het verbinden van de database is mislukt';
}
elseif(mysql_select_db($dbname,$verbind) === false)
{
echo 'Selecteren database is mislukt';
}
$sql_teller = "SELECT aantal
FROM Teller
WHERE wat = 'welkevraag'
";
if(($result_teller = mysql_query($sql_teller)) === false)
{
$vraag = showSQLError($sql_teller, mysql_error(), 'De query is mislukt');
}
elseif(mysql_num_rows($result_teller) < 1)
{
$vraag = 'Geen gegevens gevonden';
}
else
{
$row_teller = mysql_fetch_assoc($result_teller);
$vraag = $row['aantal']; //vraag nummer
}
?>
# errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
session_start();
$dbhost = 'localhost'; //De server waar je database gehost word. Meestal 'localhost'.
$dbuser = 'XXXXX'; //Je gebruikersnaam van je database.
$dbpass = 'XXXXX'; //Het wachtwoord van je database.
$dbname = 'raadselm_joom1'; //De naam van je database.
$user =& JFactory::getUser();
$gebruiker = $user->get('username');
if(($verbind = mysql_connect($dbhost,$dbuser,$dbpass)) === false)
{
echo 'Het verbinden van de database is mislukt';
}
elseif(mysql_select_db($dbname,$verbind) === false)
{
echo 'Selecteren database is mislukt';
}
$sql_teller = "SELECT aantal
FROM Teller
WHERE wat = 'welkevraag'
";
if(($result_teller = mysql_query($sql_teller)) === false)
{
$vraag = showSQLError($sql_teller, mysql_error(), 'De query is mislukt');
}
elseif(mysql_num_rows($result_teller) < 1)
{
$vraag = 'Geen gegevens gevonden';
}
else
{
$row_teller = mysql_fetch_assoc($result_teller);
$vraag = $row['aantal']; //vraag nummer
}
?>
PHP Jasper op 12/09/2011 09:10:29:
Neem een voorbeeld aan dit:
Als we dan toch bezig zijn, programmeren doe je eigenlijk altijd in het Engels. Dus $verbind moet zijn $connect en $vraag moet zijn $question.
Wil je per sé in het Nederlands programmeren (wat ik niet aanraad) doe het dan wel consequent!
Dus $dbuser zou dan worden $dbgebruiker en $row_teller zou worden $rij_teller.
En als we dan toch bezig zijn... wees ook consequent in het gebruik van de opmaak van variabelen: of zet een streepje tussen 2 woorden, of doe dit niet, MAAR... doe het in ieder geval overal hetzelfde. Wees CONSEQUENT.
In het voorbeeld hierboven...
$dbuser en $row_teller zou moeten worden $dbuser en $rowteller of $db_user en $row_teller waarbij de laatste variant met streepjes de voorkeur heeft. Nog beter is $db_user en $row_counter.
Tot zover mijn aanvulling.
Allemaal goed wel, maar weet niemand het antwoord voor mijn probleem momenteel?
staat de melding van phpmyadmin er nog steeds of is hij ondertussen al geupdate... ?
ja, die staat er nog steeds.
Nu is m'n 'myadmin' ook niet meer bereikbaar, er staat: lincese has expired...
Ben contact aan het opnemen daaromtrent met m'n host.
Als je doelt op phpMyAdmin, dat zou knap zijn. Die is open-source en heeft geen licentie nodig ;-)
Directadmin, dat is het dat ik bedoelde :)
Kijk in ieder geval of die insert/update query's true of false teruggeven. En bij de update hoeveel 'affected rows' er zijn. Dat kan je ook zien als je de query echo'ed en dan kopieert en in PHPMyAdmin/Directadmin uitvoert. Wij kunnen aan de hand van je code niet ruiken wat er mis gaat. De update geeft waarschijnlijk niet het juiste resultaat, maar dat is afhankelijk van je database en bijbehorende data. Als je het voorbeeld van Jasper volgt dan was je er ook al achter geweest waar de fout zit. Dus ga je code verbeteren en ga een beetje debuggen, dan kom je er met een beetje gezond verstand achter waar het mis gaat.
The Force op 14/09/2011 00:35:43:
Kijk in ieder geval of die insert/update query's true of false teruggeven. En bij de update hoeveel 'affected rows' er zijn. Dat kan je ook zien als je de query echo'ed en dan kopieert en in PHPMyAdmin/Directadmin uitvoert.
eerlijk gezegd weet ik niet precies wat je bedoelt met dit...
wat moet ik precies doen?
Ik begrijp dat jullie niet alles kunnen ruiken :)
Ben een beginner omtrent PHP en heb deze scripts zelfgeschreven, ben er bewust van dat er nog veel dingen beter kunnen. Als dit probleem eens gedaan is zal ik eens beginnen met het herschrijven van m'n scripts.
Het probleem was gewoon dat ik nog altijd naar de ipadres website, directadmin en zo naar de ipadres site van phpmyadmin. bv: 178.XXX.XXX/phpmyadmin
het moest de mijnsite.be/phpmyadmin zijn
om de één of andere manier lopen die 2 databasen niet meer het zelfde...
Nu dat ik weet dat ik de dingen in de laatste database moet aanpassen is alles opgelost!
toch bedankt voor jullie hulp!
Ik zal zeker eens m'n scripts in orde maken!