• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Text in einer Tabelle von User hinzufügen

Hallo,

ich wollte wissen, wie ich eine Seite (z. B. seite1.php) so programmiere, dass ein Benutzer einen Namen und freiwillig den Skype-Namen angeben kann und dadurch in eine Tabelle (z. B. seite2.php) eingetragen wird.
Der Skype-Name sollte dann so eingefügt werden:

<!--Skype 'Zu Skype hinzufügen' button Get a Skype button -->
<script type="text/javascript" src="http://download.skype.com/share/skypebuttons/js/skypeCheck.js"></script>
<a href="skype:SKYPENAME?add"><img src="http://download.skype.com/share/skypebuttons/buttons/add_green_white_194x52.png" style="border: none;" width="194" height="52" alt="Zu Skype hinzufügen" /></a>


Danke schonmal für Hilfe!


Grüße
 
Zuletzt bearbeitet:
Du solltest alle Namen in einer MySQL-Datenbanktabelle oder reinen Textdatei speichern. Diese kannst Du dann auf der Seite die sie ausgeben soll einlesen und ausgeben.
 
Ok danke!

Aber ist das nicht irgendwie unsicher, wenn ich da mein MySQL-Passwort zum Verbinden eintragen muss? Also das es jeder im Seitenquelltext sehen kann?
Was kann ich dagegen machen?
 
Da PHP serverseitig geparst wird, sieht niemand deine PHP-Programmierung und somit auch nicht dein Passwort.
 
Ok danke!

Ich habe mich nun an die Anleitung "gehalten" und bekomme folgenden Fehler
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /data/multiserv/users/576268/projects/2371875/www/site.php on line 57
Line 57 = while($row = mysql_fetch_object($ergebnis))

Kann es sein das ich $row festlegen muss?

Grüße
 
Mit diesem kurzem Quellcode-Ausschnitt können wir nichts anfangen, außer dir zu sagen, dass in $ergebnis nicht das drinsteht, was drinstehen sollte. Deine DB-Abfrage geht in die Hose.
 
Ok, ich hatte einen Tastendreher drinnen.

Allerdings wird mir an der entsprechenden Stelle nichts mehr angezeigt.

Hier der Komplette Seiten-Code:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
    <style type="text/css">
        html, body {
            background-repeat: repeat;
        }
        #top {
            background-image: url(http://www.website.co.de/i/top-home.png);
            background-repeat: no-repeat;
            background-position: center;
            width: 102%;
            height: 10%;
            margin:-10px;
            padding:-10px;
            padding-left: -10px;
            padding-top: -10px;
            -moz-background-size:100% 100%; /* Firefox */
            -webkit-background-size:100% 100%; /* Safari, Chrome */
            background-size:100% 100%; /* Opera, IE, W3C Standard */
        }
        #hinv {
            background-image: url(http://www.website.co.de/i/hinv.png);
            background-repeat: repeat;
        }
   </style>
</head>
<body background="http://www.website.co.de/i/hintergrund.png">
        <div id="top" align="center">
        <img src="http://www.website.co.de/i/inv.png" width="12%" height="5%">
        <a href="http://www.website.co.de/index.php"><img src="http://www.website.co.de/i/inv.png" width="7%" height="5%"></a>
        <img src="http://www.website.co.de/i/inv.png" width="3%" height="5%">
        <a href="http://www.website.co.de/index.php"><img src="http://www.website.co.de/i/inv.png" width="15%" height="5%"></a>
        <img src="http://www.website.co.de/i/inv.png" width="3%" height="5%">
        <a href="http://www.website.co.de/index.php"><img src="http://www.website.co.de/i/inv.png" width="22%" height="5%"></a>
        <img src="http://www.website.co.de/i/inv.png" width="2%" height="5%">
        <a href="http://www.website.co.de/index.php"><img src="http://www.website.co.de/i/inv.png" width="8%" height="5%"></a>
        <img src="http://www.website.co.de/i/inv.png" width="3%" height="5%">
        <a href="http://www.website.co.de/index.php"><img src="http://www.website.co.de/i/inv.png" width="9%" height="5%"></a>
        <img src="http://www.website.co.de/i/inv.png" width="12%" height="5%">
        <br>
        <a href="http://www.website.co.de/index.php"><img src="http://www.website.co.de/i/inv.png" width="40%" height="12%"></a>
        <br><br><br>
    </div>
    <div align="center">
        <?php
            mysql_connect("localhost","user123456","passwort");
            mysql_select_db("db1234567-main");
            $abfrage = "SELECT 1, 2 FROM list1";
            $ergebnis = mysql_query($abfrage);
            $ergebnis = mysql_query("SELECT 1, 2 FROM list1");
            while($row = mysql_fetch_object($ergebnis))
            {
            echo $row->url;            
            }        
        ?>
    </div>
</body>
</html>
 
Deine Tabellenspalten heißen aber doch wohl nicht wirklich 1 und 2, oder? Und wieso schickst du die Abfrage doppelt ab?
 
Die Spalten heißen nicht 1 und 2, aber ich wollte das einfach ein bischen "Privat" halten ;)

Also die Abfrage schick ich doppelt ab, weil ... naja das wurde so im "PHP für dich" erklärt, ich dachte das ist notwendig.

Weiß jemand wo der Fehler seien könnte?
 
Ok. Ich verstehe ehrlich gesagt nicht wofür das genau nötig ist, aber hier der Komplette Code*:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
    <style type="text/css">
        html, body {
            background-repeat: repeat;
        }
        #top {
            background-image: url(http://www.yay-clan.co.de/i/top-home.png);
            background-repeat: no-repeat;
            background-position: center;
            width: 102%;
            height: 10%;
            margin:-10px;
            padding:-10px;
            padding-left: -10px;
            padding-top: -10px;
            -moz-background-size:100% 100%; /* Firefox */
            -webkit-background-size:100% 100%; /* Safari, Chrome */
            background-size:100% 100%; /* Opera, IE, W3C Standard */
        }
        #hinv {
            background-image: url(http://www.yay-clan.co.de/i/hinv.png);
            background-repeat: repeat;
        }
            </style>
</head>
<body background="http://www.yay-clan.co.de/i/hintergrund.png">
        <div id="top" align="center">
        <img src="http://www.yay-clan.co.de/i/inv.png" width="12%" height="5%">
        <a href="http://www.yay-clan.co.de/index.php"><img src="http://www.yay-clan.co.de/i/inv.png" width="7%" height="5%"></a>
        <img src="http://www.yay-clan.co.de/i/inv.png" width="3%" height="5%">
        <a href="http://www.yay-clan.co.de/index.php"><img src="http://www.yay-clan.co.de/i/inv.png" width="15%" height="5%"></a>
        <img src="http://www.yay-clan.co.de/i/inv.png" width="3%" height="5%">
        <a href="http://www.yay-clan.co.de/index.php"><img src="http://www.yay-clan.co.de/i/inv.png" width="22%" height="5%"></a>
        <img src="http://www.yay-clan.co.de/i/inv.png" width="2%" height="5%">
        <a href="http://www.yay-clan.co.de/index.php"><img src="http://www.yay-clan.co.de/i/inv.png" width="8%" height="5%"></a>
        <img src="http://www.yay-clan.co.de/i/inv.png" width="3%" height="5%">
        <a href="http://www.yay-clan.co.de/index.php"><img src="http://www.yay-clan.co.de/i/inv.png" width="9%" height="5%"></a>
        <img src="http://www.yay-clan.co.de/i/inv.png" width="12%" height="5%">
        <br>
        <a href="http://www.yay-clan.co.de/index.php"><img src="http://www.yay-clan.co.de/i/inv.png" width="40%" height="12%"></a>
        <br><br><br>
    </div>
    <div align="center">
        <?php
             mysql_connect("localhost","user2371875","-passwort-");
            mysql_select_db("db2371875-main");
            $abfrage = "SELECT Name, Skype FROM Admins";
            $ergebnis = mysql_query($abfrage);
            $ergebnis = mysql_query("SELECT Name, Skype FROM Admins");
            while($row = mysql_fetch_object($ergebnis))
            {
            echo $row->url;
            }
        ?>
    </div>
</body>
</html>


*passwort ausgeschlossen ;)
 
Du hast immer noch 2x mysql_query drin!! Und da sollte dir was auffallen:

"SELECT Name, Skype FROM Admins"

echo $row->url;

Richtig debuggen

  1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
  2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
  3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
  4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
  5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
  6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
  7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
  8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
  9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
 
Ok vielen dank bishierhin funktioniert nun alles!

Allerdings würde ich die Ergebnisse nun gerne untereinander aufgelistet haben, momentan sind sie nebeneinander.


Außerdem hier mal eine Stelle aus dem Code den ich zum eintragen benutze (basierend hierauf):
Die Stelle
PHP:
if ($name == "") {
echo "Du hast das Feld nicht ausgefüllt...";
} else {
würde ich gerne durch
PHP:
if ($name == "") {
header("Location: http://www.yay-clan.co.de/eintragen.php");
} else {
ersetzen, das funktioniert aber nicht, da schon eine anfrage versendet wird (oder?).
Also das man wieder auf die Ausgangsseite kommt.


Grüße
 
Zuletzt bearbeitet:
Ok.

Ein Zeilenumbruch bekommt man natürlich mit <br> hin, ich hatte nur einen kleinen Logik-Fehler gemacht.


Ähm, was funktioniert nicht?
Wenn man beim eintragen in die Tabelle beim Namen nichts angegeben hat, soll man zurück auf die Seite zum eintragen geleitet werden (ggf. mit Fehlermeldung)
Also ich wüsste gerne wie das geht, da
PHP:
(...)  if ($name == "") {
header("Location: http://www.yay-clan.co.de/eintra.html");
} else {  (...)
nicht funktioniert.

Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at /data/multiserv/users/576268/projects/2371875/www/eintragen.php:3) in/data/multiserv/users/576268/projects/2371875/www/eintragen.php on line 10
 
Wieso wird denn überhaupt was ausgegeben? Und wo das Problem liegt, verrät dir PHP doch auch.
 
Ja wenn man im Feld "Name" nichts eingibt, soll etwas ausgegeben werden: Die weiterleitung auf die Eingabeseite.

Soweit ich verstehe bedeutet die Fehlermeldung, dass momentan einen header-information gesendet wird und deshalb keine weitere gesendet werden kann.
 
Du hast dein Script falsch aufgebaut, bemühe mal google mit dem Begriff Affenformular
 
Zurück
Oben