Julia712

Mitglied
 

Dabei seit: 28.11.2006
Beiträge: 2.262
 |
|
Hey,
also ich weiß nicht wie du's aufgebaut hast, aber theoretisch würd ich mal sagen über Variablen
Lg
Julia
Soo, ich hab mal in deine anderen Threads reingeschaut und gehe mal davon aus, dass du einen Link bei den ausstehenden Turnieren machen möchtest, sodass man per Klick zum Ergebnis kommt?
Dann einfach an den Link ?id=$row->ID anhängen, sodass an das Formular, in dem du dann wohl Platzierung etc. eingeben magst, die Variable id übergeben wird, die mit der ID des Turnieres belegt ist. Wenn du ohne ID arbeitest, musst du halt Turnier und Pferd an den Link anhängen
Beim Formular schreibst du dann im <form>-tag bei action an den link einfach wieder die variablen dran und dann kannst du mit denen in der Auswertung arbeiten
|
|
09.08.2010 21:58 |
|
|
Remember

ehemals Cousquer
 

Dabei seit: 01.04.2010
Beiträge: 630
Themenstarter
 |
|
Oh gott. mein kopf raucht grade und ich kapier gar nix
also. machen möcht ichs so: man sieht die vergangenen turniere und dort ist ein link zu einem formular, wo man den erreichten platz eintragen kann. dieser soll dann in der tabelle 'turnier' nachgetragen werden (in der tabelle 'turnier' in der datenbank meldet man bei mir auch ein neues turnier). UND dann soll das ganze noch irgendwie in den steckbrief kommen. womit ich gerade auch sehr stark kämpfe, weil es nicht mag.
aargh. du hättest nicht gerade zufällig lust, dir das mal live anzuschauen? ich krieg grad denkerisch gar nix mehr auf die reihe und ich kapier das alles kein stück. also doch, schon ein wenig. aber nicht genug um das hinzukriegen, was ich will. und alle tuts laufen bei mir schief und ich bin grad echt verzweifelt.
__________________
|
|
09.08.2010 22:17 |
|
|
Remember

ehemals Cousquer
 

Dabei seit: 01.04.2010
Beiträge: 630
Themenstarter
 |
|
Danke für die tollen Seiten.
Und mithilfe den Tuts dort bekomme ich das jetzt auch mit der Übertragung hin. Nur schneidet er mir den Namen nach einem ' plötzlich ab & zeigt den Rest dann nicht mehr an, kann das sein? (Ich hab jetzt mithilfe von GET die Daten weiterreichen wollen ...)
Ich versuch gerade noch irgendwo die ID dranzuhängen, weil mit der klappts ja einwandfrei.
Ist es möglich einen GET-Wert von einer anderen Datei und nicht von der URL zu machen? Also, dass er sich jetzt in meinem Beispiel die ID vom angegebenen Pferd holt?
Vielleicht zeigt das was ich meine (auch wenns nich funzt.):
$id = $_GET['id' FROM '$pferd'];
/edit:
Wollte jetzt einfach noch eine Abfrage einbauen
$id = $sql = "SELECT * FROM pferd WHERE Name = '$pferd'";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
echo "$row[ID]";
}
mysql_close();
Aber so wills auch nich funktionieren.
Der gesamte Code wäre jetzt:
php: |
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:
|
<php?
include("checkuser.php")
?>
<html>
<head>
<title>SHAKESPEARE</title>
<link rel="stylesheet" href="styli.css">
</head>
<php?
//Datenbankverbindung einfügen!
include('datenbank.php');
//Variablen festlegen
$reiter = $_SESSION["name"];
$pferd = $_POST['pferd'];
$hofname = $_POST['hofname'];
$hofaddy = $_POST['hofaddy'];
$datum = $_POST['datum'];
$pruefung = $_POST['pruefung'];
//wenn eine der Variablen name, pass oder mail leer ist, dann [if]
if( ($pferd=='') OR ($hofname=='') OR ($hofaddy=='') OR ($datum=='') OR ($pruefung=='') ) {
//Ausgabe der Fehlermeldung
echo "<b>Error</b>
Bitte fülle alle Felder aus!<br><br>
<a href="javascript:%20history.back(-2)" target="_self">Zurück</a>";
//wenn alles richtig ist:
} else {
//hier steht, was Eintrag ist und was damit gemacht werden soll. Welche Spalten sollen ausgefüllt werden?
$eintrag = "INSERT INTO `turnier` ( `pferd` , `hofname` , `hofaddy` , `datum` , `pruefung` , `reiter` )
VALUES ('$pferd', '$hofname', '$hofaddy', '$datum', '$pruefung', '$reiter')";
//hier wird entschieden, dass $eintrag über die Datenbankverbindung eingetragen werden soll.
$eintragen = mysql_query($eintrag);
//Ausgabe der Erfolgsmeldung
if($eintragen==true) {
echo "<b>Eintrag erfolgreich</b>
Du hast erfolgreich einen Turniertermin eingetragen.";
} else {
echo "Fehler!";
include('neuesturnier.php');
}
}
//PHP schließen
?>
</html> |
|
__________________
Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von Remember: 10.08.2010 12:17.
|
|
10.08.2010 11:10 |
|
|
Julia712

Mitglied
 

Dabei seit: 28.11.2006
Beiträge: 2.262
 |
|
Hey,
der Code ist jetzt der, mit dem ein neues Turnier eingetragen wird, oder? Für das Hinzufügen der Platzierung brauchst du ja noch einen anderen
Und das auslesen der ID war fast richtig:
php: |
1:
2:
3:
4:
5:
6:
|
$sql = "SELECT * FROM pferd WHERE Name = '$pferd'";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
$id = $row[ID];
}
mysql_close(); |
|
Du musst nur darauf achten, dass die Zuweisung der Variable erst beim Auslesen geschieht
Ja, das mit dem ' im Namen ist ein Problem. Ebenso, wenn du ein Leerzeichen im Namen hast. Entweder du übergibst wirklich nur die ID oder du machst ein nicht sichtbares Feld im Formular, dem du als Inhalt den Namen zuweist. Dann wird das ganze per post mit dem Formular übergeben
|
|
10.08.2010 13:31 |
|
|
 |
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Zitat: |
Original von Cousquer
Hmm. Irgendwie behandel er den unteren Teil jetzt gar nicht mehr als PHP-Teil. (siehe auch in meinem letzten Post -> der untere PHP-Teil ist gar nich farbig oO). Eh ... was hab ich jetzt schon wieder falsch gemacht? Ich find grad ums verrecken nichts falsches ... :/ |
Soll das heißen?
Der erste Teil des Codes is nur farbig weil das Forum auch Code ohne <?php und ?> farbig anzeigt..
LG,
Oli
|
|
10.08.2010 15:42 |
|
|
Julia712

Mitglied
 

Dabei seit: 28.11.2006
Beiträge: 2.262
 |
|
Bei insert machst du ja einen neuen Datensatz. Am besten machst du die Spalte ID in der MySQL-Datenbank mit einem Auto-Increment-Wert, sodass die ID dann automatisch vergeben wird
Dazu per PhpMyAdmin für die Spalte ID als Extra auto_increment eintragen und den Primärschlüssel aktivieren (das Symbol mit dem Schlüssel). Dann wird die ID immer automatisch in aufsteigender Reihenfolge gesetzt
|
|
10.08.2010 15:58 |
|
|
Remember

ehemals Cousquer
 

Dabei seit: 01.04.2010
Beiträge: 630
Themenstarter
 |
|
Aber ich möcht ja die ID vom Pferd und nicht eine ansteigende ID
Und eigentlich dachte ich auch, dass das jetzt mit dn Variablen so passen würde, aber anscheindend so doch nicht xD
Der Code fürs TUrnieredintragen momentan:
php: |
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:
|
<?php
include("checkuser.php")
?>
<html>
<head>
<title>SHAKESPEARE</title>
<link rel="stylesheet" href="styli.css">
</head>
<?php
//Datenbankverbindung einfügen!
include('datenbank.php');
//Variablen festlegen
$reiter = $_SESSION["name"];
$pferd = $_POST['pferd'];
$hofname = $_POST['hofname'];
$hofaddy = $_POST['hofaddy'];
$datum = $_POST['datum'];
$pruefung = $_POST['pruefung'];
$sql = "SELECT * FROM pferd WHERE Name = '$pferd'";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
$id = $row[ID];
}
mysql_close();
//wenn eine der Variablen name, pass oder mail leer ist, dann [if]
if( ($pferd=='') OR ($hofname=='') OR ($hofaddy=='') OR ($datum=='') OR ($pruefung=='') ) {
//Ausgabe der Fehlermeldung
echo "<b>Error</b>
Bitte fülle alle Felder aus!<br><br>
<a href="javascript:%20history.back(-2)" target="_self">Zurück</a>";
//wenn alles richtig ist:
} else {
//hier steht, was Eintrag ist und was damit gemacht werden soll. Welche Spalten sollen ausgefüllt werden?
$eintrag = "INSERT INTO `turnier` ( `id` , `pferd` , `hofname` , `hofaddy` , `datum` , `pruefung` , `reiter` )
VALUES ('$id', '$pferd', '$hofname', '$hofaddy', '$datum', '$pruefung', '$reiter')";
//hier wird entschieden, dass $eintrag über die Datenbankverbindung eingetragen werden soll.
$eintragen = mysql_query($eintrag);
//Ausgabe der Erfolgsmeldung
if($eintragen==true) {
echo "<b>Eintrag erfolgreich</b>
Du hast erfolgreich einen Turniertermin eingetragen.";
} else {
echo "Fehler!";
include('neuesturnier.php');
}
}
//PHP schließen
?>
</html> |
|
Übrigends danke nochmal wegen dem <?php. Sieht mir ählnich, dass ich alles wieder verdreh xD
Aber er wirft mir jetzt die Fehlermeldung
Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /users/shakespeare/www/neuesturnier_send.php on line 45
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /users/shakespeare/www/neuesturnier_send.php on line 45
Fehler!
aus. Und wenn man dann nachschaut, wäre das ja der Eintrag in die Datenbank. Und im ersten Teil der Fehlermeldung sagt er ja, dass der Zugang nicht ridhtig ist. Aber es hat ja die ganze Zeit davor auch geklappt ôÔ Vorallem, ist das weder mein Username noch mein Passwort, das ich in der datenbank.php angegeben habe (und die ja auch included ist...)
__________________
|
|
10.08.2010 17:47 |
|
|
Julia712

Mitglied
 

Dabei seit: 28.11.2006
Beiträge: 2.262
 |
|
Ich versteh den Sinn nicht xD
Wozu willst du jetzt die ID vom Pferd eintragen?!
Und zu deinem Fehler: Du schließt in Zeile 30 die Datenbank-Verbindung
|
|
10.08.2010 18:20 |
|
|
Remember

ehemals Cousquer
 

Dabei seit: 01.04.2010
Beiträge: 630
Themenstarter
 |
|
*grins* hab ich grad wieder seltsame gedankengänge, die nur ich kapier?
ich dachte mir nur, dass es einfacher mit dem erfolge eintragen ist, wenn ich es nicht über den namen, der ja auch 's und leerzeichen hat, sonder halt über die id mache ...
ah, dankeschön :>
es funzt wieder
ich trottel.
Und dann jetzt nochmal zum richtigen Problem:
Ich bin mir fast ziemlich sicher, dass ich da diesmal alles richtig gemacht habe & er zeigt mir auch an, dass er die Platzierung geändert hat, aber er ändert die Platzierung nicht Oo
php: |
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:
|
<?php
include('checkuser.php')
?>
<html>
<head>
<title>SHAKESPEARE</title>
<link rel="stylesheet" href="styli.css">
</head>
<?php
//Datenbankverbindung einfügen!
include('datenbank.php');
//Variablen festlegen
$pruefung = $_POST['pruefung'];
$datum = $_POST['datum'];
$pferd = $_POST['pferd'];
$ergebnis = $_POST["ergebnis"];
//wenn eine der Variablen name, pass oder mail leer ist, dann [if]
if( ($ergebnis=='') ) {
//Ausgabe der Fehlermeldung
echo "<b>Error</b>
Bitte gebe eine Platzierung ein!<br><br>
<a href="javascript:%20history.back(-2)" target="_self">Zurück</a>";
//wenn alles richtig ist:
} else {
//hier steht, was Eintrag ist und was damit gemacht werden soll. Welche Spalten sollen ausgefüllt werden? Und wo?
$aendern = "UPDATE `turnier` SET ergebnis = '$ergebnis' WHERE pferd = '$pferd' AND datum = '$datum' AND pruefung = 'pruefung'";
//hier wird entschieden, dass $aendern über die Datenbankverbindung eingetragen werden soll.
$update = mysql_query($aendern);
//Ausgabe der Erfolgsmeldung
if($update==true) {
echo "<b>Eintrag erfolgreich</b>
Das Ergebnis wurde eingetragen.";
} else {
echo "Fehler!";
include('annehmen.php');
}
}
//PHP schließen
?>
</html> |
|
Oder hab ich schon wieder so einen dummen Leichtsinnsfehler gemacht?
& eine frage am rande:
Wie schaffe ich es, dass ich etwas mit der POST-methode ohne formular übergebe? Das würde ich nämlich gerne statt der GET-methode hernehmen, vorallem bei den Prüfungen ... Und ich stoß grad nur auf die POST-methode wenn ich ein formular hernehme. Oder kann ich es irgendwie so machen, dass ich ein unsichtbares Formular mache oder so?
__________________
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Remember: 10.08.2010 18:32.
|
|
10.08.2010 18:25 |
|
|
Remember

ehemals Cousquer
 

Dabei seit: 01.04.2010
Beiträge: 630
Themenstarter
 |
|
Ah, danke
Und ich such mich an den Satzseichen (;,} und so) dumm und dämlich xD
Hmm ... meinst du ,dass es funktioniert, wenn ich versteckte felder mache und dann den link (erfolg eintragen) als abschicken mache? Oder funzt des nich?
__________________
|
|
10.08.2010 18:53 |
|
|
Stelo

de drecksche Assl
 

Dabei seit: 28.04.2005
Beiträge: 1.628
 |
|
Ich hab jetzt nicht alle Posts gelesen, aber ich glaube bevor du einfach losprogrammierst, solltest du dir mal ein kleines Konzept schreiben.
Irgend welchen Kram über ein verstecktes Formular zu übergeben kann es ja echt nicht sein.
Mach dir doch erst einmal Gedanken wie ein Turnier abläuft und wie entschieden wird, wer gewinnt.
Wenn z.B. der Gewinner per Zufall ausgewählt wird, kann man es ja so machen, dass das Mitglied auf die Seite des Pferdes muss (schon hast du die ID das Pferdes) um dann auf "TEILNEHMEN" zu klicken. Dann wählst du einfach einen Platz per random() aus, guckst, dass den noch ein anderes Pferd hast und trägst den ein.
Ohne Zufall ist es auch nicht viel schwerer. Also: Immer erst mal alles durchdenken bevor man programmiert. Algorithmen und Struktogramme sind dein Freund, auch wenn man "nur" einen vRh programmiert. ;-)
P.S.: BlackTear. hör auf meine PN zu ignorieren, ich brauch dich doch dringend.
__________________
"Es gibt keine Romanhelden mehr,
weil es keine Individualisten mehr gibt,
weil die Individualität verlorengegangen,
weil der Mensch einsam, jeder Mensch gleich einsam,
ohne Recht auf individuelle Einsamkeit ist und
eine namen- und heldenlose einsame Masse bildet."
Günter Grass

|
|
10.08.2010 19:45 |
|
|
Julia712

Mitglied
 

Dabei seit: 28.11.2006
Beiträge: 2.262
 |
|
Japs, das klappt
Ich hätte an deiner Stelle jedem Turnier 'ne ID gegeben und dann einfach die TurnierId übergeben beim Platzierung eintragen. Dann hättest du da keinen Pferdenamen und nix weitergeben müssen...
Aber du warst ja noch beim Turniereintragen, ich war schon weiter
|
|
10.08.2010 19:56 |
|
|
Remember

ehemals Cousquer
 

Dabei seit: 01.04.2010
Beiträge: 630
Themenstarter
 |
|
²Stelo
Oh, ich glaub da reden wir grad aneinander vorbei
Ich bin grad bei den angemeldeten Turnierreitern, die bei ihren Turnierpferden, die auf unsrem Hof stehen, ihre Erfolge von externen Turnieren eintragen können
Und du bist bei Turnieren, die ich ausrichte (glaube ich zumindest deinem Post entnommen zu haben
). ;D
²Julia
Dann probier ich das mal so aus und schrei dann wieder laut HILFE wenns nich klappt
Stimmt ... das wäre irgendwie einfacher gewesen xD Aber wieso einfach, wenns auch schwer geht?
Aber vielleicht änder ich das auch noch mal ... weil das wär ja eigentlich viel schlauer ^^
__________________
|
|
10.08.2010 20:11 |
|
|
 |
Stelo

de drecksche Assl
 

Dabei seit: 28.04.2005
Beiträge: 1.628
 |
|
Zitat: |
Original von Cousquer
²Stelo
Oh, ich glaub da reden wir grad aneinander vorbei
Ich bin grad bei den angemeldeten Turnierreitern, die bei ihren Turnierpferden, die auf unsrem Hof stehen, ihre Erfolge von externen Turnieren eintragen können
Und du bist bei Turnieren, die ich ausrichte (glaube ich zumindest deinem Post entnommen zu haben
). ;D
²Julia
Dann probier ich das mal so aus und schrei dann wieder laut HILFE wenns nich klappt
Stimmt ... das wäre irgendwie einfacher gewesen xD Aber wieso einfach, wenns auch schwer geht?
Aber vielleicht änder ich das auch noch mal ... weil das wär ja eigentlich viel schlauer ^^ |
Uups. Ach ich hab einfach zu wenig am Hut mit vRhs um da immer durchzublicken. Tut mir Leid. Aber du kannst es dir ja merken, wenn dus mal brauchst. ;-)
__________________
"Es gibt keine Romanhelden mehr,
weil es keine Individualisten mehr gibt,
weil die Individualität verlorengegangen,
weil der Mensch einsam, jeder Mensch gleich einsam,
ohne Recht auf individuelle Einsamkeit ist und
eine namen- und heldenlose einsame Masse bildet."
Günter Grass

|
|
10.08.2010 20:23 |
|
|
Remember

ehemals Cousquer
 

Dabei seit: 01.04.2010
Beiträge: 630
Themenstarter
 |
|
Oh ja. Brauchen werd ichs auf jeden Fall noch, deshalb kommt mir das sowieso sehr gelegen
Ich bin einfach ein sehr ... unkoordinierter Mensch und deshalb sind solche Tipps für mich immer perfekt.
__________________
|
|
10.08.2010 20:53 |
|
|
Impressum
|
|