• 16.06.2024, 09:19
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

PHP/HTML Skript problem!

Dienstag, 1. Februar 2011, 20:49

Ich habe in diesem Skript einen kleinen Fehler ,,angeblich" sollte er in Linie 82 sein:



<html>
<head>
<title>
Umfrage eingeben
</title>
<link rel="StyleSheet" type="text/css" href="styles.css" />
</head>
<body>
<?php
error_reporting(0);
$submit = $_GET["submit"];
$frage = $_GET["frage"];
$antwort1 = $_GET["antwort1"];
$antwort2 = $_GET["antwort2"];
$antwort3 = $_GET["antwort3"];
if (!$submit)
{
?>
<table border="0" cellspacing="5" cellpadding="5">
<tr>
<td>
<form action="eingabe.php" method="get">
<table cellspacing="5">
<tr>
<td><div>Umfrage Titel</div></td>
<td>
<input type="Text" name="frage" size="26" />
</td>
</tr>
<tr>
<td><div> Antwort 1</div></td>
<td>
<input type="Text" name="antwort1" size="26" />
</td>
</tr>
<tr>
<td><div>Antwort 2</div></td>
<td>
<input type="Text" name="antwort2" size="26" />
</td>
</tr>
<tr>
<td><div>Antwort 3</div></td>
<td>
<input type="Text" name="antwort3" size="26" />
</td>
</tr>
<tr>
<td align="right" colspan="2">
<input type="submit" name="submit"
value="Umfrage erstellen" />
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<?php
}
else
{
include("include.php");
$connection = mysql_connect($server, $user, $passwort)
or die ("Es konnte keine Verbindung zur Datenbank hergestellt werden!");
$query = "INSERT INTO $tabelle (frage, antwort1, antwort2, antwort3)
VALUES ('$frage', '$antwort1', 'antwort2', 'antwort3')";
$result = mysql_db_query($datenbank, $query, $connection) or die
("Fehler!");
if ($result)
{
echo 'Die Umfrage wurde eingegeben.
<a href="umfrage.php">Jetzt ansehen</a>';
}
else
{
echo 'Fehler! <a href="eingabe.php">Bitte neu eingeben</a>';
mysql_close($connection);
}
?>
</body>
</html>



Weiß einer von euch woran der Fehler liegen könnte? ?(

Dienstag, 1. Februar 2011, 20:56

Was fürn Fehler ?
Dann den Code in CodeTags einfügen und nicht einfach so...
zum testen nimmste mal den ganzen html kram raus und realisierst erstmal nur die Funktionalität. Um die Optik kannste dich dann im 2ten Schritt kümmern.

Auf anhieb würd ich jetzt mal sagen... deine

Quellcode

1
2
3
4
5
6
if (!$submit)
{
?>
html gedöhn
<?php
}

könnte nen Problem sein....
so sollte das wenn aussehen.

Quellcode

1
2
3
4
if (!$submit)
{
   echo 'html gedöhn';
}

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »palme|kex`« (1. Februar 2011, 21:04)

Mittwoch, 2. Februar 2011, 20:28

Here, I fixed that for you (dann sieht man nämlich auch die Zeilennummern; gerne auch noch mit Syntax Highlighting):

Quellcode

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
<html>
<head>
<title>
Umfrage eingeben
</title>
<link rel="StyleSheet" type="text/css" href="styles.css" />
</head>
<body>
<?php
error_reporting(0);
$submit = $_GET["submit"];
$frage = $_GET["frage"];
$antwort1 = $_GET["antwort1"];
$antwort2 = $_GET["antwort2"];
$antwort3 = $_GET["antwort3"];
if (!$submit)
{
?>
<table border="0" cellspacing="5" cellpadding="5">
<tr>
<td>
<form action="eingabe.php" method="get">
<table cellspacing="5">
<tr>
<td><div>Umfrage Titel</div></td>
<td>
<input type="Text" name="frage" size="26" />
</td>
</tr>
<tr>
<td><div> Antwort 1</div></td>
<td>
<input type="Text" name="antwort1" size="26" />
</td>
</tr>
<tr>
<td><div>Antwort 2</div></td>
<td>
<input type="Text" name="antwort2" size="26" />
</td>
</tr>
<tr>
<td><div>Antwort 3</div></td>
<td>
<input type="Text" name="antwort3" size="26" />
</td>
</tr>
<tr>
<td align="right" colspan="2">
<input type="submit" name="submit"
value="Umfrage erstellen" />
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<?php
}
else
{
include("include.php");
$connection = mysql_connect($server, $user, $passwort)
or die ("Es konnte keine Verbindung zur Datenbank hergestellt werden!");
$query = "INSERT INTO $tabelle (frage, antwort1, antwort2, antwort3)
VALUES ('$frage', '$antwort1', 'antwort2', 'antwort3')";
$result = mysql_db_query($datenbank, $query, $connection) or die
("Fehler!");
if ($result)
{
echo 'Die Umfrage wurde eingegeben.
<a href="umfrage.php">Jetzt ansehen</a>';
}
else
{
echo 'Fehler! <a href="eingabe.php">Bitte neu eingeben</a>';
mysql_close($connection);
}
?>
</body>
</html>


Dann fällt auch auf, dass du offenbar die schließende geschwungene Klammer zu

Quellcode

1
if (!$submit) {

vergessen hast. Da die Suche am Ende des Scripts erfolglos abgebrochen werden muss, verwist die Fehlermeldung auf die letzte Zeile.

Was das Mischen von PHP und HTML angeht, hat palme durchaus Recht. Lesbarkeit wird aber weder mit Massen von `<?php` noch `echo`-Calls erreicht. Bereits mit PHP-Bordmitteln kann man sehr gut Logik und Darstellung (hier: HTML) trennen: Use native PHP templating.

Oh, und vielleicht willst du dir eine ganz einfache Datenbank-Abstraktion ansehen. Nicht zuletzt, weil dein Code SQL-Injection sehr offenherzig gegenüber steht.

P.S.: Vielleicht findest du einen sprecherenden Namen als "include.php" für eine eingebundene Datei. Dann musst du bei mehr als einer nicht durchnummerieren ;)

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Y0Gi« (22. Januar 2013, 04:24)

Freitag, 4. Februar 2011, 13:39

Ja, gern geschehen.

Sonntag, 6. Februar 2011, 10:29

Mein Skript funktioniert trotzdem nicht, aber mit html scheint es zu funktionieren. Irgendwie seltsam!

Aber danke für eure hilfe!



mfg



möchtewissen

Montag, 7. Februar 2011, 00:21

Mein Skript funktioniert trotzdem nicht, aber mit html scheint es zu funktionieren.

Was genau soll das bedeuten?