Seite 2 von 3

Re: PHP links ?

Verfasst: 03.01.2010 13:21
von Bones van Helghast
mad-manne hat geschrieben:Du musst die gewünschte Funktionalität wohl oder übel programmieren!

Du scheinst dem Trugschluss zu unterliegen, dass die Übergabe von Parametern(in deinem Fall per GET) an ein PHP-Skript bereits irgendetwas in dem Zielscript auslösen würde!
Dem ist aber überhaupt nicht so ... das Script muss die übergebenen Parameter "übernehmen" und dann was auch immer damit tun. Und für dieses "was auch immer" bist du als Programmierer zuständig.

Du solltest also wirklich dringend erstmal einige der weiter oben genannten Tipps beherzigen und zunächst einfache PHP-Beispiele durcharbeiten, damit du diese Grundlagen verstehst, bevor du aufwendigere Sachen programmieren willst!

Gruss,
Manne.
Richtig die einfache PHP-Beispiele durcharbeiten... Aber welche denn ? Nehme ich die Beispiele von oben genannt sind das auch nur wieder schnipsel die mich nicht weiter bringen.
Schauen wir uns mal selfhtml.org an die Seite ist super aufgebaut es wird alles klasse erklärt und es werden auch beispiele gegeben. Dort blickt auch ein reudiger anfänger durch.
Sowas hab ich bisher noch nie in PHP gesehen... Darum ist es warscheinlich auch so dass ich das noch nicht kann weil es für anfänger wirklich zu schlecht erklärt wird...

Re: PHP links ?

Verfasst: 05.01.2010 01:07
von gn#36
Es gibt sogar ganze Bücher dazu die online kostenfrei zur Verfügung stehen (auch wenn php 4 inzwischen vielleicht nicht mehr ganz auf dem Stand der Dinge ist, die Grundlagen haben sich ja nicht geändert): http://openbook.galileocomputing.de/php4/

Das Teil kaut alles an Grundlagen bis ins kleinste Detail durch, und zwar schön strukturiert nach Themengebieten inklusive der Datenbankanbindung, ich vermute mal dass das meiste auch weiterhin gültig bleibt (Kapitel zur Objektorientierten Programmierung kann man sich ggf. sparen da die definitiv in PHP 5 grundlegend geändert wurde).

Re: PHP links ?

Verfasst: 05.01.2010 01:26
von Mahony
Hallo
Wenn es auch etwas Geld kosten darf, kann ich dir die Videos von Video2Brain ans Herz legen (einfach mal googlen). Die kosten zwar etwas, aber da wird dir auch alles nötige genau erklärt.
Ansonsten kann ich dir noch das PHP 5 Praxisbuch und Referenz (Studienausgabe mit 1150 Seiten) empfehlen. Das Buch habe ich mir damals auch gekauft und es enthält wirklich so ziemlich alles über PHP 5. Zum Nachschlagen, ist so ein Buch überaus wertvoll.


Grüße: Mahony

Re: PHP links ?

Verfasst: 05.01.2010 01:35
von gn#36
Dem kann ich nur zustimmen (auch wenn ich ein anderes Buch besitze), selbst wenn man sich irgendwann damit auskennt kann man in den fortgeschrittenen Themen der richtigen Bücher trotzdem immer noch den einen oder anderen Trick finden. Mich hat meines z.b. darauf gebracht den Error Handler von php durch eine selbstgestrickte Version zu ersetzen die mir dann alle Dinge die ich so brauche in einem vernünftigen Format in die Datenbank schreibt und die SQL Fehler usw. was üblicherweise eigentlich ja nicht geloggt würde gleich dazu.

Zumindest wenn man was vernünftiges aus den Büchern lernen möchte finde ich die Papierform immer noch besser als dauerhaft am Bildschirm zu sitzen, das tut man auch so noch genug.

Re: PHP links ?

Verfasst: 05.01.2010 11:07
von Hexcode
Zum Nachschlagen, ist so ein Buch überaus wertvoll.
Naja... also bis ich in meinen Büchern was gefunden hab hab ich per Googel in 10 sekunden gefunden da die meisten Fragen irgendwo im Web erklärt werden. Bzw. es ja auch das php-refrenzhandbuch gibt, so kann man sich für jede Funtkion schnell die Parameter etc. aneignen...
Btw. um zu überprüfen ob z.b. $_GET['section'] gegeben ist kannst du

Code: Alles auswählen

if(isset($_GET['section))
{
 echo "ist da";
}
else
{
 echo "ist nicht da";
}
zum überprüfen ob das GET z.b. news ist geht wie normal auch:

Code: Alles auswählen

if($_GET['section] == "news")
{
}

Re: PHP links ?

Verfasst: 05.01.2010 13:03
von gn#36
Natürlich kann man alles was man gerade so braucht aber nicht im Kopf hat im Internet nachsehen das mache ich auch so. Wenn man aber noch kein grundlegendes Verständnis für die Sprache hat halte ich ein Buch für sinnvoller, ebenso wenn man sich neue Programmierkonzepte aneignen möchte oder einfach nur auf der Suche nach neuen Ideen ist. Ein Buch beschreibt das meist viel genauer als die Beschreibungen im Internet so dass man auch den Sinn/Unsinn gewisser Konstrukte vermittelt bekommt. Als Funktionsreferenz wenn ich gerade mal nicht weiß in welcher Reihenfolge [php:str_replace] seine Parameter erwartet oder wie jetzt genau die Funktion hieß mit der man ein Verzeichnis öffnen und systematisch durchsuchen kann braucht man kein Buch (auch wenn man Probleme wie zweiteres obiges möglicherweise im Buch wenn man es komplett durchgelesen hat schneller finden könnte als im Internet wenn man keine Idee hat und schlechte Suchbegriffe verwendet).

Re: PHP links ?

Verfasst: 06.01.2010 15:21
von Bones van Helghast
Ai-Caramba.
Ich hab mal mit etwas leichtem angefangen und mal etwas zusammen geschrieben dass einen ganzen Datensatz aus einer Tabelle entfernen soll.
Nachdem ich mal euere Beiträge n bisschen zusammen gelesen hab und auch die Links durchgeschaut hab ist nun folgendes dabei raus gekommen.
Es gibt eine andere Seite wo man Datensätze eingibt diese werden dann in einer Tabelle gespeichert (ACP)
Es gibt eine andere Seite wo alle Daten ausgegeben werden aber man sie auch gleichzeitig löschen kann (ACP)
Es gibt eine andere Seite wo eine Sicherheitsabfrage und die Funktion zum eintrag löschen ausgegeben wird. (ACP)
Es gibt ein eine andere Seite wo die Daten ausgegeben werden in einer Tabellenübersicht
Die Tabellenübersicht und das Eintragen funktioniert das Löschen (Mit so einem Link :wink: ) Funktioniert leider noch nicht... es wird nach dem ID= keine Datensatz-ID eingefügt...
deletetodo.func.php (Die Datei die alles ausführt und die Sicherheitsabfrage hat)

Code: Alles auswählen

								<?php
$id = $_GET[ID];
$loeschen = $_GET[Loeschen];

if ($loeschen == 1) {
$abfrage = mysql_query("SELECT * FROM todo WHERE ID = '$id' LIMIT 1");

$row = mysql_fetch_object($abfrage);

echo "<h3>Sicherheitsabfrage</h3>";
echo "<p>$row->text</p>";
echo "<p><a href=\"deletetodo.func.php?ID=$id&Loeschen=2\" target=\"_self\">Löschen</a></p>";
	}
if ($loeschen == 2) {
$do_it = mysql_query("DELETE FROM todo WHERE ID = '$id' LIMIT 1");
if ($do_it) {
echo "<p>Eintrag wurde erfolgreich gelöscht und ist nicht mehr in der Datenbank vorhanden.</p>";
			} 
            else 
            { echo "<p>Fehler beim Löschen der Daten:</p>"; }
            
echo "<p><a href=\"deletetodo.php\">Einträge anzeigen</a></p>";
					}
?>

deletetodo.php (Datei die alles ausgibt + Links zum löschen):

Code: Alles auswählen

								<?php
								include '../connect.php';
								
								$abfrage = mysql_query("SELECT * FROM todo");
								while ($row = mysql_fetch_object($abfrage)) {
								$id = $row->ID;
								echo "<table style=width:100%>";
								echo "<tr>";
								echo "<td align=center style=width:33%>&nbsp;</td>";
								echo "<td align=center style=width:33%>&nbsp;</td>";
								echo "<td align=center style=width:33%>&nbsp;</td>";
								echo "</tr>";
								echo "<tr>";
								echo "<td align=center style=width:33%></td>";
								echo "<td align=center style=width:33%>";
								echo $row->text;
								echo "</td>";
								echo "<td align=center style=width:33%><a href=\"deletetodo.func.php?ID=$id&Loeschen=1\" target=\"_self\">Eintrag löschen</a></td>";
								echo "</tr>";
								echo "</table>";
								echo "<hr>";
								    }
								if (mysql_num_rows($abfrage) == 0) { echo "<p>Keine Einträge vorhanden.</p>"; }


								?>
Kann mir einer sagen wo das Problem liegt dass an der stelle deletetodo.func.php?ID=$id&Loeschen=1 wenn es ausgeführt werden soll keine ID steht ?
Bei der ausgabe steht dann:
deletetodo.func.php?ID=&Loeschen=1
also fehlt die ID die dafür sorgt dass der Datensatz angewählt wird und anschließend gelöscht wird... Klicke ich dann auf bestätigung der sicherheitsabfrage ("Löschen") kommt dieser text:
Eintrag wurde erfolgreich gelöscht und ist nicht mehr in der Datenbank vorhanden.
aber der datensatz ist immernoch in der Tabelle vorhanden ?

Re: PHP links ?

Verfasst: 06.01.2010 15:32
von Hexcode
Also ich hab grad nicht alzugenau gelesen, aber jede eingabe die in ne DB kommt ist potentiel unsicher.
Also mach aus eingaben die in die DB kommen wie z.b.

Code: Alles auswählen

$id = $_GET[ID];
lieber

Code: Alles auswählen

$id = mysql_escape_string($_GET[ID]);
in deinem letzten geposteten code muss das so aussehen:

Code: Alles auswählen

$id = $row['id'];
bzw. auch aus dem

Code: Alles auswählen

echo $row->text;
das machen

Code: Alles auswählen

echo $row['text'];

Re: PHP links ?

Verfasst: 06.01.2010 15:39
von Pyramide
Ein genereller Tipp: select * is evil

Re: PHP links ?

Verfasst: 06.01.2010 15:42
von Hexcode
Jip, weil * alles abfragt und langsamer ist als wenn bei beispielsweise select ìd`,`text` macht