Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 41 bis 60 von 69

Thema: Mein PHP-Frage-Thread

  1. #41
    Zitat Zitat von July
    Hm, das funktioniert nicht so ganz. Aber da hier mal wieder der Fehler auftaucht, den ich immer habe, wenn ich irgendwo mysql_num_rows() verwende, kann ich die Frage ja auch mal stellen *g*
    ...
    Oi.
    Wir haben den Query vergessen.
    PHP-Code:
    <?php
    $database
    =mysql_connect("localhost""root");
    $name=bilder;
    $erstellen="CREATE DATABASE IF NOT EXISTS " .$name;
    mysql_query($erstellen) or die (mysql_error());
    mysql_select_db($name);
    $ct="CREATE TABLE IF NOT EXISTS bildpfad (dateiname TINYTEXT)";
    mysql_query($ct) or die (mysql_error());
    $get mysql_query("SELECT * FROM bildpfad");
    if(
    mysql_num_rows($get)==0)
    {
        
    $einfuegen="INSERT INTO bildpfad (dateiname) VALUES ('bild1.jpg')";
        
    mysql_query($einfuegen);
        
    $einfuegen2="INSERT INTO bildpfad (dateiname) VALUES ('bild2.jpg')";
        
    mysql_query($einfuegen2);
        
    $einfuegen3="INSERT INTO bildpfad (dateiname) VALUES ('bild3.jpg')";
        
    mysql_query($einfuegen3);
        
    $einfuegen4="INSERT INTO bildpfad (dateiname) VALUES ('bild4.jpg')";
        
    mysql_query($einfuegen4);
        
    $einfuegen5="INSERT INTO bildpfad (dateiname) VALUES ('bild5.jpg')";
        
    mysql_query($einfuegen5);
    }

    ?>
    mysql_num_rows() kann mit einem String ala "SELECT * FROM bildpfad" nichts anfangen. Es braucht eine MySQl-Ressource... oder wie man das nennt.
    Man muss also den String mit mysql_query() noch ausführen und das Ergebnis dieses Queries kann man dann mit mysql_num_rows() weiterverarbeiten.

    Sorry, das hab ich vergessen.

    PS: Natürlich kannst du das alles noch etwas zusammenfssen, wenn du magst.
    z.B.:
    PHP-Code:
    ...
    if(
    mysql_num_rows(mysql_query("SELECT * FROM bildpfad"))==0){
    ... 
    müsste funzen.

  2. #42
    So, neues Problem >_>

    Hab jetzt einfach (so wie Chocwise mir das mal erklärt hat) folgende zwei Zeilen unter den (berichtigten) Code, den ich als letztes gepostet habe, gehängt:

    $sql = "SELECT * FROM bildpfad ORDER BY RAND() LIMIT 1";
    $bild = mysql_result($sql,0,dateiname);

    dateiname ist ja die Feldbezeichnung aus der Tabelle.

    Jedenfalls krieg ich jetzt immer ne nette Fehlermeldung aus:
    Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:/...

    Wieso ist das so? Ich hab jetzt in alle schlauen bücher geguckt, die ich hier so rumliegen habe, aber es wird da nix gesagt, was mir selbst irgendwie helfen könnte >_>
    Hoffe, ihr seid da schlauer als ich

  3. #43
    Der Fehler sollte auch hier wieder aufgrund des fehlenden Querys entstehen. Du musst zunächst mit mysql_query die entsprechende Resource-Id generieren und diese dann an mysql_result übergeben.
    PHP-Code:
    $sql mysql_query("SELECT * FROM bildpfad ORDER BY RAND() LIMIT 1");
    $bild mysql_result($sql,0,dateiname); 
    so sollte es dann funktionieren

  4. #44
    Zitat Zitat von NiKrYss
    Der Fehler sollte auch hier wieder aufgrund des fehlenden Querys entstehen. Du musst zunächst mit mysql_query die entsprechende Resource-Id generieren und diese dann an mysql_result übergeben.
    PHP-Code:
    $sql mysql_query("SELECT * FROM bildpfad ORDER BY RAND() LIMIT 1");
    $bild mysql_result($sql,0,dateiname); 
    so sollte es dann funktionieren
    ah gut, ich glaub, jetzt hab ich das prinzip auch begriffen hoff ich jedenfalls >_> *weiter rumprobieren geht*
    danke schön

  5. #45
    Sorry July. Ich vergess die Queries immer so gerne.
    Tut mir leid wenn ich dir dadurch Kopfzerbrechen bereitet hab. .__.'

  6. #46
    Macht gar nix :-) Ich hätte ja eigentlich auch mal selbst drauf kommen können, mit etwas mehr überlegen vielleicht *hust*
    Aber wenn man noch nicht so vertraut ist und weiß, wie die ganzen Funktionen funktionieren (und das auch nirgends steht >_>), frag ich immer, bevor ich mich ärgere *g*


    Und wo wir dabei sind, eine Frage habe ich noch. Bei meinem Gästebuch ist es so, dass ein Eintrag mehrmals in eine Datenbank geschrieben wird, wenn ich nur auf Aktualisieren klicke.
    Ich wollte mal wissen, ob es dafür eine relativ einfache Möglichkeit gibt, das zu lösen.
    Hatte in einem Buch geguckt, da stand drin, dass es eher kompliziert ist und dass sie das daher nicht erklären (toll >_>).
    Falls es zu schwer ist, lass ichs weg, ich denk, so wichtig ists dann nicht, schreib ich eben nen Hinweis hin, dass man die Seite nicht aktualisieren soll

  7. #47
    Ich hätte da eine Idee:
    Frag doch einfach ab, ob der Gästebucheintrag in seiner Form schon in der Datenbank existiert. Wenn ja, dann wird das Eintragen in die Datenbank einfach blockiert.

  8. #48
    Zitat Zitat von Rpg_Goldenboy
    Ich hätte da eine Idee:
    Frag doch einfach ab, ob der Gästebucheintrag in seiner Form schon in der Datenbank existiert. Wenn ja, dann wird das Eintragen in die Datenbank einfach blockiert.
    Ja, daran hab ich auch schon gedacht. Aber geht das denn, wenn ich bei den Einträgen auch immer die Zeit mit in die DB eintragen lasse? Weil die sich ja dauernd ändert.
    Oder kann man das beschränken, dass er nur bestimmte Felder vergleicht? Müsste eigentlich >_>
    Naja, ich werd da mal drüber nachdenken, ich hoffe, ich krieg das hin *hofft, dass sies diesmal auch allein hinkriegt*

  9. #49
    Du könntest auch die $_POST - Variablen (ich geh mal davon aus, dass du darüber deine DB füllst) nach dem Klick auf den Button in Session-Variablen speichern und den Formulareintrag nur abschicken, wenn keine Session-Variablen existieren oder wenn sich Session-Variablen und $_POST-Variablen unterscheiden.
    Es müsste auch gehen, dass du der POST-Variablen, die den Button beinhaltet, nach dem ersten Abschicken einen anderen Wert zuweist (null oder so) und den Eintrag nur abschickst, wenn diese POST-Variable nen ganz bestimmten Wert hat.
    Falls das ganze ein bisschen wirr klingt ... einfach nochmal fragen, solltest du keine andere Lösung finden^^

  10. #50
    Was ist daran so kompliziert?
    PHP-Code:
    <?php
    if($_POST['senden'] == 'senden'// Die Bedingung halt, wann es in die DB eingetragen werden soll
    {
     
    // Der Code zum Senden
     
    header('Location: '.$_SERVER['REQUEST_URI']); // Sollte eine Weiterleitung auf die im Browser aufgerufene Seite erstellen, nur eben ohne $_POST-Daten ;)
     
    exit; // Vorsichtshalber das Skript abbrechen für den Fall, dass der Header aus irgend einem Grund nicht gesendet wird (was eigentlich nicht vorkommen sollte)
    }
    // Hie noch der Rest von Skript mit Formular und so
    ?>
    Sollte eigentlich so gehen (eine wie ich finde sehr einfache Methode)

    Geändert von dead_orc (25.07.2005 um 11:38 Uhr)

  11. #51
    Zitat Zitat von dead_orc
    Was ist daran so kompliziert?
    PHP-Code:
    <?php
    if($_POST['senden'] == 'senden'// Die Bedingung halt, wann es in die DB eingetragen werden soll
    {
     
    // Der Code zum Senden
     
    header('Location: '.$_SERVER['REQUEST_URI']); // Sollte eine Weiterleitung auf die im Browser aufgerufene Seite erstellen, nur eben ohne $_POST-Daten ;)
    }
    // Hie noch der Rest von Skript mit Formular und so
    ?>
    Sollte eigentlich so gehen (eine wie ich finde sehr einfache Methode)
    Hm, irgendwie geht das alles nicht so >_> Oder ich verstehs nicht, und mach was falsch.
    Aber gerade mit diesen ganzen Sessions und so kenn ich mich überhaupt nicht aus. Deswegen ists für mich ziemlich kompliziert in der Hinsicht >_>

    naja, wenn nicht, dann nicht ^^ So schlimm ists auch nicht, wenn ichs nicht drin hab, war ja nicht verlangt *g*

  12. #52
    Hm, meine Lösung hat eigentlich nix mit Sessions zu tun. Ich weiß aber auch nicht, wo der Fehler ist...
    Bei mir funktioniert es so. Ich such mal nach dem Code deines Gästebuchs im Thread und füge es dann da ein...

  13. #53
    Jo. Putten Orks Lösung ist standard und wird so auch in professionellen Scripten benutzt. So auch hier im Forum oder bei den newskommentaren oder Umfrageabstimmung auf Squarenet.

    Das es bei dir nicht funktioniert, July, könnte daran liegen das du vor der header()-Funktion bereits irgendwas an den Browser ausgibst.
    Es darf vor Headerfunktionen nichts an einen Browser ausgegeben werden. Weder leerzeichen noch einen Zeilenumbruch.
    Das Script muss mit <?php beginnen.

    Ansonsten wäre noch denkbar das die $_SERVER-Variablen gesperrt sind. Ist zwar seeeehr paranoid, aber man weiß ja nie...
    Notfalls kann man auch eine relative Adresse da angeben, wäre dann aber nicht HTTP 1.0 kompatibel AFAIR.

    BTW: Diese Funktion header('Location: '.$_SERVER['REQUEST_URI']);
    Ist eine Weiterleitung. Die Weiterleitung tritt auf Serverebene ein.
    Sendet der Client den Request, schickt der Server als Antwort nicht den HTML-Output sondern ledigich die Aufforderung zur Weiterleitung auf, in diesem Falle $_SERVER['REQUEST_URI'], welches der Adresse der angeforderten Seite entspricht. Also quasi ein Reload ohne das $_POST und $_GET-Varialen neu übergeben werden.

    Eine sehr schöne und saubere Methode um Neueinträge zu verhindern.

  14. #54
    Ja, mein Problem liegt wohl daran, dass ich das Gästebuch in eine Tabelle packen muss.
    Also ich musste letztes Jahr schon eine Website abgeben, die nur mit HTML und CSS erstellt wurde und auf Tabellen basiert. In die sollten wir jetzt unsere PHP-Sachen einbinden. Da sieht die Seite eben so aus, dass links ein Menü ist, und rechts ist eine große Tabellen-Zelle, in die dann eben der Code für das Gästebuch rein soll.

    Hatte gestern ganz kurz mit dead_orc gequatscht, der meinte, dass das in dem Fall dann nicht geht.

  15. #55
    Zitat Zitat von July
    Ja, mein Problem liegt wohl daran, dass ich das Gästebuch in eine Tabelle packen muss.
    Also ich musste letztes Jahr schon eine Website abgeben, die nur mit HTML und CSS erstellt wurde und auf Tabellen basiert. In die sollten wir jetzt unsere PHP-Sachen einbinden. Da sieht die Seite eben so aus, dass links ein Menü ist, und rechts ist eine große Tabellen-Zelle, in die dann eben der Code für das Gästebuch rein soll.

    Hatte gestern ganz kurz mit dead_orc gequatscht, der meinte, dass das in dem Fall dann nicht geht.
    Och doch. In bin mir recht sicher das das funktioniert.
    Nicht das ich Putten Orks Kompetenz in frage stellen würde, er hat sicherlich nur eine Möglichkeit übersehen.

    Wenn du es dennoch versuchen möchtest, sprech mich im MSN an. Dann schauen wir uns das nochmal zusammen an.

  16. #56
    Jo. Mit dem Reloadschutz ist July's Hausarbeit soweit fertig.
    Und ihr Helfer habt gezeigt, dass das Webentwicklerforum mit eins derer Foren ist die den besten Userservice bieten.
    Gute Arbeit Leute.


    @ Putter Ork:
    Ich hab die Headerweiterleitung eingebaut wie bereits im Thread angesprochen.
    Dazu musste ich die schreibenden MySQL-Funktionen, die ja nur ausgeführt werden, wenn sie noch vor der Headerweiterleitung stehen, nach oben, über die HTML-Ausgabe geholt und hab unten dran dann die Weiterleitung eingebaut.
    War nur verschieben eines größeren Codeblocks, umschreiben von 2 Codezeilen und hinzufügen von einer Codezeile.
    Eine Sache von 15 Minuten. 1-2 wenn ich nicht so viel gelabert hätte.

    Wenn du den finalen Code haben willst, musst du July fragen. Ich geb ihr Script nicht weiter, is ja nicht meins.

  17. #57
    Kaum versuch ich meine mageren PHP-Kenntnisse mal zu gebrauchen, klappt nichts mehr. :P
    Irgendwie will das hier nicht funzen:

    PHP-Code:
    $db mysql_connect($server,$user,$pass);
    mysql_select_db("cs15v2_logo"$db);
    $logo "SELECT * FROM cs15v2_logo";
    $result_logo mysql_query($logo);

    while(
    $row mysql_fetch_assoc($result_logo)) {
    echo 
    "$row[logourl]";


  18. #58
    Zitat Zitat von kris 'blizzard'
    Kaum versuch ich meine mageren PHP-Kenntnisse mal zu gebrauchen, klappt nichts mehr. :P
    Irgendwie will das hier nicht funzen:

    PHP-Code:
    $db mysql_connect($server,$user,$pass);
    mysql_select_db("cs15v2_logo"$db);
    $logo "SELECT * FROM cs15v2_logo";
    $result_logo mysql_query($logo);

    while(
    $row mysql_fetch_assoc($result_logo)) {
    echo 
    "$row[logourl]";

    Heh! Das ist nicht DEIN PHP-Frage-Thread.
    Frag July gefälligst ob du IHREN PHP-Frage-Thread benutzen darfst.

    Zu deiner Frage:
    Du musst erstmal lernen wie du deine Problemchen hier angibst.
    Wir brauchen Fehlermeldungen, Symptome und vielleicht noch etwas Beschreibung was du mit dem Script bewirken willst.
    Solange die Punkte nicht dabei sind, schau ichs mir gar nicht erst an. >__>

    BTW: Deine Tabelle aus der du mit dem SELECT-Statement auslesen willst heißt genau wie deine Datenbank (cs15v2_logo)?
    Prüf das nochmal nach ob die Tabelle oder die Datenbank nicht doch anders heißt.

  19. #59
    Dann wäre zu erwähnen, dass man lieber $row['logourl'] und nicht "$row[logourl]" schreiben sollte. Irgendwie bezweifel ich, dass letzteres überhaupt funzt (Nicht, dass ichs jemals probiert hätte... ich verwend immer mysql_fetch_object)

  20. #60
    Zitat Zitat von Chocwise
    Heh! Das ist nicht DEIN PHP-Frage-Thread.
    Frag July gefälligst ob du IHREN PHP-Frage-Thread benutzen darfst.
    Irgendwie hab ich keinen Bock gehabt nen neuen Thread aufzumachen!
    Und dann seh ich einen "Mein PHP-Frage Thread" hier rumgammeln und dann dacht ich, post ich doch einfach mal hier rein ^___^

    Problem wurde gelöst! Trotzdem danke für die Hilfe oÔ!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •