|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
frost Mini JLI'ler
Anmeldedatum: 19.05.2003 Beiträge: 15
Medaillen: Keine
|
Verfasst am: 27.05.2003, 14:03 Titel: php *ausrast* |
|
|
ok hab kleines problem, eigentlich is das kein prob, aber ich bekomme das nicht auf die reihe:
ich will ein stink normales formular machen, und will danach eine abfrage machen ob der user was eingetragen hat bzw nicht bevor er es in die datenbank einträgt.....das prob ist nur wenn ich die abfrage mache zeigt er den text der abfrage schon beim laden des scriptes an....kann mir jemand helfen ich sitz da nun schon 3tage/nächte dran und mir gehen langsam die ideen aus wie man das noch machen könnte:
<html>
<head>
</head>
<body>
<?php
$name="t";
$titel="t";
$eintrag="t";
printf("<form action=\"datenbank.php\" method=\"get\">");
printf("<input name=\"name\" size=\"50\">");
printf("<input name=\"email\" size=\"50\">");
printf("<input name=\"homepage\" size=\"50\">");
printf("<input name=\"titel\" size=\"50\">");
printf("<textarea name=\"eintrag\" rows=10 cols=50></textarea>");
printf("<input type=\"submit\" value=\"Abschicken\">");
printf("</form>");
if ($name == "t"){
echo "Ihr Name";
}
if ($titel == "t"){
echo "Ihr Titel";
}
if ($eintrag == "t"){
echo "Ihr Eintrag";
}
else{
$sql = mysql_connect("localhost","*","*");
$guest= "insert into guest(name,email,homepage,titel,eintrag) values ('$name', '$email', '$homepage', '$titel', '$eintrag')";
mysql_query($guest, $sql);
mysql_close($sql);
}
?>
</body>
</html>
der code is zwar net ganz richtig aber drauf kommt es mir nicht a jetzt ....ich würde gern wissen wie ich das auswerten könnte ohne das der text schon gleich erscheint wenn ich die page lade....danke für jeden brauchbaren rat.... |
|
Nach oben |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 27.05.2003, 14:47 Titel: |
|
|
Code: |
<?
if (isset($send))
{
// dein code
}
?>
<input type="submit" name="send">
|
einfach abfragen ob der Submit Button gedrückt wurde...
hf gl |
|
Nach oben |
|
|
frost Mini JLI'ler
Anmeldedatum: 19.05.2003 Beiträge: 15
Medaillen: Keine
|
Verfasst am: 27.05.2003, 15:12 Titel: |
|
|
yes......dank das gibt in fetten schmatzer.....es funzt....ok danke...ich kannte diesen befehl isset garnet...lag mal wieder an meiner unwissenheit schen dank |
|
Nach oben |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 27.05.2003, 15:21 Titel: |
|
|
es geht auch mit:
Code: |
<?
if ($send)
{
}
?>
|
|
|
Nach oben |
|
|
frost Mini JLI'ler
Anmeldedatum: 19.05.2003 Beiträge: 15
Medaillen: Keine
|
Verfasst am: 27.05.2003, 15:57 Titel: |
|
|
also das gehört nun vielleicht nicht mehr hier mit dazu.....aber ich find das board einfach klasse...kaum hat man in post mit nem prob reingesetzt is ne halbe stunde später in reply darauf zu lesen...find icheinfach klasse kann gern soweiter gehn..... |
|
Nach oben |
|
|
Mr.X Junior JLI'ler
Anmeldedatum: 15.04.2003 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 27.05.2003, 18:09 Titel: ... |
|
|
Unterteile Deine PHP-Skripte, indem Du eine Variable als "Schalter" nutzt. Je nachdem, auf was der "Schalter" gesetzt ist wird der entsprechende Code ausgeführt!
Beispiel: "Schalter" --> $action
Datei "meinformular.php":
Zitat: |
<?php
if (!isset($action)) $action = "view";
if ($action == "view") {
?>
<html>
<head><title>Formular</title></head>
<body>
<form action="datenbank.php?action=add" method="post">
<input name="form_name" size="50">
<input type="submit" value="Abschicken">
</form>
</body>
</html>
<?php
} else {
//Hier kommt Deine Überprüfung der übergebenen Variable $form_name, wenn diese
//Seite mit dem ?action=add im Querrystring durch das Formular neu geladen wird!!!
//if ($form_name == "")....
//......
//Und hier kann Dein Datenbank-Zeugs kommen
//......
?>
<html>
<head><title>Bestätigung</title></head>
<body>
<span class="hinweis">Deine Daten wurden übernommen!</span>
</body>
</html>
<?php
};
?> |
Ende Datei "meinformular.php":
Kurze Erläuterung:
Zu Beginn wird action auf "view" gesetzt, falls die Seite ohne action im Querrystring aufgerufen wurde (also bei jedem Erstaufruf!). Also z.B.: www.meinedomain.de/meinformular.php
Steht action auf "view", wird nun der erste Teil der if-Abfrage angezeigt (also Dein Formular). Dieses Formular kann man abschicken ^^. Dabei wird durch das "action"-Attribut (das hat nichts mit der Variable $action zu tun) im "form"-Tag erneut dasselbe PHP-Skript geladen, allerdings diesmal mit www.meinedomain.de/meinformular.php?action=add!!!
Dadurch wird der zweite Teil der if-Abfrage durchlaufen, woraufhin Du innerhalb dieses Deine Daten überprüfen und in Deine Datenbank einfügen kannst!
Somit kannst Du beliebig viele verschiedene Inhalte anzeigen lassen(und natürlich voneinander getrennt abarbeiten lassen), trotz dessen, das sie alle innerhalb nur eines PHP-Skriptes stehen.
Zur Anschauung mal ein kurzes Gästebuch mit (beispielhaft übertrieben) vielen Zuständen:
Zitat: |
switch ($action) {
case "view": {Hier steht die einfache Ansicht des Gästebuchs};break;
case "addform": {Hier steht das Eintragsformular};break;
case "addnow": {Hier erst werden die Daten übernommen!Gleich mit Bestätigungsseite};break;
case "login": {Ein Loginformular für einen Admin.};break;
case "admin": {if ($form_pw == "pw")...... Hier Überprüfung des durch Admin-Login übergebenen Passwortes danach Anzeige der Seite für Einstellungen/Bearbeiten von Posts usw... };break;
};
|
mfG |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 28.05.2003, 10:20 Titel: |
|
|
mit dem include-Befehl lässt sich das ganze dann noch vereinfachen - bzw. die einzeldateigröße reduzieren:
Code: |
$action="view"; // Kann auch als Parameter an die php-Datei übergeben werden...
include $action+".inc"; // lädt die entsprechende includedatei, in der dann ganz normaler PHP-Code drin steht.
|
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
frost Mini JLI'ler
Anmeldedatum: 19.05.2003 Beiträge: 15
Medaillen: Keine
|
Verfasst am: 29.05.2003, 05:03 Titel: |
|
|
ok, das mit der abfrage hab ich gelöst bekommen, dank eurer hilfe:
nun hab ich wieder ein prob, bei dem ich ehrlich gesagt nicht mal einen ansatz einer lösung habe.....nachgeschaut hab ich auch schon, find aber leider nix dazu(villeicht auch falsche literatur...):
in dem gb lese ich nun die einzelnen daten wieder aus der sql datenbank aus....so nun hab ich das, das es die der reihe nach auslese, wie sie hineingeschrieben wurden.....will die aber so auslesen lassen, das der, der zuletzt geschrieben wurde, als erstes ausgelesen wird und somit auf der page steht....
Code: |
$sql = mysql_connect("localhost","*","*");
$abfrage = "select name,email,homepage,titel,eintrag,datum from guestbook";
$erg = mysql_db_query(scholas_de_db, $abfrage, $sql);
while(list($name,$email,$homepage,$titel, $eintrag, $datum)=mysql_fetch_row($erg)){;
echo "$name,$email,$homepage,$titel, $eintrag, $datum";
}
mysql_close($sql);
|
über diese schlefe lass ich ihn auslesen...und ich hab eben keine ahnung, nicht mal in ansatz wie ich es schaffen könnte das er die daten "von hinten her" ausliest....
bin dankbar für jeden post |
|
Nach oben |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 29.05.2003, 08:31 Titel: |
|
|
Code: |
//nach id sotieren
mysql_query("select * from news order by id DESC");
//nach datum / timestamp sotieren
mysql_query("select * from news order by datum DESC");
|
hf gl |
|
Nach oben |
|
|
frost Mini JLI'ler
Anmeldedatum: 19.05.2003 Beiträge: 15
Medaillen: Keine
|
Verfasst am: 29.05.2003, 19:17 Titel: |
|
|
wie binde ich das in mein oben geposteten code ein dark? |
|
Nach oben |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 29.05.2003, 19:52 Titel: |
|
|
$sql = mysql_connect("localhost","*","*");
$abfrage = "select name,email,homepage,titel,eintrag,datum from guestbook order by datum DESC";
$erg = mysql_db_query(scholas_de_db, $abfrage, $sql);
while(list($name,$email,$homepage,$titel, $eintrag, $datum)=mysql_fetch_row($erg)){;
echo "$name,$email,$homepage,$titel, $eintrag, $datum";
}
mysql_close($sql); |
|
Nach oben |
|
|
frost Mini JLI'ler
Anmeldedatum: 19.05.2003 Beiträge: 15
Medaillen: Keine
|
Verfasst am: 30.05.2003, 07:02 Titel: |
|
|
ok dark danke es funzt.....ich hatte gestern nochmal gefragt wie das bei mir im code aussehen würde, weil er es bei mir immer noch der reihe nach gemacht hat.....aber das prob lag in der beziehung wo ander, ich hab drei einträge zum testen gehabt, diese hab ich aber alle am selben datum und zur selben minute erstellt, sprich es gab keinen unterschied für php in der beziehung....hab nun nochmal in eintrag hinzugefügt...und nun ging es ....hab dank stay cool man sieht sich bye |
|
Nach oben |
|
|
frost Mini JLI'ler
Anmeldedatum: 19.05.2003 Beiträge: 15
Medaillen: Keine
|
Verfasst am: 08.06.2003, 18:41 Titel: |
|
|
so ich hab nun mal die php unterstützung auf meinem server installiert und das mit dem if(isset($send)) funktioniert leider nicht mehr bei mir aber bei tripod schon....kann mir jemand sagen warum? |
|
Nach oben |
|
|
frost Mini JLI'ler
Anmeldedatum: 19.05.2003 Beiträge: 15
Medaillen: Keine
|
Verfasst am: 08.06.2003, 18:52 Titel: |
|
|
Code: | <html>
<head>
</head>
<body>
<?php
echo"<input type=\"submit\" value=\"eintragen\" name=\"send\">";
if (isset($send)){
$sql=mysql_connect("localhost","*","*");
$dbname="guestbook";
mysql_select_db($dbname);
$insert="insert into guestbook(name,email,homepage,titel,eintrag,datum,icon) values ('hallo', 'ich', 'bin','der', 'nico', 'mit', '4')";
mysql_query($insert, $sql);
mysql_close($sql);
}
else{
echo "hallo du da!";
}
?>
</body>
</html>
|
so sieht mein test beispiel aus....unjd das funzt nicht mehr er zeigt sofort den text bei echo an, wenn ich die page geladen habe.... |
|
Nach oben |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 08.06.2003, 19:56 Titel: |
|
|
versuchs mal mit
oder
kann sein das du globals aus hast |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|