1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Kontrollieren bitte :)

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von reimic, 01.01.07.

  1. reimic

    reimic Stina Lohmann

    Dabei seit:
    31.08.06
    Beiträge:
    1.036
    Hallo,
    Ich tüftle schon seid Stunden und komm einfach nicht auf den Fehler drauf. Die Verbindung zu Datenbank funktioniert sicher aber ich kann mit diesem Script nichts eintragen. Wenn ich auf Hinzufügen klicke kommt nichts..
    Vielleicht findet ihr einen Fehler:
     
  2. Datschi

    Datschi Reinette de Champagne

    Dabei seit:
    08.11.04
    Beiträge:
    417
    versuch deine if-Abfrage mal mit:
    Code:
    if ($_REQUEST['gesendet'])
    {
    .
    .
    .
    }
    
    Denn normalerweise wird die Variable, die der Button übergibt (wenn man das so sagen kann) so benannt. Du kannst es auch noch mit isset versuchen:

    Code:
    if(isset($_REQUEST['gesendet']))
    {
    .
    .
    .
    }
    
    Ansonsten google einfach mal nach "Formulardaten an php-Skript übergeben"
    Da dürftest du was finden.

    Ansonsten solltest du noch die Variablennamen im deiner Query ändern.
    Die müssten nach der Übergabe nämlich alle nach dem Muster

    Code:
    $_POST['id'], $_POST['name'], $_POST['date'], etc....
    
    aufgebaut sein.

    Viel Erfolg und frohes neues!

    Der Datschi
     
  3. reimic

    reimic Stina Lohmann

    Dabei seit:
    31.08.06
    Beiträge:
    1.036
    Hallo Datschi!

    VIELEN DANK!! Das war genau der Hinweis den ich gebraucht habe. Durch deinen Tipp bin ich auf "register_globals" gekommen. Ich hab zwar vorher gewusst für was die sind aber ich bin einfach nicht drauf gekommen!
    Hab das dann so gemacht wie du beschrieben hast und es hat perfekt funktioniert!

    Bin Mittlerweile mit meinem Projekt fertig. :)

    Und wünsch dir auch ein schönes neues Jahr.
    Lg michi
     
  4. kauan

    kauan Stina Lohmann

    Dabei seit:
    31.12.05
    Beiträge:
    1.043
    Hallo reimic

    Noch etwas, du solltest dich unbedingt vor SQL-Injections schuetzen.
    Was das genau ist und wie man sich davor schuetzt, sagt dir der Link.
    Uebrigens kannst du Programmcode innerhalb des Forums mittels der folgenden Tags formatiert ausgeben:
    [code ]...[/code]
    Auch ansonsten wuerde ein bisschen Einrueckung und Struktur deinem Code nicht schaden :)

    gruss
    Jonathan
     
  5. reimic

    reimic Stina Lohmann

    Dabei seit:
    31.08.06
    Beiträge:
    1.036
    Hallo

    Ich habe schon wieder ein Problem und komm nicht weiter. Der Code schaut so aus:

    Code:
    <html><head>
    <link rel="stylesheet" type="text/css" href="style.css">
    </head><body>
    <?php 
    include('config.php');
    $conn = mysql_connect("$db_host", "$db_user", "$db_pass") or die("Failed to connect to mysql server");
    mysql_select_db("$db_name", $conn);
     
    $result = MYSQL_QUERY("SELECT * from $table1 ORDER BY name ASC") or die ("Fatal Error");
    $num = mysql_num_rows($result); 
       if ($num==0){
     echo "noch keine Einträge vorhanden.";
     die();}
       echo "<center><table border=1 cellpadding=4 cellspacing=0 bordercolor='#000000' style='border-collapse: collapse;'>";
    echo "<tr bgcolor='#CCCCCC'><td><b>Name</b></td><td><b>Operate Time</b></td><td><b>Location</b></td></tr>";
    for ($i=0; $i<$num; $i++)
       {
          $id = mysql_result($result, $i, "id");
     $name = mysql_result($result, $i, "name");
          $namelink = mysql_result($result, $i, "namelink");
          $date = mysql_result($result, $i, "date");
          $datelink = mysql_result($result, $i, "datelink");
          $stelle_id = mysql_result($result, $i, "stelle");
    //-----------------
    $result3 = MYSQL_QUERY("SELECT * from $table2 WHERE id='$stelle_id'") or die ("Fatal Error");
    $num3 = mysql_num_rows($result3);
       for ($a=0; $a<$num3; $a++) {
     $stelle = mysql_result($result3, $a, "stelle");   
    $stellelink= mysql_result($result3, $a, "stellelink"); 
       
    //-----------------
    echo "<tr>
     
     <td><a href='$namelink'>$name</a></td>
     <td><a href='$datelink'>$date</a></td>
     <td><a href='$stellelink'>$stelle</a></td>
     
         </tr>";}
     }
    echo "</table></center>";
    ?>
    </body></html>
    
    Das ganze soll nur Werte aus der Datenbank ausgeben. Ich weiß im Prinzip auch wo mein Fehler liegt und zwar bei $result3. Also alles was zwischen "//----------" liegt.
    Ich weiß nicht wie ich in einem Query NOCH ein Query mache. Also wo soll ich $result3 hinschreiben das er beides richtig ausließt?

    Danke! :)
     
  6. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
    Zu dem Quelltext: Uaaah. :D

    Zu der Frage: Ich vermute, Du möchtest zwei Tabelle gleichzeitig abfragen, wobei in beiden Tabellen eine gemeinsame Ordnungszahl, 'stelle' aus Tabelle #1 und die korrespondierende Ordnungszahl 'id' aus Tabelle #2 eine sinngemäße Verbindung herstellt.

    Hierbei kommt es nun ein wenig darauf an, ob es eine Beziehung darstellt, die jeweils in beiden Tabellen nur einmal vorkommt (Eins-zu-Eins-Relation), oder in der einen Tabelle nur einmal, in der anderen aber mehrfach (Eins-zu-N-Relation oder N-zu-Eins-Relation).

    Probier einmal dazu diese Abfragen aus (am besten in phpMyAdmin oder via Konsole):
    n-1
    SELECT * FROM tabelle1 LEFT JOIN tabelle2 ON(tabelle1.stelle=tabelle2.id);

    1-n
    SELECT * FROM tabelle2 LEFT JOIN tabelle1 ON(tabelle2.id=tabelle1.stelle);

    n-n
    SELECT * FROM tabelle1, tabelle2 WHERE tabelle1.stelle=tabelle2.id;
     

Diese Seite empfehlen