php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.04.2005, 18:07  
Gast
 
Beiträge: n/a
Standard Sehr merkwürdiger Fehler- wo ist er?

Also, ich habe da mein Quiz- Skript. Das Skript liest aus einem Array zeilenweise aus verschiedenen Textdateien Frage, antworten, richtige antwort und einen Beispielsatz aus.
hier ist das Skript:

PHP-Code:
<?php
<?//hier wird mir nummer die frage bestimmt.
$Nummer=rand(0,3);
setcookie("keks"$Nummer,time()+3600,"/");
?>

<html>
<head>
<title> Frage</title>
</head>
<body>
<?
$punkte
$_GET["pkt"];
if (isset(
$punkte)){ echo "punkte da, und zwar:"; echo $punkte;}
$fragen file('fragen.txt');
echo 
"<hr>";
//die frage wird gestellt
echo $fragen[$Nummer];
//mehrere Radio Buttons zum anklicken
?>
<form action="awort.php?pkt=<? echo $punkte ?>" method="post">
<input type=radio value="A" name="X"><?
 $A          
File('A.txt');
 echo 
$A[$Nummer]; ?>
</input>

<input type=radio value="B" name="X"><?
$B         
File('B.txt');
 echo 
$B[$Nummer];?>
</input>

<input type=radio value="C" name="X"><?
  $C          
File('C.txt');
 echo 
$C[$Nummer]; ?>
</input>

<input type=radio name="X" value="D"><?
$D          
=File('D.txt');
echo 
$D[$Nummer];
?>
</input>

<input type=submit value=senden>




</form> </body></html>
?>
Das zweite Skript dann - die auflösung :
PHP-Code:
<?php

<html>
<
body>
<
center> <h3Das [SuOQuiz</h3> </center>
<?
//Laden von allem möglichen
$answerfile('Richtig.txt');
$punkte=$_GET["pkt"];
$X$_POST[X];
$Y $answer[$_COOKIE['keks']];
$gagfile('gag.txt');
//prüfen ob angekommen
if (isset($punkte))
{
    print 
"punkte alt:";
    echo 
"
"
;
    print 
$punkte;
    echo 
"
"
;
}
if(isset(
$_COOKIE["keks"]))
{
  echo 
"
"
;}
else print 
"Dein Browser akzeptiert keine Cookies ==> Pech gehabt";
//eigentlicher code
print "<h5>Deine Antwort $X</h5>
"
;
print 
"<h5>Richtige Antwort: $Y</h5>
"
;
print 
$gag[$_COOKIE['keks']];
echo 
"
"
;

echo 
"
"
;
//hier der "fehler"
if ($X==$Y)
{
 print 
"richtige Antwort";
    
$punkte++;


}
   else{ echo 
"
tja, das war falsch. -1 Punkt. 
"
;
   --
$punkte;
}

echo 
$punkte;
echo 
" punkte";
?>
[url="frage.php?pkt=<?echo $punkte?>"]weiter[/url]

<hr>

 </body>
 </html>
?>
So weit , so gut, keine Fehlermeldung oder so sondern ausgaben wie diese:



Code:
Deine Antwort D


Richtige Antwort: D 

Dies war die Beispielfrage. 


tja, das war falsch. -1 Punkt. 
0 punkteweiter
Das ist schon sehr merkwürdig. die Werte der Variablem stimmen ja eigentlich, nur der Vergleich funzt nicht. Noch merkwürdiger: ich hab in meine dateien jeweils 4 werte eingetragen, und immer beim letzten funktionierts. Also, ich check nicht warum des so ist, vielleicht könnt ihr mir ja helfen.

Wenn ihr des laufen lassen wollt, müsst ihr halt die Dateien
  • A.txt, B.txt, C.txt, D.txt, fragen.txt, Richtig.txt, Gag.txt
erstellen
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.04.2005, 20:06  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

verwende vieleicht mal:


error-reporting
Zum testen von Scripts setzt man normalerweise am anfang des scripts (oder direkt in einer config-datei die immer Includet wird)
PHP-Code:
error_reporting(E_ALL); 
damit werden dann alle Fehler ausgegeben.

vieleicht hilfts dir weiter.
robo47 ist offline  
Alt 14.04.2005, 20:10  
Erfahrener Benutzer
 
Registriert seit: 10.09.2004
Beiträge: 339
mkl0815
Standard

hallo mir fallen zwei sachen auf an deinen scripten:
1:
Zitat:
<input type=radio value="B" name="X"><?
$B = File('B.txt');
echo $B[$Nummer];?>
</input>

<input type=radio value="C" name="X"><?
$C = File('C.txt');
echo $C[$Nummer]; ?>
</input>

<input type=radio name="X" value="D"><?
$D =File('D.txt');
da ist wohl was vertauscht. evtl. erklärt das warums bei "D" immer schief geht.


2:
Zitat:
$punkte=$_GET["pkt"];
$X= $_POST[X];
$Y = $answer[$_COOKIE['keks'
du verwendest überall quotes, nut hier nicht. evtl. geht es deshalb nicht richtig.

fix mal die beiden sachen und teste dann dein script.

mario.
__________________
Problems with Windows : REBOOT
Problems with Linux : BE ROOT
mkl0815 ist offline  
Alt 15.04.2005, 15:15  
Gast
 
Beiträge: n/a
Standard

hmm danke, hab alles gemacht, fehler zeigt er keine an.
Irgendwie ein bisschen merkwürdig, an sich kann des gar nicht sein...
er lädt ja die variable korrekt, nur dann vergleicht er es irgendwie falsch....
 
Alt 15.04.2005, 15:18  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

kann man den quelltext jetzt mal sehen?
robo47 ist offline  
Alt 15.04.2005, 15:22  
Gast
 
Beiträge: n/a
Standard

also den neuen? klar: frage.php
PHP-Code:
<?php
<?//hier wird mir nummer die frage bestimmt.
error_reporting(E_ALL);
$Nummer=rand(0,3);
setcookie("keks"$Nummer,time()+3600,"/");
?>

<html>
<head>
<title> Frage</title>
</head>
<body>
<?
$punkte
$_GET["pkt"];
if (isset(
$punkte)){ echo "punkte da, und zwar:"; echo $punkte;}
$fragen file('fragen.txt');
echo 
"<hr>";
//die frage wird gestellt
echo $fragen[$Nummer];
//mehrere Radio Buttons zum anklicken
?>
<form action="awort.php?pkt=<? echo $punkte ?>" method="post">
<input type=radio value="A" name="X"><?
 $A          
File('A.txt');
 echo 
$A[$Nummer]; ?>
</input>

<input type=radio value="B" name="X"><?
$B         
File('B.txt');
 echo 
$B[$Nummer];?>
</input>

<input type=radio value="C" name="X"><?
  $C          
File('C.txt');
 echo 
$C[$Nummer]; ?>
</input>

<input type=radio value="D"name="X"><?
$D          
=File('D.txt');
echo 
$D[$Nummer];
?>
</input>

<input type=submit value=senden>




</form> </body></html>
?>
awort.php
PHP-Code:
<?php

<html>
<
body>
<
center> <h3Das [SuOQuiz</h3> </center>
<?
error_reporting(E_ALL);
//Laden von allem möglichen
$answerfile('Richtig.txt');
$punkte=$_GET["pkt"];
$X$_POST['X'];
$Y $answer[$_COOKIE['keks']];
$gagfile('gag.txt');
//prüfen ob angekommen
if (isset($punkte))
{
    print 
"punkte alt:";
    echo 
"
"
;
    print 
$punkte;
    echo 
"
"
;
}
if(isset(
$_COOKIE["keks"]))
{
  echo 
"
"
;}
else print 
"Dein Browser akzeptiert keine Cookies ==> Pech gehabt";
//eigentlicher code
print "<h5>Deine Antwort $X</h5>
"
;
print 
"<h5>Richtige Antwort: $Y</h5>
"
;
print 
$gag[$_COOKIE['keks']];
echo 
"
"
;

echo 
"
"
;
//hier der "fehler"
if ($X==$Y)
{
 print 
"richtige Antwort";
    
$punkte++;


}
   else{ echo 
"
tja, das war falsch. -1 Punkt. 
"
;
   --
$punkte;
}

echo 
$punkte;
echo 
" punkte";
?>
[url="frage.php?pkt=<?echo $punkte?>"]weiter[/url]

<hr>

 </body>
 </html>
?>
Meint ihr es könnte auch an den files liegen wo er die daten rausliegst? Soll ich die auch mal posten?
 
Alt 15.04.2005, 15:27  
Gast
 
Beiträge: n/a
Standard

Zitat:
Meint ihr es könnte auch an den files liegen wo er die daten rausliegst? Soll ich die auch mal posten?
Keine schlechte Idee. So könnte man den Kram mal testen.
 
Alt 15.04.2005, 15:36  
Gast
 
Beiträge: n/a
Standard

So. http://xwix.xw.funpic.de/
Da ist des jetzt alles drinnen.
Auf dem Server stimmt noch was mit den dateien net, also führts am besten bei euch selber aus.
 
Alt 15.04.2005, 16:22  
Gast
 
Beiträge: n/a
Standard

Zitat:
Notice: Undefined index: pkt in /usr/export/www/vhosts/funnetwork/hosting/xwix/frage.php on line 13

Warning: file(fragen.txt): failed to open stream: No such file or directory in /usr/export/www/vhosts/funnetwork/hosting/xwix/frage.php on line 15
Warum verwendest Du dafür eigentlich keine Datenbank?
 
Alt 15.04.2005, 17:39  
Gast
 
Beiträge: n/a
Standard

ja, ich hab bislang noch keine ahnung von datenbanken. aber an sich wäre des sicherlich schlauer.


hmm ich glaub ich schreib das alles nochmal von grund auf neu, und dann scha ich mal ob der fehler wieder auftaucht.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
bitte hilfe! mysql fehler meldung: basicx PHP Tipps 2008 2 22.07.2008 16:36
mysql fehler meldung: basicx Datenbanken 1 22.07.2008 09:48
Javascript bringt merkwürdigen Fehler sanz JavaScript, Ajax und mehr 5 27.06.2008 00:04
Mysql Syntax Fehler Datenbanken 3 06.07.2006 09:58
[Erledigt] [phpmailer] - SMTP Fehler: Die folgenden Empfänger sind ... PHP Tipps 2005-2 1 05.10.2005 15:19
Seite wird nicht angezeigt, untersch. Fehler bei IE/FF/Safar PHP-Fortgeschrittene 19 31.05.2005 14:52
fehler im script oder fehler beim server PHP Tipps 2005 12 21.05.2005 17:04
Blöder MySQL Fehler PHP Tipps 2005 3 15.05.2005 03:14
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
[Erledigt] Wo liegt der fehler?? PHP-Fortgeschrittene 5 22.12.2004 09:54
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
Hilfe ich finde den Fehler nicht! PHP Tipps 2004 2 07.10.2004 17:40
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
mysql_real_escape_string - Fehler Schaelle Datenbanken 0 03.07.2004 23:32
Paradox, Fehler bei Berechnung in MySQL MrNiceGuy Datenbanken 0 23.06.2004 16:09

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
\gag-file\ open

Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.