function includen
falke
- php
0 ShiNtoKu0 Christoph Schnauß0 XaraX
ich habs jetzt soweit geschafft und die Einträge werden in die Datenbank geschrieben doch sobald jemand einen neuen Partner in dieses Feld einträgt soll noch eine bestimmte Funktion ausgelöst werden die den namen des texttype als Parameter braucht doch wenn ich eine Funktion unter den mysql_query schreibe und dann die datei include da wo die function benutzt werden soll includet er die ganze datei und es blinkt.
<?
$neuer = mysql_query("ALTER TABLE Kunden ADD ".$_GET["partner"]."user VARCHAR( 20 ) NOT NULL ,ADD ".$_GET["partner"]."pass VARCHAR( 20 ) NOT NULL ,ADD ".$_GET["partner"]." TEXT NOT NULL ",$connect);
function neuPartner()
{
echo 'hallo ';
}
echo '<meta http-equiv="refresh" content="1;URL=Kundendaten.php">';
echo '<h1 style="color:#FF0000;">Neuer Partner hinzugefügt</h1>';
?>
da stehr erst mal hallo zur probe .
also muss ich wahrscheinlich die function in eine extra datei schreiben und diese dann includen doch wie kriegt die den parameter nämlich denn namen des input text ?
mit freundlichen Grüßen
falke
Hi,
Du musst die Funktion natürlich auch aufrufen..
Übergabewerte kommen in die Klammern.
function neuPartner($input) {
echo $input;
}
neuPartner('blah');
ergibt die Ausgabe 'blah'
Gruss
shin
hallo,
ich habs jetzt soweit geschafft und die Einträge werden in die Datenbank geschrieben doch sobald jemand einen neuen Partner in dieses Feld einträgt soll noch eine bestimmte Funktion ausgelöst werden die den namen des texttype als Parameter braucht doch wenn ich eine Funktion unter den mysql_query schreibe und dann die datei include da wo die function benutzt werden soll includet er die ganze datei und es blinkt.
Wow. Das alles _ohne_ jede Interpunktion dürfte sogar gegen die neue deutsche Rechtschreibung verstoßén - gegen die alte verstößt es gewiß. Die Atemlosigkeit dieses Satzwurms macht es schwer, zu verstehen, worum es dir geht. Irgendwas blinkert also bei dir. Nett. Wenigstens ein Effekt.
<?
$neuer = mysql_query("ALTER TABLE Kunden ADD ".$_GET["partner"]."user VARCHAR( 20 ) NOT NULL ,ADD ".$_GET["partner"]."pass VARCHAR( 20 ) NOT NULL ,ADD ".$_GET["partner"]." TEXT NOT NULL ",$connect);
Hier hast du lediglich deine Datenbankabfrage in eine Variable gepackt, die dir weiterhin zur Verfügung stehen könnte. Du verwendest sie allerdings nicht.
function neuPartner()
{ echo 'hallo '; }
Hier hast du eine Funktion geschrieben, die du aber später überhaupt nicht aufrufst.
echo '<meta http-equiv="refresh" content="1;URL=Kundendaten.php">';
Hier erzeugst du nach einer Sekunde einen refresh, der auf eine andere Datei umleitet. Wahrscheinlich wäre es da besser, mit
header("Location: URL=Kundendaten.php");
exit();
zu arbeiten.
echo '<h1 style="color:#FF0000;">Neuer Partner hinzugefügt</h1>';
Das ist das einzige, was dein Script ziemlich genau eine Sekunde lang ausgeben dürfte.
also muss ich wahrscheinlich die function in eine extra datei schreiben und diese dann includen
Nein, warum denn? Du mußt die Funktion lediglich irgendwann aufrufen, das kann das Script durchaus selber machen. Wenn das nun eine sehr umständliche/umfangreiche Funktion ist, _kannst_ du sie natzürlich in ein eigenes Script schreiben, das du dann mit include() einbindest. Aber ich kann nicht sehen, daß das zwingend nötig wäre.
doch wie kriegt die den parameter nämlich denn namen des input text ?
Ich habe in deinem geposteten Code kein "input" gesehen. Wenn das Ganze über ein Formular angeschubst wird und du Eingabefelder verwendest, kannst du denen Namen geben. Die Werte deiner Eingabefelder stehen dir dann als Variablen zur Verfügung. Oder möchtest du etwas anderes erreichen? Was du mit dem "Namen des input text" gemeint hast, müßtest du gegebenenfalls nochmal erläutern.
Dein Problem ist, wenn ich es denn irgendwie verstanden haben sollte, daß du dein Script zur Ausgabe von Informationen veranlassen möchtest, gleichzeitig aber eine Umleitung zu einer anderen Adresse machst. Das geht nicht zusammen. Entscheide dich für eine exakte Aufgabenzuweisung an dein Script.
Grüße aus Berlin
Christoph S.
Hallo,
ich habs jetzt soweit geschafft und die Einträge werden in die Datenbank geschrieben doch sobald jemand einen neuen Partner in dieses Feld einträgt soll noch eine bestimmte Funktion ausgelöst werden die den namen des texttype
Definiere bitte "texttype"! Was habe ich mir darunter vorzustellen?
als Parameter braucht doch wenn ich eine Funktion unter den mysql_query schreibe und dann die datei include
Welche Datei meinst Du?
da wo die function benutzt werden soll includet er die ganze datei und es blinkt.
Was blinkt? (Ich kann Dir sonnst nur sagen, daß über meinem Kopf im Moment ein großes Fragezeichen rot blinkt ;)
<?
$neuer = mysql_query("ALTER TABLE Kunden ADD ".$_GET["partner"]."user VARCHAR( 20 ) NOT NULL ,ADD ".$_GET["partner"]."pass VARCHAR( 20 ) NOT NULL ,ADD ".$_GET["partner"]." TEXT NOT NULL ",$connect);
function neuPartner()
{
echo 'hallo ';
}
echo '<meta http-equiv="refresh" content="1;URL=Kundendaten.php">';
echo '<h1 style="color:#FF0000;">Neuer Partner hinzugefügt</h1>';?>
da stehr erst mal hallo zur probe .also muss ich wahrscheinlich die function in eine extra datei schreiben und diese dann includen doch wie kriegt die den parameter nämlich denn namen des input text ?
<input name='falke' type='text'>
Ergibt je nach der gewählten Methode des zugeordneten Formulars $_GET['falke'] oder $_POST['falke']. Innerhalb von Datenfeldern (array) kann mann auf vielerlei Funktionen zurückgreifen, die einem die Schlüssel liefern: http://de3.php.net/manual/de/ref.array.php
So nun noch mal ganz ruhig. Stell Dir einfach vor Du erklärst jemanden, der rein zufällig Dein Script-Code nicht kennt, Dein Problem; dann wird es sicher etwas verständlicher und man kann Dir eher helfen ;)
Gruß aus Berlin!
eddi
ja also das ist so
das input type befindet sich in einer anderen datei und daneben ist ein submit button der hierher leitet dann soll die dbeingabe erfolgen mit dem parameter also der name des input type text. Und
mit dem selbigen muss ich noch eine function schreiben die aber in einer anderen datei includet werden soll doch wenn ich die vorgestellte datei dort include includet er ja alles und dann blinkt dauernt dieser text wahrscheinlich durch den eine sekunde effekt.
und die funktion wird ausgeführt .
Mein Problem jetzt ich will die function erst ausführen nachdem der dbeintrag erfolgt ist.
und wie spreche ich die name an z.B
<input type="text" name="neu"> ist name dann $neu oder wie?
mit freundlichen grüßen
falke
Hallo,
Mein Problem jetzt ich will die function erst ausführen nachdem der dbeintrag erfolgt ist.
und wie spreche ich die name an z.B
<input type="text" name="neu"> ist name dann $neu oder wie?
Das hängt von der Konfiguration PHPs ab. Ist register_globals On, dann könntest Du auf $neu zugreifen, nur - Du solltest es nicht tun! (vgl.:http://de3.php.net/manual/de/security.globals.php)
Je nach Methode des Formulars kannst Du dann auf $_GET['neu'] oder $_POST['neu'] zugreifen. Aber auch wenn Dir der name des Eingabefeldes nicht bekannt ist, kannst Du die beiden Datenfelder $_GET oder $_POST nach Schlüsseln durchsuchen. Dazu hatte ich Dir schon einen verweis in das PHP-Manual gepostet. Zum Verständnis wirde es daher beitragen, wenn Du Dir alle Funktionen auf der Seite ansiehst.
Ausschnitt auf der Formularseite:
<form action='verarbeitungs.php' method='post'>
<div>
<span style='display:block;width:200px;float:left'>
Name:
</span>
<input name='name' type='text'>
</div>
<div>
<span style='display:block;width:200px;float:left'>
Nachname:
</span>
<input name='nachname' type='text'>
</div>
<div>
<span style='display:block;width:200px;float:left'>
Adresse:
</span>
<input name='adresse' type='text'>
</div>
<div>
<span style='display:block;width:200px;float:left'>
Ort:
</span>
<input name='ort' type='text'>
</div>
<div>
<span style='display:block;width:200px;float:left'>
Land:
</span>
<input name='Land' type='text'>
</div>
<div>
<input type='submit'>
</div>
</form>
Ausschnitt verarbeitungs.php
function mach_was($x)
{
echo $x.'<br>';
}
foreach($_POST as $key=>$value)
{
mach_was($key);
}
das input type befindet sich in einer anderen datei und daneben ist ein submit button der hierher leitet dann soll die dbeingabe erfolgen mit dem parameter also der name des input type text. Und mit dem selbigen muss ich noch eine function schreiben die aber in einer anderen datei includet werden soll doch wenn ich die vorgestellte datei dort include includet er ja alles und dann blinkt dauernt dieser text wahrscheinlich durch den eine sekunde effekt.
und die funktion wird ausgeführt .
Du kannst also ganz beruhigt davon ausgehen, das Dein Ansatz, es über Include lösen zu müssen, mit einer gegen 100% tendierenden Wahrscheinlichkeit überhaupt nicht gebrauch wird ;)
Gruß aus Berlin!
eddi