rocky112
Goto Top

Variable bei top.location.href

Hallo Leute,

ich habe ein Formular, in dem mehrere Werte eingetragen werden. Hier lasse ich unter andrerem den Bearbeiter seinen Namen eintragen. Ich möchte jetzt, dass nach Abschluss der Werte in die DB eine Weiterleitung auf folgen Link gemacht wird:

notiz_eintragen.php?name=NAME_DES_BEARBEITERS.

Ganz am Ende des Quellcodes seht ihr das Javascript, mit dem ich das machen will. Oder geht das auch anders?

<script type="text/javascript">  
  <!--
  function disable(objCheckbox, objTextfeld){
    objTextfeld.disabled = (objCheckbox.checked) ? true : false;
  }
    //-->
</script>

<html>
<head>
<title>Bischofberger Notzi eintragen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
<link rel="stylesheet" href="style.css">  

<style type="text/css">  
<!--
.Stil2 {font-family: Verdana, Arial, Helvetica, sans-serif}
.Stil4 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; }
.Stil5 {font-size: 12px}
.Stil3 {
	font-size: 18px;
	font-weight: bold;
}
-->
</style>

</head>
<body>
<? if($_GET["action"] == "" || !isset($_GET["action"])) { ?>  
<form action="notiz_eintragen.php?action=save" method="post" enctype="multipart/form-data" name="notiz_eintragen">  
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="2" style="border:1px solid #b60000;">  
    <tr valign="middle" bgcolor="#F1F1F1">   
      <td height="40" colspan="8" style="border-bottom:2px solid #888888"> <p align="center" class="Stil3"><font color="#000000" face="Trebuchet MS"><u>Notiz   
          eintragen:</u></font></p></td>

    </tr>
    <tr bgcolor="#F1F1F1">   
      <td width="38" valign="middle" bgcolor="#F1F1F1" class="Stil5 Stil2 "><font color="#000000">Zeit:</font></td>  
      <td width="87" valign="middle" bgcolor="#F1F1F1"><span class="Stil4 Stil2 Stil5"><font color="#000000">   
      <font color="#000000">  
      <input name="hour" maxlength="5" style="width: 30px;" type="text">   
      </font> :<font color="#000000">  
      <input name="min" maxlength="5" style="width: 30px;" type="text">   
      </font></font></span></td>
      <td width="84" valign="middle" bgcolor="#F1F1F1">Kennzeichen:<span class="Stil4 Stil2 Stil5"><font color="#000000">  
      </font></span></td>
      <td width="42" valign="middle" bgcolor="#F1F1F1"><span class="Stil4 Stil2 Stil5"><font color="#000000">  
        <input name="kennzeichen" type="text" id="titel22" size="7" maxlength="40">  
      </font></span></td>
      <td width="30" valign="middle" bgcolor="#F1F1F1">Text:</td>  
      <td width="670" valign="middle" bgcolor="#F1F1F1"><span class="Stil4 Stil2 Stil5"><font color="#000000">  
        <input name="text" type="text" id="titel5" value="" size="100">  
      </font></span></td>
      <td width="76" valign="middle" bgcolor="#F1F1F1">Bearbeiter</td>  
      <td width="472" valign="middle" bgcolor="#F1F1F1"><span class="Stil4 Stil2 Stil5"><font color="#000000">  
        <input name="bearbeiter" type="text" id="bearbeiter" value="<? echo  htmlspecialchars($_GET["name"]) ; ?>" size="10" maxlength="10">  
        <input type="submit" name="button" value="Notiz eintragen" >  
</font></span></td>
    </tr>
    <tr> 
      <td colspan="8"><div align="center"> <font color="#000000"><span class="Stil2"><span class="Stil5"><span class="Stil5"></span></span></span>   
          </font></div></td>

    </tr>
  </table>
</form>
<? } ?>
<? if($_GET["action"] == "save") { ?>  
<?php 

	if($_POST["kennzeichen"] !='' && $_POST["text"] !='' && $_POST["bearbeiter"] !='' ) {  
		
		if(empty($_POST["hour"]) || empty($_GET["min"])) {  
			$zeit = time();
		} else {
			$zeit = mktime($_POST["hour"],$_POST["min"],0,date("m"),date("d"),date("Y"));  
		}
		
		
		
include 'config.php';											// Konfigurationsdatei laden  

mysql_connect($sqlhost, $sqluser, $sqlpass) OR die(mysql_error());
    mysql_select_db($sqldb) OR die(mysql_error());
    	// Hier kann man jetzt MySQL-Querys senden

		mysql_query("INSERT INTO spedition  
					    (
                			zeit, 
							kennzeichen, 
							text, 
							bearbeiter,
							erledigt

						)
					VALUES
					    (
							'$zeit',  
							'$_POST[kennzeichen]',  
							'$_POST[text]',  
							'$_POST[bearbeiter]',  
							'0'  
						);
					")   

							OR

	       die("Konnte die Tabelle nicht auswählen");  



		echo'##red|<script type="text/javascript">  
					setTimeout("self.location.href=\'notiz_eintragen.php?name=HIER_SOLLTE_DER_NAME_DES_BEARBEITERS_STEHEN\'",1000);  
				</script>##
				<table width="329" style="border:1px solid #dddddd" border="0" align="center" cellpadding="0" cellspacing="10">  
  <tr>
    <td><span class="Erfolg">NOTIZ ERFOLGREICH EINGETRAGEN </span></td>  
  </tr>
</table>';  
	} else {
		echo'<table width="402" style="border:1px solid #dddddd" border="0" align="center" cellpadding="0" cellspacing="10">  
  <tr>
    <td><div align="center"><span class="Fehler">. ES TRAT EIN FEHLER AUF </span></div></td>  
  </tr>
  <tr>
    <td style="padding-left:10px;"><div align="center"><span class="Stil15"><a href="javascript:history.go(-1)">zur&uuml;ck</a></span></div></td>  
  </tr>
</table>';  
	}

?>
<? } ?>
</body>

</html>

Content-ID: 147617

Url: https://administrator.de/contentid/147617

Ausgedruckt am: 19.11.2024 um 23:11 Uhr

dog
dog 25.07.2010 um 20:40:14 Uhr
Goto Top
Bischofberger Notzi

Das hört sich an wie eine Lokalspezialität, die ich nicht probieren will face-wink

<? if($_GET["action"] == "" || !isset($_GET["action"])) { ?>  

Die Reihenfolge ist falsch und abgekürzt hätte mal es geschrieben als if(empty($_GET['action']))

enctype="multipart/form-data"  

Ich sehe nicht, dass du in dem Forumlar eine Datei hochlädst.
Das ist also überflüssig.

VALUES
(
'$zeit',  
'$_POST[kennzeichen]',  
'$_POST[text]',  
'$_POST[bearbeiter]',  
'0'  
);

Und wieder mal eine SQL-Injection-Lücke...

Ich sehe nicht, warum es hier notwendig sein sollte den Namen des Bearbeiters als GET zu übertragen und den Rest als POST...?
Rocky112
Rocky112 25.07.2010 um 21:23:36 Uhr
Goto Top
danke für deine antwort, aber das war nicht die antwort auf meine frage.

wie kann ich in folgendem code die variable BEARBEITER hinter name= aufrufen?

	<script type="text/javascript">  
		setTimeout("self.location.href=\'notiz_eintragen.php?name=BEARBEITER\'",1000);  
		</script>

vielen dank!
dog
dog 25.07.2010 um 21:29:52 Uhr
Goto Top
Eine andere Antwort wirst du von mir nicht bekommen, wenn du mir nicht den Sinn dahinter erklärst.
Rocky112
Rocky112 25.07.2010 um 21:33:57 Uhr
Goto Top
der bearbeiter gibt seinen namen ein und dieser name soll im formular bei bearbeiter sofort wieder eingetragen werden, da aber mehrere leute parallel daran arbeiten kann ich nicht einfach den letzten wert auslesen lassen. darum gebe ich ihn per ?name=BEARBEITER weiter
dog
dog 25.07.2010 um 21:55:57 Uhr
Goto Top
Wie man hier zu sagen pflegt: Häääää?

Alles was dein Code macht (theoretisch, wenn der denn richtig wäre) ist die Seite nach einer Sekunde neu laden.
Es gibt aber nur ein "Bearbeiter"-Input-Feld und warum sollte ich dort den Wert mit sich selbst über das neuladen der Seite ersetzen wollen?

Deutlicher, bitte.
Rocky112
Rocky112 25.07.2010 um 21:59:39 Uhr
Goto Top
also ich rufe die seite mit folgender url auf:

notiz_eintragen.php?name=BEARBEITER

jetzt wird im feld bearbeiter der wert als standart eingetragen, er kann aber geändert werden.

wenn man jetzt auf notiz eintragen klick soll die meldung "notiz eingetragen" kommen. hier sollte nach wenigen sekunden der link "notiz_eintragen.php?name=BEARBEITER" aufgerufen werden. sprich wenn der Bearbeiter auf eintragen klick soll die url vom anfang (s.o.) aufgerufen werden.

sorry aber ich weis nicht wie ich es sonst erklären soll.

vielen dank schonmal.

grüße
dog
dog 25.07.2010 um 22:22:03 Uhr
Goto Top
OK, aber wo ist dann das Problem?
<script type="text/javascript">  
	setTimeout(function(){
		self.location.href = "notiz_eintragen.php?name=<?php echo $_POST['bearbeiter'] ?>";  
	},1000);
</script>
Rocky112
Rocky112 25.07.2010 um 22:37:19 Uhr
Goto Top
super danke dir,

ich habs jetzt aber so gemacht:

<script type="text/javascript">  
		setTimeout("self.location.href=\''.$link.'\'",1000);  
		</script>

da das ganze in nem echo steht.

sorry habs ned extra geschrieben, weil ich dachte man sieht es am quelltext.

vielen vielen dank trotzdem!

grüßle