Archivlink: javarea.de Forum > PHP, MySQL & CGI > bräuchte nochmal hilfe
Vollständigen Link anzeigen: javarea.de Forum > PHP, MySQL & CGI > bräuchte nochmal hilfe
Pages: [1]
2
3
4
... nächste »
... Letzte »
| geschrieben von H3LLFIRE am 08.05.2007 - 20:15 |
hi...und zwar!
wenn man bei einem formular den button "submit" gedrück hat! und die daten, die in den feldern gestanden haben alle ERFOLGREIHC auf der datenbank eingetragen sind, würd ich gerne haben, dass der browser das fenster von alleine schliesst! Ist das irgendwie mögich?
falls ihr noch informationen benötigt, die euch das denken erleichtern, dann schreibt grad, was ihr wissen müsst ;)
in diesem sinne |
| geschrieben von Micha am 08.05.2007 - 20:23 |
| ... wer öffnet das Fenster bzw. wem "gehört es"? |
| geschrieben von H3LLFIRE am 08.05.2007 - 22:55 |
fenster öffne ich selbst, in dem ich auf einen link klicke!
soll ein gästebuch werden. ich klicke an, eintrag hinzufügen, fenster geht auf, ich kann alles eintragen und abschicken und wenn alles richtig abgeschickt ist, sollte der browser es selbstständig schliessen, so dass man wieder das gästebuch sieht ;) |
| geschrieben von René am 09.05.2007 - 09:18 |
... wenn alles richtig war dann per JavaScript
top.close(); |
| geschrieben von Micha am 09.05.2007 - 13:02 |
Hi,
nur Fenster, die mit JS geöffnet wurden, können auch geschlossen werden. Ein self.close() geht sonst nicht.
Micha |
| geschrieben von Matneu am 09.05.2007 - 14:34 |
| Zitat | | | Original geschrieben von H3LLFIRE am 08.05.2007 - 22:55
fenster öffne ich selbst, in dem ich auf einen link klicke! |
Wenn eh schon Javascript genutzt wird würde ich sowas eher mit AJAX machen. Ist 1. momentan eh "total in" und 2. sieht es wesentlich besser aus als wenn sich ein richtiges Browserfenster öffnet bzw. man kann das erstellte "Fenster" komplett selbst definieren. Also Titelleiste, Rand etc.
So far...
Matthias |
| geschrieben von Micha am 09.05.2007 - 16:06 |
Hi,
ich muss gestehen, ich würde das Formular einfach ins GB einbauen - über den Einträgen. Ein sumbit trägt 1. den Eintrag ein und sorgt auch für ein "refresh" der Daten. Das scheint mir die eleganteste Lösung zu sein...
Micha |
| geschrieben von H3LLFIRE am 09.05.2007 - 16:34 |
hmm...
dann werd ich das mal versuchen ^^
danke für deine überlegung =) |
| geschrieben von H3LLFIRE am 03.06.2007 - 23:36 |
hi jungs...
konnte länger nicht on kommen, da es meinen pc ziemlich schwer erwischt hatte...
so ich habe folgenden skript gefunden
| PHP-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
|
<?
In einer externen Datei wird das Skript gespeichert (z.B. myscripts.js) :
Code:
function fenster(winname,breite,hoehe) {
var links=screen.width/2-breite/2;
var oben=screen.height/2-hoehe/2;
NewWin = window.open(winname, "titel", "width="+breite+",height="+hoehe+",top="+oben+",left="+links);
}
Im Kopfbereich des HTML-Dokumentes wo der Link steht muss dann folgendes stehen:
Code:
<SCRIPT LANGUAGE="JavaScript1.2" src="../scripts/myscripts.js"></SCRIPT>
Der eigentliche Link sieht so aus:
Code:
<A HREF="javascript:fenster('seite.html',500,400)">link mit neuem Fenster</A>
?>
|
gefunden...
nun wollte ich einmal fragen, wie kann ich dem nun sagen, dass er das fenster schliessen soll? ist ja mit js geöffnet, also müsste es gehen
und dass er es NUR schliesst, wenn die daten erfolgrich übermittelt worden sind....
kann ich ja nicht bei dem submit-button also onclick="" machen oder?
hoffe, mir ann wer helfen
|
| geschrieben von René am 04.06.2007 - 08:00 |
Das Fenster schließen kann in deinem Fall nur die "seite.html" in dem du auch die Prüfung der Eingaben vornehmen mußt. Da die Seite bestimmt eine *.php Datei ist, kannst du nach dem speichern wenn die Eingabe Ok war über PHP ein:
| HTML-Quelltext | 1:
2:
3:
4:
5:
| <script ...>
<!--
window.close();
//-->
</script> |
in die Seite schreiben/ausgeben. |
| geschrieben von H3LLFIRE am 04.06.2007 - 14:02 |
die datei sieht folgendermaßen aus:
| PHP-Quelltext | 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:
|
<?php
if (isset($_POST['senden']) && ($_POST['senden'] == 'true'))
{
$conn = @mysql_connect('localhost', 'usr', 'pw');
if (!$conn)
{
echo 'Keine Verbindung zur DB: ' . mysql_error();
exit();
}
$sele = @mysql_select_db('db', $conn);
if (!$sele)
{
echo 'Kann DB nicht auswählen: ' . mysql_error();
exit();
}
$sql = 'INSERT INTO `gaestebuch` (
`datum`,
`uhrzeit`,
`name`,
`herkunft`,
`icq`,
`hp`,
`eintrag`,
`kommentar`
)
VALUES (
\'' . addslashes($_POST['datum']) . '\',
\'' . addslashes($_POST['uhrzeit']) . '\',
\'' . addslashes($_POST['name']) . '\',
\'' . addslashes($_POST['herkunft']) . '\',
\'' . addslashes($_POST['icq']) . '\',
\'' . addslashes($_POST['hp']) . '\',
\'' . addslashes($_POST['eintrag']) . '\',
\'' . addslashes($_POST['kommentar']) . '\'
)';
$result = @mysql_query($sql, $conn);
if (!$result)
{
echo 'Kann Daten nicht einfügen: ' . mysql_error();
exit();
}
header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
exit();
}
?>
<? include ('sonstiges/head.php') ?>
<head>
<SCRIPT LANGUAGE="JavaScript">
var Compteur = null;
var CompteurTourne = false;
function DemarreHorloge () {
if(CompteurTourne)
clearTimeout(Compteur);
CompteurTourne = false;
AfficheTemps();
}
function AfficheTemps () {
var Temps = new Date();
var TempsLocal = Temps.getTime()+
(Temps.getTimezoneOffset()-60)*60;
var Maintenant = new Date(TempsLocal);
var Heure = " " + Maintenant.getHours();
var minutes = Maintenant.getMinutes();
var secondes = Maintenant.getSeconds();
Heure += ((minutes < 10) ? ":0" : ":") + minutes;
Heure += ((secondes < 10) ? ":0" : ":") + secondes;
document.gbookeintrag.uhrzeit.value = Heure;
var AujourdHui = " " + Maintenant.getDate();
var Mois = Maintenant.getMonth()+1;
var Annee = Maintenant.getYear();
AujourdHui += "." + Mois + ".2007";
document.gbookeintrag.datum.value = AujourdHui;
Compteur = setTimeout("AfficheTemps()",1000);
CompteurTourne = true;
}
// -->
</SCRIPT>
</head>
<body bgcolor="#660000" onLoad="DemarreHorloge()">
<form name="gbookeintrag" action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
<input name="senden" type="hidden" value="true">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="10" class="Stil2"><div align="center"><span class="ueberschrift">Ins Gästebuch eintragen </span></div></td>
</tr>
<tr>
<td height="5" background="Bilder/bg_unterstreichung.gif"></td>
</tr>
<tr>
<td class="text" align="right"></td>
</tr>
<tr>
<td><div align="center" class="text">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="35%">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="text"></td>
</tr>
<tr>
<td class="text"><div align="center">
<input name="datum" type="hidden" id="datum" size="30%" value="" />
</div></td>
</tr>
<tr>
<td class="text"><div align="center">
<input name="uhrzeit" type="hidden" id="uhrzeit" size="30%" />
</div></td>
</tr>
<tr>
<td class="text"><div align="center">Name:
<input name="name" type="text" id="name" size="30%" />
</div></td>
</tr>
<tr>
<td class="text"><div align="center">Herkunft:
<input name="herkunft" type="text" id="herkunft" size="30%" />
</div></td>
</tr>
<tr>
<td class="text"><div align="center">HomePage:
<input name="hp" type="text" id="hp" size="30%" />
</div></td>
</tr>
<tr>
<td class="text"><div align="center">ICQ:
<input name="icq" type="text" id="icq" size="30%" />
</div></td>
</tr>
</table>
</td>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="text"><div align="center">Ihr Eintrag: <br />
<textarea name="eintrag" cols="40%" rows="8" id="eintrag"></textarea>
</div></td>
</tr>
</table></td>
</tr>
</table>
</div></td>
</tr>
</table>
<input type="submit" value="eintragen">
</form>
</body>
</html>
|
habe keien ahnung, wo das nun hinsoll, weil da ist auch nichts drinnen, dass es überprüft, ob es erfolgreich verschickt worden ist!?! |
| geschrieben von René am 04.06.2007 - 18:22 |
alt
| PHP-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
|
<?php
$result = @mysql_query($sql, $conn);
if (!$result)
{
echo 'Kann Daten nicht einfügen: ' . mysql_error();
exit();
}
header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
exit();
}
?>
|
neu
| PHP-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
|
<?php
$result = @mysql_query($sql, $conn);
if (!$result)
echo 'Kann Daten nicht einfügen: ' . mysql_error();
else
{
echo '<script type="text/javascript">' . "\r\n"
. '<!--' . "\r\n"
. 'window.close();' . "\r\n"
. '//-->' . "\r\n"
. '</script>';
}
exit();
}
?>
|
|
| geschrieben von H3LLFIRE am 04.06.2007 - 22:27 |
omg...wie blöd/blind, was auch immer oO
da stehts ja sogar noch -.-
naja
big thx =) |
| geschrieben von H3LLFIRE am 04.06.2007 - 22:45 |
besteht eigentlich auch die möglichkeit, dass wie bei manchen seite die werbun einfach ein fenster über der homepage erscheint, sprich dass ich kein neues fenster öffnen muss...
oder ist das dann flash?
aber müsste ja auch irgendwie mit javascript machbar sein oder? |
|