| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
jobradio Mitglied

|
 |
|
|
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(1, 100);
$zufallszahl2 = mt_rand(1, 9);
$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 .= "• Der Name ist zu kurz!<br>";
}
if (strlen($adresse) <= 5) { // Adresse mindestens 5 Zeichen
$eingabefehler .= "• Die Adresse ist zu kurz!<br>";
}
if (strlen($plz_ort) <= 5) { // PLZ und Ort mindestens 5 Zeichen
$eingabefehler .= "• PLZ und Ort ist zu kurz!<br>";
}
if (strlen($gebdatum) <= 5) { // Nachname mindestens 5 Zeichen
$eingabefehler .= "• das Geburtsdatum ist nicht ausgefüllt<br>(DD.MM.YYYY)<br>";
}
if (strlen($berufstaetig) <= 1) { // Nachname mindestens 1 Zeichen
$eingabefehler .= "• Bist du Berufstä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 .= "• Fehler in der E-Mail-Adresse!<br>";
}
if (strlen($betreff) <= 10) { // Betreff mindestens 10 Zeichen
$eingabefehler .= "• Wofür wollen sie sich bewerben<br>";
}
if (strlen($telefon) <= 1) { // Nachname mindestens 1 Zeichen
$eingabefehler .= "• Bitte eine Telefonnummer eintragen<br>";
}
if (strlen($msn) <= 1) { // Nachname mindestens 1 Zeichen
$eingabefehler .= "• Wenn vorhanden, ansonsten "<b>X</b>"<br>";
}
if (strlen($yahoo) <= 1) { // Nachname mindestens 1 Zeichen
$eingabefehler .= "• Wenn vorhanden, ansonsten "<b>X</b>"<br>";
}
if (strlen($icq) <= 1) { // Nachname mindestens 1 Zeichen
$eingabefehler .= "• Wenn vorhanden, ansonsten "<b>X</b>"<br>";
}
if (strlen($skype) <= 1) { // Nachname mindestens 1 Zeichen
$eingabefehler .= "• Wenn vorhanden, ansonsten "<b>X</b>"<br>";
}
if (strlen($pcalter) <= 1) { // Nachname mindestens 1 Zeichen
$eingabefehler .= "• bitte das alter deines PCs eintragen<br>";
}
if (strlen($ram) <= 1) { // Nachname mindestens 1 Zeichen
$eingabefehler .= "• bitte gib den Arbeitsspeicher<br>deines PCs an<br>";
}
if (strlen($pcprozessor) <= 1) { // Nachname mindestens 1 Zeichen
$eingabefehler .= "• welcher Prozessor ist in deinem PC verbaut<br>";
}
if (strlen($bs) <= 1) { // Nachname mindestens 1 Zeichen
$eingabefehler .= "• das Betriebssystem ist wichtig<br>";
}
if (strlen($dsl) <= 1) { // Nachname mindestens 1 Zeichen
$eingabefehler .= "• mit welcher DSL Geschwindugkeit<br>bist du im Internet<br>";
}
if (strlen($micro) <= 1) { // Nachname mindestens 1 Zeichen
$eingabefehler .= "• die Angabe des Mikrofon ist unvollständig<br>";
}
if (strlen($mixer) <= 1) { // Nachname mindestens 1 Zeichen
$eingabefehler .= "• verwendest du ein Mischpult<br>";
}
if (strlen($nachricht) <= 20) { // Nachricht mindestens 20 Zeichen
$eingabefehler .= "• Die Nachricht ist zu kurz!<br>";
}
if (md5($_POST["zip"]) != $_POST["zip2"]) {
$eingabefehler .= "• 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ä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 |
|
  |
Werner Homepage-Total.de Moderator

|
 |
|
|
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 .= "• Fehler in der E-Mail-Adresse!<br>";
} |
filter_var() verwenden: | PHP-Code: | 1 2 3
| if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$eingabefehler .= "• 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 |
|
 |
jobradio Mitglied

|
 |
|
|
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 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
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 |
|
 |
jobradio Mitglied

|
 |
|
|
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 |
|
 |
jobradio Mitglied

|
 |
|
|
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 |
|
 |
jobradio Mitglied

|
 |
|
|
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." ".$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 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
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 |
|
 |
jobradio Mitglied

|
 |
|
|
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']." ".$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 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
| 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 |
|
 |
|