Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Xsmur

Grünschnabel

Dabei seit: 30.12.2008

Beiträge: 8

 

1 Zum Seitenanfang

Dienstag, 30. Dezember 2008, 20:59

Tankstellen-Homepage

Hi zusammen,
ich habe folgendes Problem:
Ich soll für einen Bekannten eine Homepage erstellen von seiner Tanke. Testserver: http://klemax.kl.ohost.de

Da ist ja rechts die Preisanzeige.
Und da die Preise nun mal häufig geändert werden, der Pächter keine Ahnung hat von FTP usw., habe ich mir gedacht mach ich eine Art "Admin Control Panel". Darin ist für jede Spritsorte eine Eingabemaske, er müsste sich da dann halt anmelden und könnte bequem per Browser seine Preise ändern.
Ich hab aber leider überhaupt keine Ahnung von MySQL oder sonstigen Datenbanken, daher wollte ich einen von euch bitten, der sich damit auskennt, mir das mal fertigzustellen. Zugang fürs ACP: Name: Test / PW:test
Also die Masken sind halt fertig, bräuchte jetzt ein Script, das die eingegebenen Zahlen in der DB speichert, diese werden ausgelesen und in Zahlen umgewandelt. z.B. ich gebe in der Maske für Ziffer 1 5 ein --> in der DB speichert er die Ziffer 1 als 5, in der Ausgabe-Datei ist das Bild der 5 zu sehen. Die jeweils "rauskommenden" Zahlen-Bilder müsste ich ja dann nur noch in meine preistafel.html einbinden, welche in der index.php includet ist. Wenn in der jeweiligen Eingabemaske auch noch der aktuelle Preis stehen würde, wäre das genial.
Ich weiß, etwas viel auf einmal^^, aber ich hoffe ihr könnt mir helfen, denn ich sitze da schon ewig dran.
Mfg Xsmur ?( ^^


Weiß das denn keiner? ?(
Vielleicht könnt ihr mir ja wenigstens sagen wie ich die Daten, die in das Formular eingegeben werden, in der DB speichern kann?
Vielen Dank im Voraus, ich kenn mich mit DBS nunmal halt garnicht aus.
 

Dabei seit: 28.09.2007

Beiträge: 967

 

2 Zum Seitenanfang

Mittwoch, 31. Dezember 2008, 13:59

Hallo Xsmur,

Zitat


Vielleicht könnt ihr mir ja wenigstens sagen wie ich die Daten, die in das Formular eingegeben werden, in der DB speichern kann?

Dein Query würde dann in etwa so aussehen:

MySQL-Abfrage(n)

1
INSERT INTO tabellenname (spritname, spritpreis) VALUES ('$der_sprit_name', '$der_sprit_preis')

bzw. so:

MySQL-Abfrage(n)

1
UPDATE tabellenname SET spritpreis = '$der_sprit_preis' WHERE spritname = 'spritname'

Das ist der "Kern" von deinem Vorhaben, das Formular kriegst du bestimmt selber hin, wenn nicht fragst du hier einfach, dann wird dir geholfen ;)

Ich hab dir mal was angehängt, du musst es aber noch etwas modifizieren, damit es am Ende so ist wie du es willst.


ak
»andreaskeil« hat folgende Dateien angehängt:
  • index.php (4,57 kB - 37 mal heruntergeladen - zuletzt: 3. Mai 2012, 20:34)
  • connect.php (1,29 kB - 53 mal heruntergeladen - zuletzt: Gestern, 19:33)

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »andreaskeil« (31. Dezember 2008, 15:04)

 

Xsmur

Grünschnabel

Dabei seit: 30.12.2008

Beiträge: 8

 

3 Zum Seitenanfang

Donnerstag, 1. Januar 2009, 14:19

Hi,
erstmal ein fettes Danke an dich, für deine Arbeit.
Ich werde es sofort ausprobieren und dir dann das Ergebnis mitteilen.
Mfg, Prost Neujahr
Xsmur
 

MartyMcFly

Foren Gott

Dabei seit: 04.06.2003

Beiträge: 3 137

 

4 Zum Seitenanfang

Donnerstag, 1. Januar 2009, 14:49

Mach das nicht so kompliziert. Erstelle eine Loginmaske mit fest kodiertem Passwort, das kannst du in PHP dann abfragen.

Die Preise speicherst Du einfach in einer Textdatei, dafür brauchts keine Datenbank.

http://www.schattenbaum.net/php/datei.php erklärt Dir, wie das ganz einfach geht.
Du brauchst also nur ein HTML-Formular mit 4 Feldern für die Preise und einem Feld für das Passwort. Beim Absenden wird eine PHP aufgerufen, die das Passwort prüft und bei Erfolg die 4 Preise in eine Textdatei schreibt.

Marty
 

Xsmur

Grünschnabel

Dabei seit: 30.12.2008

Beiträge: 8

 

5 Zum Seitenanfang

Donnerstag, 1. Januar 2009, 15:46

Also ich habe jetzt erstmal die Methode von andreaskeil ausprobiert.
Da der Code in der connect.php (mit dem Tabelle erstellen) nicht geklappt hat, hab ich ihn mal etwas verändert, allerdings kommt etz immer ein Fehler:

MySQL-Abfrage(n)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 /* Die unteren Angaben bitte anpassen: */
  $dbserver = "localhost"; // DB-Server
  $dbuser = "klemax"; // DB-User
  $dbpw = "*******"; // DB-PW
  $db = "klemax"; // DB
  
  /* ab hier NICHTS mehr ändern */
  
  mysql_connect($dbserver, $dbuser, $dbpw) or die // hier wird die Verbindung aufgebaut
  ("Keine Verbindung moeglich");
  mysql_select_db($db) or die // hier wird die Datenbank ausgewählt
  ("Die Datenbank existiert nicht"); 
?>

Die Tabellen habe ich selbst angelegt.
Die index.php sieht folgendermaßen aus:

MySQL-Abfrage(n)

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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<?php
include('connect.php'); // Verbindung zur DB aufbauen
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tankstelle Lutz in Kredenbach - AdminControlPanel</title>
</head>
<body>

<?php
 if(!empty($_POST['send'])) { // wenn das Formular abgesendet wurde
  
 	// die Eingaben werden in einem Array gespeichert und mit 
 	// mysql_real_escape_string() werden SQL Injections abgefangen
 	$eingabe = array();
 	$eingabe['diesel'] = mysql_real_escape_string($_POST['diesel']);
 	$eingabe['benzin'] = mysql_real_escape_string($_POST['benzin']);
 	$eingabe['super'] = mysql_real_escape_string($_POST['super']);
 	$eingabe['superPlus'] = mysql_real_escape_string($_POST['superPlus']);
 	$eingabe['EinsZuFuenfzig'] = mysql_real_escape_string($_POST['EinsZuFuenfzig']);
 	// Fehlerabfrage
 	$fehler = array();
        $fehler['diesel'] = false;
        $fehler['benzin'] = false;
        $fehler['super'] = false;
        $fehler['superPlus'] = false;
 	$fehler['EinsZuFuenfzig'] = false;
  
 	if(empty($eingabe['diesel'])) {
          $fehler['diesel'] = true;
        }
        if(empty($eingabe['benzin'])) {
          $fehler['benzin'] = true;
        }
        if(empty($eingabe['super'])) {
          $fehler['super'] = true;
        }
        if(empty($eingabe['superPlus'])) {
          $fehler['superPlus'] = true;
        }
 	if(empty($eingabe['EinsZuFuenfzig'])) {
          $fehler['EinsZuFuenfzig'] = true;
        }
 	if(($fehler['diesel'] == true) || ($fehler['benzin'] == true) || ($fehler['super'] == true) || ($fehler['superPlus'] == true) || ($fehler['EinsZuFuenfzig'] == true)) { 
 	 
 		// weil nicht alle Felder ausgefüllt sind:
 		// Script beenden -> es erfolgt keine Speicherung
 		die('Sie müssen <b>alle</b> Felder ausfüllen, <b>auch wenn sich ein Preis nicht geändert hat</b>'); 
 	 
 	}
 	else {
 		// Eintragen
 		$sql = mysql_query("UPDATE spritpreise SET spritpreis = '".$eingabe['diesel']."' WHERE spritname = 'diesel'");
 	 
 		$sql = mysql_query("UPDATE spritpreise SET spritpreis = '".$eingabe['benzin']."' WHERE spritname = 'benzin'");
 	 
 		$sql = mysql_query("UPDATE spritpreise SET spritpreis = '".$eingabe['super']."' WHERE spritname = 'super'");
 	 
 		$sql = mysql_query("UPDATE spritpreise SET spritpreis = '".$eingabe['superPlus']."' WHERE spritname = 'superPlus'");
  

 		$sql = mysql_query("UPDATE spritpreise SET spritpreis = '".$eingabe['EinsZuFuenfzig']."' WHERE spritname = 'EinsZuFuenfzig'");
 	 
 	echo('Die Spritpreise wurden erfolgreich geändert. <a href="/acp/index.html">Hier</a> gelangen sie zurück zur Eingabemaske.');
  
 	die(mysql_error()); // SQL errors ausgeben und script beenden
 	}
 }
 else {
  
?>
 <!-- das Formular zum Daten eingeben -->
Bitte tragen Sie die aktuellen Spritpreise ein:
 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    	<table>
        	<tr>
            	<td>
                	Diesel:
              </td>
              <td>
               	   <input type="text" name="diesel" />
              </td>
  			</tr>
            <tr>
            	<td>
                	Benzin:
                </td>
                <td>
                	<input type="text" name="benzin" />
                </td>
            </tr>
            <tr>
            	<td>
                	Super:
                </td>
                <td>
                	<input type="text" name="super" />
                </td>
             </tr>
              <tr>
            	<td>
                	Super Plus:
                </td>
                <td>
                	<input type="text" name="superPlus" />
                </td>
             </tr>
              <tr>
            	<td>
                	Gemisch 1:50:
                </td>
                <td>
                	<input type="text" name="EinsZuFuenfzig" />
                </td>
             </tr>
             <tr>
             	<td>
                	<input type="hidden" name="send" value="1" />
                    <input type="submit" value="Eintragen" />
                </td>
             </tr>
          </table>
    </form>
    
    Aktuelle Spritpreise: <br />
    <?php
 	/* hier werden die zuletzt eingegebenen Preise ausgegeben: */
  
 	$sql = mysql_query("SELECT * FROM spritpreise");
 	while($row = mysql_fetch_assoc($sql)) {
 		echo $row['spritname'].":".$row['spritpreis']." <br />"; 
 	}
 ?>
    
<?php
 }
?>
</body>
</html>

Allerdings kommt dann beim Absenden immer folgender Fehler:

Zitat

Unknown column 'spritname' in 'where clause'

Vielleicht kannst du mir ja da helfen.
@ MartyMcFly
Ich werde mir gleich anschauen wie das geht, kann man das dann überhaupt ausgeben lassen usw. und auch in der Eingabemaske die aktuellen Preise anzeigen lassen? Fragt sich auch, wie ich das dann mache, das mir das Script die eingegeben Zahlen in die Ziffern-Bilder umwandelt. Und wieso soll ich da nochmal eine Passwort-Abfrage machen, der ganze Bereich ist doch schon per .htaccess geschützt.
Mfg und Danke
Xsmur
 

Dabei seit: 28.09.2007

Beiträge: 967

 

6 Zum Seitenanfang

Donnerstag, 1. Januar 2009, 17:16

Zitat


Allerdings kommt dann beim Absenden immer folgender Fehler:

Zitat

Unknown column 'spritname' in 'where clause'


Hast du in deiner Tabelle eine Spalte 'spritname'? Wenn nein (was wohl der Fall ist): erstelle eine Spalte spritname mit dem Datentyp Text (String).

Zitat


Da der Code in der connect.php (mit dem Tabelle erstellen) nicht geklappt hat, hab ich ihn mal etwas verändert, allerdings kommt etz immer ein Fehler:

In der connect.php werden auch keine Tabellen erstellt, das sind nur Kommentare, die Tabellen musst du selber erstellen ;)


ak
 

Xsmur

Grünschnabel

Dabei seit: 30.12.2008

Beiträge: 8

 

7 Zum Seitenanfang

Donnerstag, 1. Januar 2009, 18:12

Zitat

Hast du in deiner Tabelle eine Spalte 'spritname'? Wenn nein (was wohl der Fall ist): erstelle eine Spalte spritname mit dem Datentyp Text (String).

Habe ich gemacht.
Jetzt kommt auch kein Fehler mehr, allerdings übernimmt er die Daten leider nicht.

Zitat

In der connect.php werden auch keine Tabellen erstellt, das sind nur Kommentare, die Tabellen musst du selber erstellen

Achso, lol.^^
Ich bin echt langsam am Verzweifeln^^
Achja @MartyMcFly, mir ist die Methode mit der DB halt lieber.
Mfg, Xsmur
 

Ähnliche Themen