PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

14-09-2003, 14:56
|
mukraker
Master
|
|
Registriert seit: Jul 2002
Beiträge: 836
|
|
form problem
Mein button in der form sieht so aus:
<input type="submit" name="wedit" value="edit">
soweit das script(auszug)
PHP-Code:
<?php
if ( isset($_POST['weidt']) ) {
//wird nicht unbedingt gebraucht, aber sicher ist sicher
if ($_POST['ecpid'] == "" OR $_POST['ectid'] =="" OR $_POST['eduration'] =="") {
$wediterror = "Bitte Projektnummer, Arbeitstyp, Dauer wählen";
echo "<hr>error <--";
} else {
//update
echo "<hr>update <--";
$uworkquery = $DBase->query(" UPDATE
".$prefix."_worksheet
SET
pid='".$_POST['ecpid']."',
tid='".$_POST['ectid']."',
duration='".$_POST['eduration']."',
info='".$_POST['einfo']."'
WHERE
wid='".$_POST['ewid']."'");
header('Location: '. $_SERVER['REQUEST_URI'].'');
}
} else {
echo "<hr>ausgabe ecpid-".$_POST['ecpid']."ectid->".$_POST['ectid']."eduraiton->".$_POST['eduration'];
?>
Problem:
Ich bekomme immer <hr>ausgabe ausgegeben die POST werte enthalten die richtigen werte. warum ist die if oben nie true ?
__________________
thx Mukraker
|

14-09-2003, 14:59
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Weil du zu D**F bist zum schreiben!!!
PHP-Code:
if ( isset($_POST['weidt']) ) {
und jetzt weiche...
|

14-09-2003, 15:12
|
mukraker
Master
|
|
Registriert seit: Jul 2002
Beiträge: 836
|
|
ohhps, ne daran lags aber nicht
__________________
thx Mukraker
|

14-09-2003, 15:13
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
hätte ich jetzt auch gesagt,
|

14-09-2003, 15:15
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
wenn die variable gesetzt ist, und du das berichtigt hast, dann geht das auch. andere fehlerquelle (außer DU) gibt es nicht!
|

14-09-2003, 15:16
|
mukraker
Master
|
|
Registriert seit: Jul 2002
Beiträge: 836
|
|
na muper
jetzt sind alle $_POST[] werte leer wenn ich edit(submit) drücke
__________________
thx Mukraker
|

14-09-2003, 15:23
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
kann ich die Seite sehen?
|

14-09-2003, 15:31
|
mukraker
Master
|
|
Registriert seit: Jul 2002
Beiträge: 836
|
|
sry ist im moment nur offline bei mir aufm PC
aber wenn mehr php code hilft
------------------------------
PHP-Code:
###### ersten teil füllen
//daten aus db holen
$sql = "SELECT
*
FROM
".$prefix."_worksheet
WHERE
YEAR(date)=".$intjahr." AND
MONTH(date)=".$intmonat." AND
DAYOFMONTH(date)=".$intday." AND
eid = ".$euserid."";
$worksheetquery = $DBase->query($sql);
$anz = $DBase->num_rows();
#### pulldown felder aufbereiten
//projektnummer aufbereiten
$cpid .="<select name=\"cpid\">\n";
$cpid .= "<option value=\"\">wählen</option>";
$projektquery = $DBase->query(" SELECT
*
FROM
".$prefix."_projekt
WHERE
status=1");
while ($row = mysql_fetch_object($projektquery)) {
$datum = date ("my", strtotime($row->date));
$fpid = $datum.$row->pid;
//i wenn länger als 20 zeichen kürzen
if (strlen($row->name) > "20") {
$name = substr($row->name, 0 ,17)."...";
} else {
$name = $row->name;
}
$cpid .= "<option ".$selected." value=\"".$row->pid."\">".$fpid." ".$name."</option>\n";
}
$cpid .= "</select>";
//arbeitstype aufbereiten aufbereiten
$ctid .="<select name=\"ctid\">\n";
$ctid .= "<option value=\"\">wählen</option>";
$typequery = $DBase->query(" SELECT
*
FROM
".$prefix."_type");
while ($row = mysql_fetch_object($typequery)) {
$ctid .= "<option value=\"".$row->tid."\">".$row->name."</option>\n";
}
$ctid .= "</select>";
//duration
$zeiten = array('00:05','00:10', '00:15', '00:20', '00:30', '00:45', '01:00', '01:30', '02:00', '02:30', '03:00', '03:30', '04:00', '04:30', '05:00');
$duration .= "<select name=\"duration\">";
$duration .= "<option value=\"\">wählen</option>";
foreach ($zeiten as $wert) {
$duration .="<option value=".$wert.">".$wert."</option>\n";
}
$duration .= "</select>\n";
### ende puldown menu
//wenn nichts gefunden
if ($anz == 0) {
$error = "keine daten für diesen tag gefunden";
}
//wenn daten gefunden anzeigen
$worksheet .= "<table width=\"100%\">\n";
$worksheet .= "<tr class=\"headercontent\">\n<td>Projekt</td>\n<td>Tätigkeit</td>\n<td>Dauer</td>\n<td>Info</td>\n<td>Option</td>\n</tr>\n";
while ($row = mysql_fetch_object($worksheetquery)){
//projektname suchen
$projektquery = $DBase->query("SELECT
*
FROM
".$prefix."_projekt
WHERE
status = '1' AND
pid = '".$row->pid."'");
$prow = mysql_fetch_object($projektquery);
$datum = date ("my", strtotime($prow->date));
//wenn projektname zu lang
if (strlen($prow->name) > "20") {
$name = substr($row->name, 0 ,17)."...";
} else {
$name = $prow->name;
}
$fpid = $datum.$prow->pid." ".$name;
//typname suchen
$typquery = $DBase->query("SELECT
name
FROM
".$prefix."_type
WHERE
tid='".$row->tid."'");
$trow = mysql_fetch_object($typquery);
$typ=$trow->name;
//ausgabe
//ausgabe wenn etwas geändert werden soll
if (isset($_GET['ewid']) AND $_GET['ewid'] == $row->wid) {
//eingaben checken
//wenn wir auf dem aktuellen tag sind gibt es noch keine getdaten
if ( isset($_POST['wedit']) ) {
//wird nicht unbedingt gebraucht, aber sicher ist sicher
if ($_POST['ecpid'] == "" OR $_POST['ectid'] =="" OR $_POST['eduration'] =="") {
$wediterror = "Bitte Projektnummer, Arbeitstyp, Dauer wählen";
echo "<hr>error <--";
} else {
//update
echo "<hr>update <--";
$uworkquery = $DBase->query(" UPDATE
".$prefix."_worksheet
SET
pid='".$_POST['ecpid']."',
tid='".$_POST['ectid']."',
duration='".$_POST['eduration']."',
info='".$_POST['einfo']."'
WHERE
wid='".$_POST['ewid']."'");
header('Location: '. $_SERVER['REQUEST_URI'].'');
}
} else {
echo "<hr>->ausgabe wedit-".$_POST['wedit']."ecpid->".$_POST['ecpid']."eduraiton->".$_POST['eduration'];
### pulldowns nochmal auflisten diesmal mit select ###
//projektnummer aufbereiten
$scpid .="<select name=\"ecpid\">\n";
$projektquery = $DBase->query(" SELECT
*
FROM
".$prefix."_projekt
WHERE
status=1");
while ($prow = mysql_fetch_object($projektquery)) {
//abfragen was gewählt war
if ($row->pid == $prow->pid) {
$selected = "selected";
} else {
$selected ="";
}
$datum = date ("my", strtotime($row->date));
$fpid = $datum.$prow->pid;
//i wenn länger als 20 zeichen kürzen
if (strlen($prow->name) > "20") {
$name = substr($prow->name, 0 ,17)."...";
} else {
$name = $prow->name;
}
$scpid .= "<option ".$selected." value=\"".$prow->pid."\">".$fpid." ".$name."</option>\n";
}
$scpid .= "</select>";
//arbeitstype aufbereiten aufbereiten
$sctid .="<select name=\"ectid\">\n";
$typequery = $DBase->query(" SELECT
*
FROM
".$prefix."_type");
while ($trow = mysql_fetch_object($typequery)) {
//abfragen was gewählt war
if ($row->tid == $trow->tid) {
$selected = "selected";
} else {
$selected ="";
}
$sctid .= "<option ".$selected." value=\"".$trow->tid."\">".$trow->name."</option>\n";
}
$sctid .= "</select>";
//duration
$zeiten = array('00:05','00:10', '00:15', '00:20', '00:30', '00:45', '01:00', '01:30', '02:00', '02:30', '03:00', '03:30', '04:00', '04:30', '05:00');
$sduration .= "<select name=\"eduration\">";
foreach ($zeiten as $wert) {
//abfragen was gewählt war
if ($row->duration == $wert) {
$selected = "selected";
} else {
$selected ="";
}
$sduration .="<option ".$selected." value=".$wert.">".$wert."</option>\n";
}
$sduration .= "</select>\n";
### ende puldown menu
//$worksheet .= "<tr>\n<td>".$cpid."</td>\n<td>".$ctid."</td>\n<td>".$row->duration." Stunden</td>\n<td>".$row->info."</td>\n<td><input type=\"button\" name=\"edit\" value=\"edit\"><input type=\"hidden\" name=\"worksheet\" value=\"".$row->wid."\"></td>\n</tr>\n";
$worksheet .= "<form name=\"workupdate\" action=\"\" method=\"post\"><tr>\n<td valign=\"top\">".$scpid."</td>\n<td valign=\"top\">".$sctid."</td>\n<td valign=\"top\">".$sduration."</td>\n<td><textarea name=\"einfo\" cols=\"50\" rows=\"4\" id=\"info\">".$row->info."</textarea></td>\n<td valign=\"top\"><input type=\"submit\" name=\"wedit\" value=\"edit\"><input type=\"hidden\" name=\"ewid\" value\"".$_GET['ewid']."\"></td>\n</tr>\n</form>";
}
} else {
###wenn wir auf dem aktuellen tag sind
//$worksheet .= "<tr>\n<td>".$fpid."</td>\n<td>".$typ."</td>\n<td>".$row->duration." Stunden</td>\n<td>".$row->info."</td>\n<td><a href=\"". $PHP_SELF."?day=".$gday."&month=".$gmonth."&year=".$gyear."&ewid=".$row->wid."\">edit</a></td>\n</tr>\n";
$worksheet .= "<tr>\n<td>".$fpid."</td>\n<td>".$typ."</td>\n<td>".$row->duration." Stunden</td>\n<td>".$row->info."</td>\n<td><a href=\"". $PHP_SELF."?day=".$gday."&month=".$gmonth."&year=".$gyear."&ewid=".$row->wid."\">edit</a></td>\n</tr>\n";
}
}
$worksheet .= "</table>";
__________________
thx Mukraker
Geändert von mukraker (14-09-2003 um 15:39 Uhr)
|

14-09-2003, 15:41
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
tu ma post und get am anfang der datei ausgeben.
Zitat:
if (isset($_GET['ewid']) AND $_GET['ewid'] == $row->wid) {
|
(ist richtig, oder?)
|

14-09-2003, 15:46
|
mukraker
Master
|
|
Registriert seit: Jul 2002
Beiträge: 836
|
|
komisch, wenn ich meine schreibfehler von oben wieder einbaue sind die POST werte wieder voll
__________________
thx Mukraker
|

14-09-2003, 15:49
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
waren das mehrere schreibfehler?
was zeigt die ausgabe von post/get?
|

14-09-2003, 15:53
|
mukraker
Master
|
|
Registriert seit: Jul 2002
Beiträge: 836
|
|
ohne den "einen" tipfehler
------POST und GET ausgabe (oben, unten) leer
(if wird trotzdem nciht erfüllt)
mit dem einen tipfehler
----------POST und GET ausgabe (oben, unten) voll
super merkwürdig
__________________
thx Mukraker
|

14-09-2003, 16:02
|
mukraker
Master
|
|
Registriert seit: Jul 2002
Beiträge: 836
|
|
ich habs *G*
konnte keiner finden
ich hatte bei der value eines hidden fields dein "=" vergessen.
das soll mal einer finden in einer
600 zeilen langen template und 600 zeilen langer php file
trotzdem danke
__________________
thx Mukraker
|

14-09-2003, 16:04
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
du sollst mir sagen was da drin steht!!!
steht das ganz am anfang?
wann guckst du nach? vor/nach dem absenden?
was steht in der url?
seid wann programmierst du offline?
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|