PHP Fomular umgestaltet

Gehe zu Seite Zurück  1, 2, 3  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Hilfe für Webmaster -> PHP / MySQL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
jobradio
Mitglied

Beitrag Antworten mit Zitat

Nun habe ich mich nicht mehr mit dem Formular rum geärgert.

Ich habe anhand eines Musters ein neues gebaut.

Darin sind Radioboxen, Checkboxen und Auswahllisten.

Die Frage ist nun, ob der php Code den ich als Muster von http://www.homepage-total.de/php/kontaktformular4.php habe, so nun richtig erweitert wurde und ob ich die Check-, Radioboxen und Auswahlfelder, richtig zur deklariert habe, hierzu habe ich im code mit den Kommentaren eingefügt.

CH = Checkbox, R = radiobox, AW = Auswahlfeld, TXT = normals textfeld, die restlichen nicht Kommentierten Zeilen dürften bekannt sein, funktionieren entsprechend auch so.

hier nun der Code
PHP-Code:
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
<?php
 error_reporting 
(E_ALL);
$vorname = isset($_POST["name"]) ? $_POST["name"] : ""//TXT
$adresse = isset($_POST["adresse"]) ? $_POST["adresse"] : "";//TXT
$plz_ort = isset($_POST["plz_ort"]) ? $_POST["plz_ort"] : "";//TXT
$email = isset($_POST["email"]) ? $_POST["email"] : "";//TXT
$betreff = isset($_POST["subject"]) ? $_POST["subject"] : "";//AW
$gebdatum = isset($_POST["geb_datum"]) ? $_POST["geb_datum"] : "";//TXT
$telefon = isset($_POST["telefon"]) ? $_POST["telefon"] : "";//TXT
$msn = isset($_POST["msn"]) ? $_POST["msn"] : "";//TXT
$icq = isset($_POST["icq"]) ? $_POST["icq"] : "";//TXT
$yahoo = isset($_POST["yahoo"]) ? $_POST["yahoo"] : "";//TXT
$skype = isset($_POST["skype"]) ? $_POST["skype"] : "";//TXT
$berufstaetig = isset($_POST["berufstaetig"]) ? $_POST["berufstaetig"] : "";//AW
$erfahrung = isset($_POST["erfahrung"]) ? $_POST["erfahrung"] : "";//AW
$erfahrung2 = isset($_POST["erfahrung2"]) ? $_POST["erfahrung2"] : "";//TXT
$musiktitel = isset($_POST["musiktitel"]) ? $_POST["musiktitel"] : "";//AW
$genre = isset($_POST["genres"]) ? $_POST["genres"] : "";//CH
$pcalter = isset($_POST["pcalter"]) ? $_POST["pcalter"] : "";//AW
$pcprozessort = isset($_POST["pc_prozessor"]) ? $_POST["pc_prozessor"] : "";//AW
$ram = isset($_POST["ram"]) ? $_POST["ram"] : "";//AW
$bs = isset($_POST["betriebssystem"]) ? $_POST["betriebssystem"] : "";//AW
$dsl = isset($_POST["dslleitung"]) ? $_POST["dslleitung"] : "";//AW
$micro = isset($_POST["microfon"]) ? $_POST["microfon"] : "";//AW
$mixer = isset($_POST["mischpult"]) ? $_POST["mischpult"] : "";//AW
$zuverlaessig = isset($_POST["zuverlaessig"]) ? $_POST["zuverlaessig"] : "";//AW
$puenktlich = isset($_POST["puenktlich"]) ? $_POST["puenktlich"] : "";//AW
$unterstuetzung = isset($_POST["unterstuetzung"]) ? $_POST["unterstuetzung"] : "";//AW
$beitrag = isset($_POST["beitrag"]) ? $_POST["beitrag"] : "";//AW
$beitrag2 = isset($_POST["beitrag2"]) ? $_POST["beitrag2"] : "";//TXT
$passbild = isset($_POST["passbild"]) ? $_POST["passbild"] : "";//AW
$aircheck = isset($_POST["aircheck"]) ? $_POST["aircheck"] : "";//AW
$nachricht = isset($_POST["nachricht"]) ? $_POST["nachricht"] : "";//TXT
$kopie_check = ((isset($_POST["kopie"])) ? ' checked="checked"' "");
$eingabefehler "";
$zufallszahl1 mt_rand(1100);
$zufallszahl2 mt_rand(19);
$ergebnis md5($zufallszahl1 $zufallszahl2);
$hexcode "&#" . (48 $zufallszahl2) . ";";
?>


Dazu gibt es am ende, wie im oben genannten Muster eine überprüfung mit anschliesendem Mailversand, selbst hier weis ich nicht ob alles nun richtig ist.

hier mal der Code
PHP-Code:
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
<?php
if (isset($_POST["vorname"])) {
 if (
strlen($vorname) <=  2) { // Vorname mindestens 2 Zeichen
  
$eingabefehler .= "&bull; Der Name ist zu kurz!<br>";
 }
 if (
strlen($adresse) <=  5) { // Adresse mindestens 5 Zeichen
  
$eingabefehler .= "&bull; Die Adresse ist zu kurz!<br>";
 }
 if (
strlen($plz_ort) <=  5) { // PLZ und Ort mindestens 5 Zeichen
  
$eingabefehler .= "&bull; PLZ und Ort ist zu kurz!<br>";
 }
 if (
strlen($gebdatum) <=  5) { // Nachname mindestens 5 Zeichen
  
$eingabefehler .= "&bull; das Geburtsdatum ist nicht ausgef&uuml;llt<br>(DD.MM.YYYY)<br>";
 }
 if (
strlen($berufstaetig) <=  1) { // Nachname mindestens 1 Zeichen
  
$eingabefehler .= "&bull; Bist du Berufst&auml;tig<br>";
 }
 if (!
preg_match("|^[_a-za-z0-9-]+(.[_a-za-z0-9-]+)*@([a-z0-9-]{3,})+.([a-za-z]{2,4})$|i"$email)) {
  
$eingabefehler .= "&bull; Fehler in der E-Mail-Adresse!<br>";
 }
 if (
strlen($betreff) <=  10) { // Betreff mindestens 10 Zeichen
  
$eingabefehler .= "&bull; Wof&uuml;r wollen sie sich bewerben<br>";
 }
 if (
strlen($telefon) <=  1) { // Nachname mindestens 1 Zeichen
  
$eingabefehler .= "&bull; Bitte eine Telefonnummer eintragen<br>";
 }
 if (
strlen($msn) <=  1) { // Nachname mindestens 1 Zeichen
  
$eingabefehler .= "&bull; Wenn vorhanden, ansonsten &quot;<b>X</b>&quot;<br>";
 }
 if (
strlen($yahoo) <=  1) { // Nachname mindestens 1 Zeichen
  
$eingabefehler .= "&bull; Wenn vorhanden, ansonsten &quot;<b>X</b>&quot;<br>";
 }
 if (
strlen($icq) <=  1) { // Nachname mindestens 1 Zeichen
  
$eingabefehler .= "&bull; Wenn vorhanden, ansonsten &quot;<b>X</b>&quot;<br>";
 }
 if (
strlen($skype) <=  1) { // Nachname mindestens 1 Zeichen
  
$eingabefehler .= "&bull; Wenn vorhanden, ansonsten &quot;<b>X</b>&quot;<br>";
 }
 if (
strlen($pcalter) <=  1) { // Nachname mindestens 1 Zeichen
  
$eingabefehler .= "&bull; bitte das alter deines PCs eintragen<br>";
 }
 if (
strlen($ram) <=  1) { // Nachname mindestens 1 Zeichen
  
$eingabefehler .= "&bull; bitte gib den Arbeitsspeicher<br>deines PCs an<br>";
 }
 if (
strlen($pcprozessor) <=  1) { // Nachname mindestens 1 Zeichen
  
$eingabefehler .= "&bull; welcher Prozessor ist in deinem PC verbaut<br>";
 }
 if (
strlen($bs) <=  1) { // Nachname mindestens 1 Zeichen
  
$eingabefehler .= "&bull; das Betriebssystem ist wichtig<br>";
 }
 if (
strlen($dsl) <=  1) { // Nachname mindestens 1 Zeichen
  
$eingabefehler .= "&bull; mit welcher DSL Geschwindugkeit<br>bist du im Internet<br>";
 }
 if (
strlen($micro) <=  1) { // Nachname mindestens 1 Zeichen
  
$eingabefehler .= "&bull; die Angabe des Mikrofon ist unvollständig<br>";
 }
 if (
strlen($mixer) <=  1) { // Nachname mindestens 1 Zeichen
  
$eingabefehler .= "&bull; verwendest du ein Mischpult<br>";
 }
 if (
strlen($nachricht) <=  20) { // Nachricht mindestens 20 Zeichen
  
$eingabefehler .= "&bull; Die Nachricht ist zu kurz!<br>";
 }
 if (
md5($_POST["zip"]) != $_POST["zip2"]) {
  
$eingabefehler .= "&bull; Der Spamschutz ist leider falsch!<br />";
 }

if (
$eingabefehler == "") {
  
## Hier Ihre Kontaktdaten eintragen
  # Ihr Name:
  
$webmaster "JRG Bewerbungsteam";

  
# Ihre E-Mail-Adresse:
  
$an "webmaster@jobradio-germany.org"", ";
  
$an .= "programmleitung@jobradio-germany.org"",";
  
$an .= "info@jobradio-germany.org"",";
  
$an .= "sendeleitung@jobradio-germany.org";

  
# Ihre Homepage-Adresse:
  
$url "www.jobradio-germany.org/home";
  
  
// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
  
$header  'MIME-Version: 1.0' "\r\n";
  
$header .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
  
$header2  'MIME-Version: 1.0' "\r\n";
  
$header2 .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";

  
// zusätzliche Header
  
$header .= 'To: Kalle <webmaster@jobradio-germany.org>, Maik <sendeleitung@jobradio-germany.org>, Guido <info@jobradio-germany.org>, Melanie <programmleitung@jobradio-germany.org>' "\r\n";
  
$header .= 'From: '.$email.'' "\r\n";
  
$header2 .= 'To: '.$vorname.' <'.$email.'>' "\r\n";
  
$header2 .= 'From: Bewerbungsteam <programmleitung@jobradio-germany.org>' "\r\n";

  
# Diese Nachricht wird an Ihre E-Mail-Adresse gesendet:
  
$text "Hallo,<br>";
  
$text .= "Sie haben eine Bewerbung von $vorname<br>";
  
$text .= "$adresse<br>";
  
$text .= "$plz_ort<br>";
  
$text .= "erhalten!<br><br>";
  
$text .= "===== Wichtige Daten =======<br>";
  
$text .= "$subject<br>";
  
$text .= "Geburtsdatum: $gebdatum<br>";
  
$text .= "Telefon: $telefon<br>";
  
$text .= "ICQ: $icq<br>";
  
$text .= "MSN: $msn<br>";
  
$text .= "Yahoo: $yahoo<br>";
  
$text .= "Skype: $skype<br>";
  
$text .= "Berufstätig: $berufstaetig<br>";
  
$text .= "Erfahrung: $erfahrung<br>";
  
$text .= "Letzte Radios: $erfahrung2<br>";
  
$text .= "Anzahl Musiktitel: $musiktitel<br>";
  
$text .= "Musikrichtungen: $genre<br><br>";
  
$text .= "===== Technische Daten =======<br>";
  
$text .= "PC Alter: $pcalter<br>";
  
$text .= "Prozessor: $pcprozessor<br>";
  
$text .= "Arbeitsspeicher: $ram<br>";
  
$text .= "Betriebssystem: $bs<br>";
  
$text .= "DSL Leitung: $dsl<br>";
  
$text .= "Welches Microfon: $micro<br>";
  
$text .= "Mischpult: $mixer<br><br>";
  
$text .= "===== Erweiterte Daten =======<br><br>";
  
$text .= "Zuverlaessig: $zuverlaessig<br>";
  
$text .= "Puenktlich: $puenktlich<br>";
  
$text .= "Unterstützen: $unterstuetzung<br>";
  
$text .= "Beitrag: $beitrag<br>";
  
$text .= "Betrag: $beitrag2<br>";
  
$text .= "Passbild: $passbild<br>";
  
$text .= "Aircheck: $aircheck<br>";
  
$text .= "====NACHRICHT des Bewerbers=====<br>"
  
$text .= "$nachricht<br>====<br><br>";
  
$text .= "Sie können $vorname $adresse unter dieser E-Mail: $email erreichen.";

  
# Eine Kopie der Anfrage an das Postfach des Besuchers:
  
$kopie "\nHallo $vorname,\n";
  
$kopie .= "vielen Dank für Ihre Bewerbung bei $url.<br> \n";
  
$kopie .= "Wir haben ihr Angaben erhalten und werden diese schnellst möglich bearbeiten:<br>\n\n";
  
$kopie .= "Hier noch die nachricht die sie selbst eingegeben haben.<br>\n";
  
$kopie .= "===== Beginn Nachricht =====<br>\n";
  
$kopie .= "$nachricht<br>\n";
  
$kopie .= "===== Ende Nachricht =====<br>\n\n";
  
$kopie .= "Viele Grüße<br>\n";
  
$kopie .= "$webmaster<br>\n";
  
$kopie .= "<br>";
  
$kopie .= "===== Ihre Angaben =====<br>\n";
  
$kopie .= "$vorname<br>";
  
$kopie .= "$adresse<br>";
  
$kopie .= "$plz_ort<br>";
  
$kopie .= "erhalten!<br><br>";
  
$kopie .= "===== Wichtige Daten =======<br>";
  
$kopie .= "$subject<br>";
  
$kopie .= "Geburtsdatum: $gebdatum<br>";
  
$kopie .= "Telefon: $telefon<br>";
  
$kopie .= "ICQ: $icq<br>";
  
$kopie .= "MSN: $msn<br>";
  
$kopie .= "Yahoo: $yahoo<br>";
  
$kopie .= "Skype: $skype<br>";
  
$kopie .= "Berufstätig: $berufstaetig<br>";
  
$kopie .= "Erfahrung: $erfahrung<br>";
  
$kopie .= "Letzte Radios: $erfahrung2<br>";
  
$kopie .= "Anzahl Musiktitel: $musiktitel<br>";
  
$kopie .= "Musikrichtungen: $genre<br><br>";
  
$kopie .= "===== Technische Daten =======<br>";
  
$kopie .= "PC Alter: $pcalter<br>";
  
$kopie .= "Prozessor: $pcprozessor<br>";
  
$kopie .= "Arbeitsspeicher: $ram<br>";
  
$kopie .= "Betriebssystem: $bs<br>";
  
$kopie .= "DSL Leitung: $dsl<br>";
  
$kopie .= "Welches Microfon: $micro<br>";
  
$kopie .= "Mischpult: $mixer<br><br>";
  
$kopie .= "===== Erweiterte Daten =======<br><br>";
  
$kopie .= "Zuverlaessig: $zuverlaessig<br>";
  
$kopie .= "Puenktlich: $puenktlich<br>";
  
$kopie .= "Unterstützen: $unterstuetzung<br>";
  
$kopie .= "Beitrag: $beitrag<br>";
  
$kopie .= "Betrag: $beitrag2<br>";
  
$kopie .= "Passbild: $passbild<br>";
  
$kopie .= "Aircheck: $aircheck<br>";

  @
mail($an$betreff$text$header2);
    echo 
"<div style=\"position:fixed; bottom:0px; left:0px\">";
  echo 
$vorname "<br>" $adresse "<br>".$plz_ort.",<br>Ihre Nachricht wurde gesendet<br>Vielen Dank!";

  if (isset(
$_POST["kopie"])) {
   @
mail($email"Kopie Ihrer Bewerbung"$kopie"From: " $an);
   echo
"<br>Sie erhalten eine Best&auml;tigung Ihrer Bewerbung an Ihr Postfach.";
   echo 
"</div>";
  } 
 }

 else {
    echo 
"<div style=\"position:fixed; bottom:0px; left:0px\">";
  echo 
"<span style=\"color: #EE0000\"><strong>Bitte korrigieren:</strong><br>";
  echo 
$eingabefehler "</span>" $formular;
 echo 
"</div>";
}
}

else { 
 echo 
$formular;
}
?>

Am ende steht das echo $formular, das habe ich noch nicht aktiviert, da diese formular erst optimiert werden soll, später im eigentlichen einsatz wird alles im php Code ausgeführt.

Fehlermeldungen werden nicht angezeigt, was mir komisch erschein da es bei den Grunddaten bis zum geburtsdatum noch klappte, erst als weitere Daten deklariert wurden, funktionierte die überprüfung und der Versand der Email nicht mehr.

Ich denke ich habe in einem oder beiden Codes einen leichten bis Schwerwiegenden Fehler drinnen, da ich zwar Erfahren aber leider kein Profi in Sachen PHP bin, lass ich lieber euch darüber schauen, Ihr findet schneller eine Fehler als ich.

LG Jobradio
23 Jan 2010 11:31
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
axinio Internet Marketing
Werner
Homepage-Total.de
Moderator

Beitrag Antworten mit Zitat

Fehler finde ich keine.
Warum werden die E-Mails als HTML-Datei versandt,
nur wegen den BR-Tags?

Wenn du PHP 5 hast, kannst du anstatt:
PHP-Code:
1
2
3
if (!preg_match("|^[_a-za-z0-9-]+(.[_a-za-z0-9-]+)*@([a-z0-9-]{3,})+.([a-za-z]{2,4})$|i"$email)) {
  
$eingabefehler .= "&bull; Fehler in der E-Mail-Adresse!<br>";
 } 

filter_var() verwenden:
PHP-Code:
1
2
3
if (!filter_var($emailFILTER_VALIDATE_EMAIL)) {
 
$eingabefehler .= "&bull; Fehler in der E-Mail-Adresse!<br>";

_________________
Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt
23 Jan 2010 22:22
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jobradio
Mitglied

Beitrag Antworten mit Zitat

Hallo Werner,
danke für den php 5 code zum überprüfen der Email, seit dem einbau funktionierte auch die anzeigewieder aber du hast es nicht gesehen und ich auch, bis gestern abend

Code:
if (isset($_POST["vorname"])) {

sollte doch so sein oder nicht
Code:
if (isset($_POST["submit"])) {

(vorheriger Post 2. Code zeile 14 oder 15)

die Überprüfung wuste doch nicht wann es was zu überprüfen gab, denn genau da wo vorname steht habe ich submit eingetragen und komisch nun funktioniert alles.

Kleiner Fehler mit großen Folgen (oder auch gar keinen)

Das einzige problem was ich nun noch mit dem Formular habe ist das es noch nicht in die Datenbank geschrieben wird, in der Ausgabe (echo) wird alles richtig angezeigt selbst der Prefix, nur die tabelle ist leer und ich weiss leider noch nicht warum.

das ist der Code den ich verwendet habe
Code:

include ("modules/bwf/config.php");
$query ="";
$time = time();
$conn = @mysql_connect($dbhost, $dbuname, $dbpass);
if (!$conn)
{
die("Sorry, Datenbank nicht gefunden !");
}
mysql_select_db($dbname,$conn);
mysql_query($query,$conn);
$query = "INSERT INTO ".$prefix."_intern_bewerber VALUES ('$vorname', '$adresse', '$plz_ort', '$email', '$betreff', '$gebdatum', '$telefon', '$msn', '$icq', '$yahoo', '$skype', '$berufstaetig', '$erfahrung', '$erfahrung2', '$musiktitel', '$genre', '$pcalter', '$pcprozessor', '$ram', '$bs', '$dsl', '$micro', '$mixer', '$zuverlaessig', '$puenktlich', '$unterstuetzung', '$beitrag', '$beitrag2', '$passbild', '$aircheck', '$nachricht', " . time() . ")";
echo $query;
mysql_close($conn);
  echo mysql_error();


Vieleicht hast du ja eine andere möglichkeit bzw besseren code um die daten in die DB zu schreiben.

LG Jobradio
25 Jan 2010 04:01
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
Werner
Homepage-Total.de
Moderator

Beitrag Antworten mit Zitat

So kann das auch nicht funktionieren:
PHP-Code:
1
2
3
4
5
mysql_query($query,$conn);
$query "INSERT INTO ".$prefix."_intern_bewerber VALUES ('$vorname', 
'$adresse', '$plz_ort', '$email', '$betreff', '$gebdatum', '$telefon', '$msn', '$icq', '$yahoo', '$skype', '$berufstaetig', '$erfahrung', '$erfahrung2', 
'$musiktitel', '$genre', '$pcalter', '$pcprozessor', '$ram', '$bs', '$dsl', 
'$micro', '$mixer', '$zuverlaessig', '$puenktlich', '$unterstuetzung', '$beitrag', '$beitrag2', '$passbild', '$aircheck', '$nachricht', " 
time() . ")"

Zuerst $query setzen

_________________
Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt
25 Jan 2010 09:35
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jobradio
Mitglied

Beitrag Antworten mit Zitat

Danke, habe ich mir fast gedacht,
habe ich aber mitlerweile anders gelöst, anhand eines deiner Beispiele auf http://www.homepage-total.de, das funktioniert, bestens.

Anhand dieses Beispieles werde ich auch zwei weitere Formulare gestalten, aber keine Formulare die Online sind, alles Formulare um Administrativ nicht immer im Code arbeiten zu müssen bei den wichtigesten aufgaben.

LG Jobradio
25 Jan 2010 12:33
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
jobradio
Mitglied

Beitrag Antworten mit Zitat

Ich vergass, etwas zu fragen, da ich mit diesen beiden benötigten Funktionen noch nie gearbeitet habe.

Ich habe zu dem Formular eine Abfrage geformt, diese soll nun eine Druck und PDF Speicherfunktion bekommen,
später wenn die anderen geplanten Module fertig sind, zusätzlich noch eine Funktion, zum verschieben in ein andere DB-Tabelle.

Die Verschieben und Löschfunktion sind mir bekannt.

Was währe hier der richtige Ansatz.

LG Jobradio
25 Jan 2010 19:10
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
jobradio
Mitglied

Beitrag Antworten mit Zitat

So und nun habe ich ein Problem, das sogar eine kumpel von mir Probleme bereitet.

Ich rufe datensätze aus der DB ab, aber wenn ich nun einen Erledigten Datensatz löschen will, löscht das alles aus der Tabelle und verschiebt es ins Archiv.

Das verschieben ist ja vollkommen ok nur es soll ja nur den Datensatz löschen der auch erledigt ist und nicht alle.

hier mal der code zur anzeige und löschen/verchieben.

Code:
      <?php
       $id = isset($_POST["id"]) ? $_POST["id"] : ""; //TXT
     $kat = isset($_POST["kat"]) ? $_POST["kat"] : ""; //TXT
     $betreff = isset($_POST["betreff"]) ? $_POST["betreff"] : ""; //TXT
     $text = isset($_POST["text"]) ? $_POST["text"] : ""; //TXT

   $sql = "SELECT * FROM `".$prefix."_intern_redaktion`";
   $datensaetze = mysql_query($sql);
   
   while (list($id, $betreff, $kat, $datum, $text, $time) = mysql_fetch_row($datensaetze))
{
      echo "<form action=\"\" method=\"post\">";
      echo "<table style=\"background-color:#000\"><tr><td>";
      echo "<div class=\"footmsg\" size=\"8pt\">".$datum."&nbsp;".$time."</div><br>";
      echo "News ID <b name=\"id\" value=\"id\">".$id."</b> Kategorie: <b name=\"kat\" value=\"kat\">".$kat."</b><br>";
      echo "<div class=\"title\">Schlagzeile: <b name=\"betreff\" value=\"betreff\">".$betreff."</b></div><br>";
      echo "<br>";
      echo "<div class=\"content\" name=\"text\" value=\"text\">".$text."</div>";
      echo "</td></tr><tr><td><hr>";
      echo " <label><input type=\"submit\" name=\"submit\" id=\"submit\" value=\"erledigt\" /></label>";
      echo "</td></tr></table></form>";
if (isset($_POST["submit"])) {
   $sql = "DELETE FROM `".$prefix."_intern_redaktion` WHERE `id` = '".$id."' LIMIT 1";
   if (mysql_query($sql)) {
      echo "<table width=\"97%\" border=\"0\" align=\"center\" cellpadding=\"2\" cellspacing=\"2\">
      <tr valign=\"middle\" align=\"center\"><td><h2>Die Schlagzwile ".$betreff." wurde als erledigt gekennzeichnet.</h2>";
      }
   echo mysql_error();
   
   $sql = "INSERT INTO `".$prefix."_intern_archiv` VALUES ('', '$betreff', '$kat', '$date', '$text', '$time')";
   if (mysql_query($sql)) {
      echo "<table width=\"97%\" border=\"0\" align=\"center\" cellpadding=\"2\" cellspacing=\"2\">
      <tr valign=\"middle\" align=\"center\"><td><h2>Die Schlagzwile ".$betreff." wurde als erledigt gekennzeichnet.</h2>";
      }  echo mysql_error();
      echo "</td></tr></table>";
      }
   }
?>


ich denke mir das ich warscheinlich wieder mal einen array erstellen muss um einzelne Datensätze löschen zu können.

Eine Beispielseite kann ich leider nicht bieten da diese Seite passwortgeschützt ist und nur bestimmte Personen Zugriff haben um unseren Ablauf nicht zu gefärden.

Hoffe einer von euch weiss einen besseren lösungsweg.

LG Jobradio
09 Feb 2010 23:17
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
Werner
Homepage-Total.de
Moderator

Beitrag Antworten mit Zitat

Hier liegt der Fehler drin:
PHP-Code:
1
echo "News ID <b name=\"id\" value=\"id\">".$id."</b> Kategorie: <b name=\"kat\" value=\"kat\">".$kat."</b><br>"

Die $id wird nicht gesendet (kein Input-Tag vorhanden!!)
PHP-Code:
1
echo "News ID <input type=\"radio\" name=\"id\" value=\"".$id."\"> <b>".$id."</b> Kategorie: <b name=\"kat\" value=\"kat\">".$kat."</b><br>"

Noch ein Fehler
Zitat:
echo " <label><input type=\"submit\" name=\"submit\" id=\"submit\" value=\"erledigt\" /></label>";

"name" und "id" dürfen nicht den gleichen Inhalt haben.

_________________
Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt
10 Feb 2010 11:08
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jobradio
Mitglied

Beitrag Antworten mit Zitat

Hallo Werner,
tja das war es auch nicht, denn es werden immer noch alle datensätze gelöscht und nicht nur der eine Besagte.

Das mit dem ID und name im Submittag hat mit Dreamweaver automatisch si gemacht, ich nehme normalerweise die id da immer raus.

Habe das ganze nun mit $row['id'] umgeschrieben und nun funktioniert es.

hier der Code wie ich es gelöst habe.


PHP-Code:
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
<?php
      $id 
= isset($_POST["id"]) ? $_POST["id"] : ""//TXT
     
$kat = isset($_POST["kat"]) ? $_POST["kat"] : ""//TXT
     
$betreff = isset($_POST["betreff"]) ? $_POST["betreff"] : ""//TXT
     
$text = isset($_POST["text"]) ? $_POST["text"] : ""//TXT

extract($_REQUEST);
include (
"config.php");
$sql "";
// Verbindung zur Datenbank-herstellen
$conn mysql_connect($dbhost$dbuname$dbpass) or die("Konnte keine Verbindung zur Datenbank herstellen!" mysql_error());
if (!
$conn)
{
die(
"Sorry, Datenbank nicht gefunden !");
}
mysql_select_db($dbname) or die("Die Datenbank ist momentan nicht erreichbar!" mysql_error());

   
$sql "SELECT * FROM `".$prefix."_intern_redaktion`";
   
$datensaetze mysql_query($sql,$conn);
   
print_r($datensaetze);

while(
$row mysql_fetch_array($datensaetze)){
$id $row['id'];
$titel $row['betreff'];
      echo 
"<form action=\"\" method=\"post\">";
      echo 
"<table style=\"background-color:#000\"><tr><td>";
      echo 
"<div class=\"footmsg\" size=\"8pt\">".$row['datum']."&nbsp;".$row['time']."</div><br>";
      echo 
"News ID <b name=\"".$id."\" value=\"".$id."\">".$row['id']."</b> Kategorie: <b name=\"kat\" value=\"".$row['kat']."\">".$row['kat']."</b><br>";
      echo 
"<div class=\"title\">Schlagzeile: <b name=\"".$betreff."\" value=\"".$betreff."\">".$row['betreff']."</b></div><br>";
      echo 
"<br>";
      echo 
"<div class=\"content\" name=\"text\" value=\"".$row['text']."\">".$row['text']."</div>";
      echo 
"</td></tr><tr><td><hr>";
      echo 
" <label><input type=\"submit\" name=\"submit\" id=\"submit\" value=\"erledigt\" /></label>";
      echo 
"</td></tr></table></form>";
}
if (isset(
$_POST["submit"])) {
   
$sql "DELETE FROM `".$prefix."_intern_redaktion` WHERE `id` = '".$id."' LIMIT 1";
   if (
mysql_query($sql)) {
      echo 
"<table width=\"97%\" border=\"0\" align=\"center\" cellpadding=\"2\" cellspacing=\"2\">
      <tr valign=\"middle\" align=\"center\"><td>Die Schlagzeile "
.$titel." mit der ID ".$id." wurde als erledigt gekennzeichnet.";
      }
   echo 
mysql_error();
   
   
$sql "INSERT INTO `".$prefix."_intern_archiv` VALUES ('', '$betreff', '$kat', '$date', '$text', '$time')";
   if (
mysql_query($sql)) {
      echo 
"<table width=\"97%\" border=\"0\" align=\"center\" cellpadding=\"2\" cellspacing=\"2\">
      <tr valign=\"middle\" align=\"center\"><td>Die Schlagzeile "
.$titel." mit der ID ".$id." wurde  ins archiv Verschoben.";
      }  echo 
mysql_error();
      echo 
"</td></tr></table>";
      }
     
// }
mysql_query($sql,$conn);
mysql_close($conn);
?>


irgend etws muss ich da ber noch machen da ich in der ausgabe noch Resource id #10 etc stehen habe, ich denke mal das es eine ausgabe von print_r ist und das hatten wir schon einmal, da ging es darum Bilder in einem array kompletieren und dann untereinander ausgeben.

Aber wo dieser Thread wieder ist bzw. wo ich diese Datei wieder habe??

LG Jobradio[/code]
10 Feb 2010 12:29
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
Werner
Homepage-Total.de
Moderator

Beitrag Antworten mit Zitat

Zitat:
print_r($datensaetze);

$datensaetze ist kein Array sondern ein Handle (Ressource identifier)

_________________
Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt
10 Feb 2010 13:02
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
axinio Internet Marketing
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Hilfe für Webmaster -> PHP / MySQL Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2, 3  Weiter
Seite 2 von 3

 
Gehe zu: