Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

UPDATE MySQL Befehl von Formular funktioniert nicht

Frage Entwicklung PHP

Mitglied: Unleashed

Unleashed (Level 1) - Jetzt verbinden

28.04.2009, aktualisiert 02.05.2009, 4627 Aufrufe, 6 Kommentare

Hallo, versuch eine hardware liste zu erstellen. Update Funktion auf die mysql DB funktioniert nicht.

Hallo,
Ich soll eine Hardwareliste für meinen Admin machen.
Die Ausgabe wenn Daten in der MySQL-DB drinstehen hab ich schon. Neue PC´s eintragen hab ich auch schon fertig und funktionieren auch prima nur das ändern der Datensätze fehlt mir noch.

Mein Problem ist das wenn ich auf Speichern drücke er mir den SQL-Befehl nicht ausführt. Auch die Echo´s in der if wo der Sql-Befehl liegt werden nicht angezeigt. Ich bekomm eine ganz leere Seite zurück.
In das Formular nimmt er die aktuellen Daten von der Datenbank schon mithinein. Die Select Befehle funktionieren also alle.


Ich werd hier mal das ganze Skript posten.

Kleine Info noch. Ich geh von der Seite wo ich die PC`s aufliste mit einem link auf die bearbeitungs Seite.
<a href="bearbeiten.php?action=' . $_POST['ID'] .'">Bearbeiten</a>

Damit Ihr wisst woher die ID kommt.

Bei den echo´s vor dem SQL-Befehl kommen folgende werte gleich wenn ich die Seite aufrufe heraus:

var_dump ($_POST); = array(1) { ["action"]=> string(1) "1" }
var_dump ($_POST['sp']); = NULL
var_dump ($_POST['action']); = string(1) "1"


Vielleicht kann mir einer von euch helfen und findet den kleinen Fehler


01.
 
02.
<?php  
03.
 
04.
require_once("db_config.php"); 
05.
 
06.
$db_sel = mysql_select_db( 'hardwareliste'); 
07.
 
08.
 
09.
$pc_sel = mysql_query("SELECT user, ID FROM hardware_list ORDER BY user"); 
10.
 
11.
		echo
12.
		<html> 
13.
			<head> 
14.
			<link rel="stylesheet" type="text/css" href="style.css"
15.
			</head> 
16.
		<body class="eintrag"
17.
		 
18.
			<form name="PC bearbeiten" action="'. $_SERVER['PHP_SELF'] . '"  
19.
				method="POST" enctype="text/html">'; 
20.
		 
21.
 
22.
		 
23.
//Wird dann angezeigt wenn man einen PC ausgewählt hat.  
24.
if ( $_GET['action'] != ""
25.
26.
	$_POST = $_GET
27.
 
28.
	 
29.
	//Auswahl für die Aktuellen-Daten des PC´s 
30.
$alt_erg 	= mysql_query("SELECT * FROM hardware_list WHERE ID = ". $_POST['action'] ." ORDER BY pc_name"); 
31.
$alt_dat 	= mysql_fetch_array ($alt_erg); 
32.
	 
33.
 
34.
	 
35.
// Auswahl der anderen Daten von verschiedenen Tabellen 
36.
$lie_erg 	= mysql_query("SELECT li_name FROM hw_lieferanten ORDER BY li_name"); 
37.
$of_erg 	= mysql_query("SELECT of_name FROM hw_office ORDER BY of_name"); 
38.
$os_erg 	= mysql_query("SELECT os_name FROM hw_operation_sys ORDER BY os_name"); 
39.
$he_erg 	= mysql_query("SELECT he_name FROM hw_hersteller ORDER BY he_name"); 
40.
$pers_erg	= mysql_query("SELECT pers_nachname, pers_vorname FROM person ORDER BY pers_nachname"); 
41.
$art_erg 	= mysql_query("SELECT art_name FROM hw_art ORDER BY art_name"); 
42.
$lauf_erg	= mysql_query("SELECT laufwerke_name FROM hw_laufwerke ORDER BY laufwerke_name"); 
43.
$ip_erg 	= mysql_query("SELECT ip_nummer FROM hw_ip ORDER BY ip_nummer"); 
44.
$spei_erg	= mysql_query("SELECT speicher_name FROM hw_speicher ORDER BY id"); 
45.
	 
46.
	 
47.
	 
48.
	 
49.
	 
50.
//Ausgabe des Formulars 
51.
			 
52.
echo '			 
53.
<center> 
54.
<p><b>PC bearbeiten.</b></p> 
55.
 
56.
<table border="0px" class="eintrag"
57.
<tr > 
58.
   <td>PC-NAME: </td> 
59.
   <td><input type="text" name="pc_name" value="'. $alt_dat['pc_name'] .'" size="50" maxlenght="50" /></td> 
60.
</tr> 
61.
					 
62.
<tr> 
63.
    <td>USER: </td> 
64.
<td> 
65.
<select size="1" name="user"
66.
						 
67.
<!-- Alten Datensatz Anzeigen.--> 
68.
<option value="'. $alt_dat['user'].'">'. $alt_dat['user'].'</option>'; 
69.
							 
70.
// Datensatz aus Tabelle anzeigen 					 
71.
while ($datensatz = mysql_fetch_array ($pers_erg)) 
72.
{	 
73.
									 
74.
echo '<option value="'. $datensatz['pers_nachname'] .', '. $datensatz['pers_vorname'] .'">' 
75.
	. $datensatz['pers_nachname'] .', '. $datensatz['pers_vorname'].'</option>\n'; 
76.
77.
echo '</select> 
78.
</td> 
79.
</tr> 
80.
 
81.
<tr> 
82.
 
83.
<td>Kauf- Monat/Jahr: </td> 
84.
 
85.
<td>M<input type="text" name="kaufmonat" value="'.$alt_dat['kauf_m'] .'" size="2" maxlenght="2" /> 
86.
J<input type="text" name="kaufjahr" value="'.$alt_dat['kauf_j'] .'" size="4" maxlenght="4" /></td> 
87.
</tr> 
88.
					 
89.
<tr> 
90.
<td>Bauart: </td> 
91.
<td> 
92.
<select size="1" name="art"
93.
						 
94.
<!-- Alten Datensatz --> 
95.
<option value="'. $alt_dat['art'] .'">'. $alt_dat['art'] .'</option>'; 
96.
							 
97.
// Datensatz aus Tabelle anzeigen 
98.
while ($datensatz = mysql_fetch_array($art_erg)) 
99.
100.
echo '<option value="'. $datensatz['art_name'] .'">' 
101.
.$datensatz['art_name'] .'</option>\n'; 
102.
103.
echo '</select> 
104.
</td> 
105.
</tr> 
106.
					 
107.
<tr> 
108.
<td>Hersteller: </td> 
109.
<td> 
110.
<select size="1" name="hersteller"
111.
							 
112.
<!-- Alten Datensatz --> 
113.
<option value="'. $alt_dat['hersteller'] .'">'. $alt_dat['hersteller'] .'</option>'; 
114.
 
115.
// Datensatz aus Tabelle anzeigen 
116.
while ($datensatz = mysql_fetch_array($he_erg)) 
117.
118.
echo '<option value="'. $datensatz['he_name'] .'">' 
119.
. $datensatz['he_name'] .'</option>\n'; 
120.
121.
echo '</select> 
122.
</td>			 
123.
</tr> 
124.
					 
125.
<tr> 
126.
<td>Leasing/Kauf: </td> 
127.
<td> 
128.
<input type="radio" name="kaufart" value="Leasing" size="10" maxlenght="10" />Leasing<br> 
129.
<input type="radio" name="kaufart" value="Kauf" size="10" maxlenght="10" />Kauf<br> 
130.
<input type="radio" name="kaufart" value="Eigen Bau" size="10" maxlenght="10" />Eigen Bau</td> 
131.
</tr> 
132.
					 
133.
<tr> 
134.
<td>Lieferant: </td> 
135.
<td> 
136.
<select size="1" name="lieferanten"
137.
 
138.
<!-- Alten Datensatz --> 
139.
<option value="'. $alt_dat['lieferanten'] .'">'. $alt_dat['lieferanten'] .'</option>'; 
140.
	 
141.
// Datensatz aus Tabelle anzeigen. 
142.
while ($datensatz = mysql_fetch_array ($lie_erg)) 
143.
144.
echo '<option value="'. $datensatz['li_name'] .'">' 
145.
. $datensatz['li_name']. '</option>\n';  
146.
147.
echo '</select> 
148.
</td> 
149.
</tr> 
150.
					 
151.
<tr> 
152.
<td>Lieferanten-Nummer: </td> 
153.
<td><input type="text" name="lieferanten_nummer" value="'.$alt_dat['lieferanten_nr'] .'" size="20"  
154.
maxlenght="20"/></td> 
155.
</tr> 
156.
					 
157.
<tr> 
158.
<td>Inventar-Nummer: </td>  
159.
<td><input type="text" name="inventar_nummer" value="'.$alt_dat['inventar_nummer'].'"  
160.
size="20" maxlenght="50" /></td> 
161.
</tr> 
162.
					 
163.
<tr> 
164.
<td>Office-Version: </td> 
165.
<td> 
166.
<select size="1" name="office"
167.
<option value="'.$alt_dat['office'] .'">'.$alt_dat['office'].'</option>'; 
168.
while ($datensatz = mysql_fetch_array ($of_erg)) 
169.
170.
echo '<option value="'. $datensatz['of_name'] .'">'. $datensatz['of_name']. '</option>'; 
171.
}			 
172.
echo '</select> 
173.
</td> 
174.
</tr> 
175.
<tr> 
176.
<td>Betriebssystem: </td> 
177.
<td> 
178.
<select size="1" name="operation"
179.
<option value="'. $alt_dat['operation'].'">'. $alt_dat['operation'].'</option>'; 
180.
while ($datensatz = mysql_fetch_array($os_erg)) 
181.
182.
echo '<option value="'. $datensatz['os_name'] .'">'. $datensatz['os_name'] .'</option>'; 
183.
184.
echo '</select> 
185.
</td> 
186.
</tr> 
187.
					 
188.
<tr> 
189.
<td>IP-Adresse: </td> 
190.
<td> 
191.
<select size="1" name="ip-adressen_vorne"
192.
<option value="'. $alt_dat['ip_adresse_a'].'">'. $alt_dat['ip_adresse_a'].'</option>'; 
193.
while ($datensatz =mysql_fetch_array($ip_erg)) 
194.
195.
echo '<option value="'. $datensatz['ip_nummer'] .'">'. $datensatz['ip_nummer'] .'</option>'; 
196.
197.
echo '</select> 
198.
<input type="text" name="ip-adresse_endung" value="'.$alt_dat['ip_adresse_b'] .'" size="4"  
199.
maxlenght="50" /> 
200.
</td> 
201.
</tr> 
202.
					 
203.
<tr> 
204.
<td>Motherboard: </td> 
205.
<td><input type="text" name="motherboard" value="'. $alt_dat['motherboard'] .'" size="20"  
206.
maxlenght="50" /></td> 
207.
</tr> 
208.
					 
209.
<tr> 
210.
<td>Grafikkarte: </td> 
211.
<td><input type="text" name="grafikkarte" value="'.$alt_dat['grafik'] .'" size="20"  
212.
maxlenght="50" /></td> 
213.
</tr> 
214.
					 
215.
<tr> 
216.
<td>Arbeitsspeicher: </td> 
217.
<td> 
218.
<select size="1" name="arbeitsspeicher"
219.
<option value="'.$alt_dat['speicher'] .'">'.$alt_dat['speicher'].'</option>'; 
220.
while ($datensatz = mysql_fetch_array($spei_erg)) 
221.
222.
echo '<option value="'. $datensatz['speicher_name'] .'">'. $datensatz['speicher_name'] .'</option>'; 
223.
224.
echo '</select> 
225.
</td> 
226.
</tr> 
227.
					 
228.
<tr> 
229.
<td>CPU: </td> 
230.
<td><input type="text" name="cpu" value="'. $alt_dat['cpu'] .'" size="20" maxlenght="50" /></td> 
231.
</tr> 
232.
 
233.
<tr> 
234.
<td>Festplattenspeicher: </td> 
235.
<td><input type="text" name="festplattenspeicher" value="'.$alt_dat['hdd'].'" size="20"  
236.
maxlenght="50" /></td> 
237.
</tr> 
238.
					 
239.
<tr> 
240.
<td>Laufwerke: </td> 
241.
<td> 
242.
<select size="1" name="laufwerke"
243.
<option value="'.$alt_dat['laufwerk'] .'">'.$alt_dat['laufwerk'] .'</option>'; 
244.
while ($datensatz = mysql_fetch_array($lauf_erg)) 
245.
246.
echo '<option value="'. $datensatz['laufwerke_name'] .'">'. $datensatz['laufwerke_name'] .'</option>'; 
247.
248.
echo '</select> 
249.
</td> 
250.
</tr> 
251.
</table> 
252.
<input type="hidden" name="sp" value="1"
253.
<input type="Submit" name="speichern" value="Speichern"/> 
254.
</center> 
255.
</form> 
256.
</body> 
257.
</html>'; 
258.
 
259.
							 
260.
//SQL-Befehl 
261.
var_dump ($_POST); 
262.
echo ('<br>'); 
263.
var_dump ($_POST['sp']); 
264.
echo ('<br>'); 
265.
var_dump ($_POST['action']); 
266.
 
267.
if ( $_POST['sp'] == "1"
268.
269.
echo ('Eintrag wurde geändert.'); 
270.
echo ('<br>'); 
271.
var_dump ($_POST['sp']); 
272.
								 
273.
$sql = " UPDATE hardware_list "
274.
$sql .= " SET "
275.
$sql .= " pc_name = '". $_POST['pc_name']."', "
276.
$sql .= " user = '". $_POST['user'] ."', "
277.
$sql .= " art = '". $_POST['art'] ."', "
278.
$sql .= " kauf_m = '". $_POST['kaufmonat'] ."', "
279.
$sql .= " kauf_j = '". $_POST['kaufjahr'] ."', "
280.
$sql .= " hersteller = '". $_POST['hersteller'] ."', "
281.
$sql .= " kauf_leasing = '". $_POST['kaufart'] ."', "
282.
$sql .= " inventar_nummer = '". $_POST['inventar_nummer'] ."', "
283.
$sql .= " lieferanten = '". $_POST['lieferanten'] ."', "
284.
$sql .= " lieferanten_nr = '". $_POST['lieferanten_nummer'] ."', "
285.
$sql .= " ip_adresse_a = '". $_POST['ip-adressen_vorne'] ."', "
286.
$sql .= " ip_adresse_b = '". $_POST['ip-adresse_endung'] ."', "
287.
$sql .= " operation = '". $_POST['operation'] ."', "
288.
$sql .= " office = '". $_POST['office'] ."', "
289.
$sql .= " motherboard = '". $_POST['motherboard'] ."', "
290.
$sql .= " grafik = '". $_POST['grafikkarte'] ."', "
291.
$sql .= " speicher = '". $_POST['arbeitsspeicher'] ."', "
292.
$sql .= " cpu = '". $_POST['cpu'] ."', "
293.
$sql .= " hdd = '". $_POST['festplattenspeicher'] ."', "
294.
$sql .= " laufwerk = '". $_POST['laufwerke'] ."'"
295.
$sql .= " WHERE ID = '". $_POST['action'] ."'"
296.
 
297.
echo ($sql); 
298.
								 
299.
$db_erg = mysql_query ($sql); 
300.
								 
301.
if ( ! $db_erg
302.
303.
die ('Ungültiger Abfrage: '. mysql_error()); 
304.
305.
 
306.
								 
307.
}echo ($sql);	 
308.
309.
?> 
310.
 
311.
 
Mitglied: godlie
28.04.2009 um 14:41 Uhr
Hallo,
bring den Code mal in eine lesbare Form, dann kann man mal darüber sehen so ist das Zeug unlesbar.

grüße
Bitte warten ..
Mitglied: nxclass
28.04.2009 um 20:44 Uhr
- mach am Anfach den Scripts mal immer:
01.
echo 'POST: ' . print_r($_POST,true) . "<br>\n"; 
02.
echo 'GET: ' . print_r($_GET,true) . "<br>\n";
und prüfe ob die Formular Daten deinen Vorstellungen entsprechen.

- schon mal den Befehl 'addslashes()' benutzt !?

- prüfe mal den generierten HTML code (wird dein FORM auch immer geschlossen ?)

PS:
01.
// für HTML Code mit einfachen Variablen... 
02.
echo <<<__HTML__ 
03.
<h1>{$array[$key])</h1> 
04.
__HTML__;  
05.
 
06.
// ebenso kann man sich die SQL Befehle so besser anschauen 
07.
$sql = <<<__SQL__ 
08.
SELECT `wert` 
09.
FROM `tabelle` 
10.
WHERE `anderer_wert` = {$value}; 
11.
__SQL__;
Bitte warten ..
Mitglied: Unleashed
29.04.2009 um 09:38 Uhr
Hi nxclass

Form wird geschlossen.

also wenn ich die Seite das erste mal aufrufe bekomm ich bei POST nichts rein und bei GET

GET: Array ( [action] => 1 )

So wenn ich jetzt was eintrage bekomm ich das.

01.
POST: Array ( [pc_name] => sdfgsfdgsdfg [user] => [kaufmonat] => [kaufjahr] => [art] => [hersteller] => [lieferanten] => [lieferanten_nummer] => [inventar_nummer] => [office] => [operation] => [ip-adressen_vorne] => [ip-adresse_endung] => [motherboard] => sdfgsdfg [grafikkarte] => [arbeitsspeicher] => [cpu] => [festplattenspeicher] => [laufwerke] => [speichern] => Speichern ) 
02.
GET: Array ( [action] => 1 ) 
Hab bei motherboard nur was eingetragen, das bei pc_name stand schon drin. also werden daten schon übergeben.

Bezüglich des Befehls 'addslashes()', sehe den Verwendungszweck des Befehls in meinem Skript nicht.

Das mit der Formatierung. ja stimm oke ich werds bei mir mal ändern. ^^

Merci.
Bitte warten ..
Mitglied: nxclass
29.04.2009 um 11:37 Uhr
ok ... dann ändere doch mal die Zeile 267 in
01.
if ( $_POST['speichern'] == "Speichern")
dann ist das versteckte Input Feld (sp) auch nicht nötig.

Den Sinn des 'addslashes()' Befehls wird Dir klar, wenn mal sowas wie ' in deinen Variablen für die SQL Anweisung seht.

Musst Du in der Zeile 26 das gesamte $_POST Array überschreiben ? -evtl. gehen da Daten verloren !?
Wenn Du dir nicht sicher bist ob die Daten über 'post' oder 'get' kommen, benutze doch $_REQUEST.

.. nun sollte er aber ein SQL String bauen und ausführen !? Wie sieht den der SQL String aus ?
Bitte warten ..
Mitglied: Unleashed
29.04.2009 um 11:50 Uhr
hey Danke hab selber gefunden.

und zwar.:

Er hat mir die ID nicht mitgenommen. Hab jetzt alles in $_GET gemacht und in der if ne isset gesetzt.
Jetzt geht er mir rein. zeigt den sql string an und führt ihn auch aus. Problem war dann nur noch mit der ID.

Hab den Feld gemacht wo er die ID von $_GET['action'] auf nen anderen namen gesetzt hat. in meinem fall ist es jetzt pc-id. der wird angezeigt und value auch wieder weiter gegebn jetzt funktioniert es.

Wenn du Willst kann ich dir den ganzen Code auch nochmal schicken.

Aber Thema ist damit gelöst.
Bitte warten ..
Mitglied: masterG
02.05.2009 um 08:33 Uhr
Zitat von Unleashed:
Aber Thema ist damit gelöst.


Und damit closed
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(2)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows 8
gelöst Update auf Windows 8.1 funktioniert nicht (11)

Frage von KMP1988 zum Thema Windows 8 ...

Windows Update
Windows Update funktioniert nicht in Virtual Box (7)

Frage von donfigo zum Thema Windows Update ...

Windows Update
Windows Update funktioniert nicht mehr? Eine Lösung des Problems (2)

Tipp von ovu-p86 zum Thema Windows Update ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...