PHP Seite zeigt Script Error
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
-
Hallo, ich habe ein Multiplayer Quizspiel programmiert.
BITTE keine Kommentare zum Inhalt sondern zum Script!
Es lief bis jetzt echt super, aber jetzt wird auf einer der PHP Seiten ein Script error angezeigt:
<?php $id = $_GET["id"]; $servername = "xxxx"; $username = "xxxx"; $password = "xxxx"; $dbname = "xxxx"; $base = new mysqli($servername, $username, $password, $dbname); $query = "SELECT * FROM challenge WHERE ID='" . $id . "'"; if ($result = $base->query($query)) { while ($row = $result->fetch_assoc()){ $game = $row["Option"]; $s1 = $row["name1"]; $s2 = $row["name2"]; } } $pts = 0; $pts1 = 0; $squery = "SELECT * FROM challenge WHERE name1='" . $s1 . "' OR name2 ='" . $s2 . "' OR name1='" . $s2 . "' OR name2 ='" . $s2 . "'; if ($result = $base->query($squery)) { while ($rowy = $result->fetch_assoc()) { if($row['Status'] == "set"){ if($rowy['name1'] == $s1 && $rowy['p1'] > $rowy['p2']){$pts = $pts+2;} if($rowy['name1'] == $s1 && $rowy['p1'] == $rowy['p2']){$pts = $pts+1;} if($rowy['name1'] == $s1 && $rowy['p1'] < $rowy['p2']){$pts = $pts-1;} if($rowy['name2'] == $s1 && $rowy['p2'] > $rowy['p1']){$pts = $pts+2;} if($rowy['name2'] == $s1 && $rowy['p2'] == $rowy['p1']){$pts = $pts+1;} if($rowy['name2'] == $s1 && $rowy['p2'] < $rowy['p1']){$pts = $pts-1;} if($rowy['name1'] == $s2 && $rowy['p1'] > $rowy['p2']){$pts1 = $pts1+2;} if($rowy['name1'] == $s2 && $rowy['p1'] == $rowy['p2']){$pts1 = $pts1+1;} if($rowy['name1'] == $s2 && $rowy['p1'] < $rowy['p2']){$pts1 = $pts1-1;} if($rowy['name2'] == $s2 && $rowy['p2'] > $rowy['p1']){$pts1 = $pts1+2;} if($rowy['name2'] == $s2 && $rowy['p2'] == $rowy['p1']){$pts1 = $pts1+1;} if($rowy['name2'] == $s2 && $rowy['p2'] < $rowy['p1']){$pts1 = $pts1-1;} }}} ?> <meta name="viewport" content="width=device-width"> <meta http-equiv="refresh" content="10; URL=game/<?php echo $game;?>.php?act=retro&id=<?php echo $id;?>&name=<?php echo $_COOKIE['logname'];?>"> <body style="background-color: lightblue;"> <?php if ($result = $base->query($query)) { while ($row = $result->fetch_assoc()){ echo("<h3>Nach 10 Sekunden geht es weiter...</h3>"); echo('<p>Option: '); switch($row["Option"]){ case "wild30seconds": echo 'Wer schafft mehr in 30 Sekunden'; break; case "wild60seconds": echo 'Wer schafft mehr in 60 Sekunden'; break; case "1life30seconds": echo 'Wer schafft mehr mit 1 Leben in 30 Sekunden'; break; case "1life60seconds": echo 'Wer schafft mehr mit 1 Leben in 60 Sekunden'; break; case "1lifewild": echo 'Wer schafft mehr mit 1 Leben'; break; case "2lifewild": echo 'Wer schafft mehr mit 2 Leben'; break; case "3lifewild": echo 'Wer schafft mehr mit 3 Leben'; break; case "1lifetime": echo 'Wer haelt laenger durch mit 1 Leben'; break; case "2lifetime": echo 'Wer haelt laenger durch mit 2 Leben'; break; case "3lifetime": echo 'Wer haelt laenger durch mit 3 Leben'; break; } echo("<br><br><b>" . $s1 . " (" . $pts . " pts) - " . $s2 . " (" . $pts1 . " pts)</b><br/>"); } } ?> </body>
Ist auf LimaCity gehostet (FREE).
Alle möglichen Sandboxes können mir auch nicht weiterhelfen.
Bitte um Hilfe,
mehralsnurradio -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in your code on line 21
if($row['Status'] == "set"){
Das hilft dir sicher weiter:
https://www.lima-city.de/hilfe/ich-bekomme-einen-fehler-angezeigt-was-kann-ich-tun
Beitrag zuletzt geändert: 15.4.2019 15:56:52 von horstexplorer -
Ja, genau das sagte die Sandbox auch.
Was bedeutet das??? -
Genau das was es sagt:
unexpected (T_ENCAPSED_AND_WHITESPACE)
expecting '-' or (T_STRING) or (T_VARIABLE) or (T_NUM_STRING)
in your code on line 21
Wenn ich jetzt raten müsste, hast irgendwo davor ein " zu viel.
Zudem ist dein SQL Code ziemlich gefährlich.
Beitrag zuletzt geändert: 16.4.2019 9:00:26 von horstexplorer -
Ich würde mich über eine korrekte Lösung von dir freuen...
-
Probiere mal
$squery = "SELECT * FROM challenge WHERE name1='" . $s1 . "' OR name2 ='" . $s2 . "' OR name1='" . $s2 . "' OR name2 ='" . $s2 . "'";
-
mein-wunschname schrieb:
Probiere mal
$squery = "SELECT * FROM challenge WHERE name1='" . $s1 . "' OR name2 ='" . $s2 . "' OR name1='" . $s2 . "' OR name2 ='" . $s2 . "'";
OK, danke, jetzt klappt es.
Nur komisch, dass es bis vor kurzem einwandfrei funktioniert hat... -
Mit vielen ' und " kann man schon mal etwas übersehen.
-
OK, dann habe ich noch eine Frage: was ist hier falsch (die Sandbox Antwort verstehe ich nicht)?
<html> <!--With PHP--> <?php if(!isset($_COOKIE["username"])){ echo ("<script>window.location = '/';</script>"); } if ($_POST["own"] != strip_tags($_POST["own"])){ die("Your input can't contains HTML Code"); } ?> <head> <meta name="viewport" content="width=device-width"> <title>getShort - Your URL</title> </head> <body> <h1>getShort</h1> <b>Your URL:</b><br><br> <?php $url = $_POST["url"]; $servername = "xxxx"; $username = "xxxx"; $password = "xxxx"; $dbname = "xxxx"; $conn = new mysqli($servername, $username, $password, $dbname); if($_POST["pwq"] == "yes"){ $pw = $_POST["pw"]; } else{ $pw = "no"; } //For "owns" if($_POST['ownq'] == "yes"){ $rand = $_POST["own"]; $sql = "INSERT INTO url (krypto, user, password, url) VALUES ('" . $rand . "', '" . $_COOKIE["username"] . "', '" . $pw . "', '" . $url . "')"; if ($conn->query($sql) === TRUE) { $randomy = "".$rand.".html"; if($_POST['ganalyticsq'] == "yes"){ $weiterleitung = "<script>window.location = 'checker?krypto=" . $rand . "';</script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src='https://www.googletagmanager.com/gtag/js?id='UA-" . $_POST['ganalytics1'] . "-" . $_POST['ganalytics2'] . "'></script> <script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'UA-" . $_POST['ganalytics1'] . "-" . $_POST['ganalytics2'] . "');</script>"; } else{ $weiterleitung = "<script>window.location = 'checker?krypto=" . $rand . "';</script>"; } $datei = fopen($randomy ,"w"); fwrite($datei, $weiterleitung); fclose($datei); echo "<a href='https://getShort.de.cool/" . $rand . "'><code>https://getShort.de.cool/" . $rand . "</code></a>"; } else{ die ("Fehler!"); }} //For "randoms" (not-own) else{ $rand = rand(1, 9999999); $sql = "INSERT INTO url (krypto, user, password, url) VALUES ('" . $rand . "', '" . $_COOKIE["username"] . "', '" . $pw . "', '" . $url . "')"; if ($conn->query($sql) === TRUE) { $randomy = "".$rand.".html"; if($_POST['ganalyticsq'] == "yes"){ $weiterleitung = "<script>window.location = 'checker?krypto=" . $rand . "';</script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src='https://www.googletagmanager.com/gtag/js?id='UA-" . $_POST['ganalytics1'] . "-" . $_POST['ganalytics2'] . "'></script> <script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'UA-" . $_POST['ganalytics1'] . "-" . $_POST['ganalytics2'] . "');</script>"; } else{ $weiterleitung = "<script>window.location = 'checker?krypto=" . $rand . "';</script>"; } $datei = fopen($randomy ,"w"); fwrite($datei, $weiterleitung); fclose($datei); echo "<a href='https://getShort.de.cool/" . $rand . "'><code>https://getShort.de.cool/" . $rand . "</code></a>"; } else { $rand = rand(1, 9999999); $sql = "INSERT INTO url (krypto, user, password, url) VALUES ('" . $rand . "', '" . $_COOKIE["username"] . "', '" . $pw . "', '" . $url . "')"; if ($conn->query($sql) === TRUE) { $randomy = "".$rand.".html"; if($_POST['ganalyticsq'] == "yes"){ $weiterleitung = "<script>window.location = 'checker?krypto=" . $rand . "';</script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src='https://www.googletagmanager.com/gtag/js?id='UA-" . $_POST['ganalytics1'] . "-" . $_POST['ganalytics2'] . "'></script> <script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'UA-" . $_POST['ganalytics1'] . "-" . $_POST['ganalytics2'] . "');</script>"; } else{ $weiterleitung = "<script>window.location = 'checker?krypto=" . $rand . "';</script>"; } $datei = fopen($randomy ,"w"); fwrite($datei, $weiterleitung); fclose($datei); echo "<a href='https://getShort.de.cool/" . $rand . "'><code>https://getShort.de.cool/" . $rand . "</code></a>"; } else { echo "Please try it again!"; }}} ?> <hr> <a href="/">Back to Homepage</a> </body> </html>
-
Es wäre sinnvoll wenn du die Fehler dazu posten würdest.
Der Code enthält keine Syntax Fehler, somit muss es irgendwas anderes sein was 'falsch' ist. -
In der Tat kein Fehler, sondern eine Nachricht. Wenn du die mal in die Suchmaschine deines Vertrauenes eingegeben hättest, dann wärst du wahrscheinlich zu dieser Seite gekommen
https://www.php-kurs.com/notice-undefined-index-meldung.htm
die auch erklärt, wie man sie beseitigt. -
Vielen Dank,
ich habe das Problem jetzt lösen können. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage