<?
$select = mysql_query("SELECT `id` FROM `pm` WHERE `recieve_id` = '". $user['id'] ."' AND new = '0' ORDER BY date DESC") or die(mysql_error());
if(mysql_num_rows($select) > 0 AND $_GET['page'] != "pm_inbox.php" AND $_GET['page'] != "pm_delete.php" AND $_GET['page'] != "pm_read.php" AND $_COOKIE['pm_alert'] == 1){
?>
<script language="javascript">
if(confirm('<?=$pm['alert_new_pm']?>')){
window.open('index.php?page=pm_inbox.php', '_self', '');
}else{
document.cookie = "pm_alert=0";
}
</script>
<?
}
?>
<?
$select=mysql_query("SELECT `id` FROM `pm` WHERE `recieve_id` = '".$user['id']."' AND new = '0' ORDER BY date DESC") or die(mysql_error());
if(mysql_num_rows($select)>0 AND $_GET['page']!="pm_inbox.php" AND $_GET['page']!="pm_delete.php" AND $_GET['page']!="pm_read.php" AND $_COOKIE['pm_alert']==1){
- `-tekens niet meer in je queries gebruiken
- Cijfers mogen niet tussen quotes. Ook niet in queries. Dus niet '" . $user['id'] . "' maar " . $user['id'] . ". new = '0' wordt dus new = 0
- Gebruik geen or die(), maar werk met if-else
- Vervang AND en OR door resp. && en ||
- language="javascript" mag je volgens mij niet meer gebruiken. Gebruik dus type="text/javascript"
Je hebt een confirm-box, een venster met een OK- en Annuleren-button.
- ` tekens ` , maken het juist netter!
- Ok, kan
- PURE ONZIN, juist met een or die(); zie je meteen waar de fout ligt.
- Hoeft niet, AND en OR ... is precies hetzelfde als && en ||
"javascript" doet het gewoon :/
Maar dit is niet wat ik vroeg. Ik vroeg waarom die doorstuur zin niet werkte.
Ik sta hier niet te bazelen, maar ik probeer je wat te leren.
Je moet niet per definitie afgaan op hetgeen werkt, maar je moet ook kijken of je netjes werkt. Als je netjes werkt, los je al heel veel fouten op. Weleens van syntax gehoord? Lees er alles over op http://www.yapf.net/faq.php/100/839.
Henry, dat van or die(); of een if-else structuur vind ik eigenlijk ook nergens op slaan...
Daar kun je over door blijven gaan, omdat de een or die(); gebruikt, maar een ander gebruikt if-else.
Is zo'n beetje hetzelfde als het plaatsen van je accolades.
Ik plaats ze zo:
Die backticks, tsjah, ikzelf gebruik ze ook liever niet, maar een ander wel omdat zo de kolomnamen duidelijk(er) zijn 'aangegeven'.
Dat van die cijfers tussen quotes geef ik je volledig gelijk in, cijfers horen niet tussen quotes.
En die AND/OR of &&/||, op php.net staan ze allebei, dus dat maakt (lijkt mij) niet uit.
@Martijn1515, ik denk dat je beter window.location kunt gebruiken i.p.v. window.open.
window.open is voor een popup, window.location stuurt je in hetzelfde venster door naar de pagina.
Dus in jouw geval word het dan iets als:
<?
$select = mysql_query("SELECT `id` FROM `pm` WHERE `recieve_id` = '". $user['id'] ."' AND new = '0' ORDER BY date DESC") or die(mysql_error());
if(mysql_num_rows($select) > 0 AND $_GET['page'] != "pm_inbox.php" AND $_GET['page'] != "pm_delete.php" AND $_GET['page'] != "pm_read.php" AND $_COOKIE['pm_alert'] == 1){
?>
<script language="javascript">
if(confirm('<?=$pm['alert_new_pm']?>')){
window.location='index.php?page=pm_inbox.php';
}else{
document.cookie = "pm_alert=0";
}
</script>
<?
}
?>
<?
$select=mysql_query("SELECT `id` FROM `pm` WHERE `recieve_id` = '".$user['id']."' AND new = '0' ORDER BY date DESC") or die(mysql_error());
if(mysql_num_rows($select)>0 AND $_GET['page']!="pm_inbox.php" AND $_GET['page']!="pm_delete.php" AND $_GET['page']!="pm_read.php" AND $_COOKIE['pm_alert']==1){
En dus NIET met een 'or die()', want 'or die()' stopt het script en dat is nooit wat je wilt. Niet tegensputteren, je wilt het echt niet: scripts worden op twee manieren gemaakt; met templates die worden geprint als alle queries klaar zijn, of door HTML te printen tussen de queries door. In het eerste geval zou 'or die' betekenen dat er helemaal niets wordt geprint (lege pagina) en in het tweede geval zou door 'or die' de pagina halverwege gewoon ophouden.
Aan geen van de twee heb je iets, dus gebruik geen 'or die'.
@ Henri : Dat is de standaart, waar een aantal mensen zich aan houden. Ik vind wat ik doe standaart, dat gebruiken ook zoveel mensen. Het is net wat je lekker vind werken.
Dus die popup blocker was wel het euvel.
Die window.open zorgt voor een popup, en aangezien die niet kwam moest het wel een popup blocker zijn...
En Henry, ik val je helemaal niet af hoor
Ik vind het gewoon onnuttig om over die discussie door te gaan, daar kun je volledige website's mee vol stoppen met meningen van waarom or die(); en waarom if-else.
Ikzelf gebruik het liefste if-else, maar als er iemand anders or die(); fijner vind, en dus gebruikt, moet die iemand anders dat zelf weten...